
Shopify gives merchants an option to organize related colors together on a single swatch row, and Shopify Plus merchants already have access to this feature. What’s lesser known is that there is a second approach Shopify provides to merchants to organize related colors together on the product detail page, and it’s accessible on every plan , including the Basic plan. This largely under-appreciated feature could cost store owners nearly two-thousand dollars a year in unnecessary subscription fees.
So what Shopify combined listings metaobject shopify app to choose? That’s a question for the customers on the gold and infinity plans, worried about customizing the swatch functionality of the Product Swatch combined listings feature, and care about the future upgrade to combined inventory feature on the shopify platform. In this article, we’ll discuss the strengths and weaknesses of using a combined listings metaobject shopify app and how the native implementation fares in terms of usability and upgradability.
First of all, we must confess our bias up front in that we built a 3D metaobject viewer from a Rubik’s Cube – the Rubik Combined Listings. But we’re not nuts and there are times when the native Plus app is better suited for your needs. We’ll discuss those times as we go along.
Table of Contents
- What metaobjects actually are
- How native Combined Listings works under the hood
- How metaobject-based grouping works
- Side-by-side comparison
- Why metaobject apps don’t need Plus
- When native is the right call
- When Rubik Combined Listings is the right call
- Migration between the two
- FAQ
What metaobjects actually are
Metaobjects were recently released as Shopify’s structured custom data solution. Metaobjects allow you to create custom database tables that exist within a Shopify store. Essentially metaobjects are the grown-up cousin of metafields. Whereas metafields allow you to add one custom field at a time to individual resources such as products, product variants or collections, a metaobject is a self contained record with its own fields, references and even its own storefront API access.
Metaobjects in the wild: sizing charts, ingredient lists, store locations, author info, FAQs, lookbook entries. And yes, product groups.
Metaobjects are stored on the Shopify host and searchable within the site itself, as opposed to an external server. They can be accessed via the Storefront API and also in Liquid. They are viewable in the theme files and blocks, and dynamically updated at runtime, synchronized immediately when changed in the admin. This is a major advantage over the methods described below.
How native Combined Listings works under the hood
The functionality known as Combined Listings is a part of the Shopfip platform; however, as of the publication of this document it is a feature that is only available to Plus administration. The parent product would first be created, and then the child products would be associated with the parent. On the 7 Shop website the parent product would be displayed with the child products as variants on the product information page, and on the catalog and search pages the child products would be listed separately – each with their own url and their own metadata. Each child product would also have its own imageset. This strategy can aid in organic search. It “organizes” the variants, effectively creating a hub around the parent product.
Shopify uses a product reference list on the parent object to keep track of the child products that are associated with it. The theme generates the swatches from the standard variant picker UI and the child switching is managed by Shopify’s JavaScript. If your theme supports Combined Listings (most Online Store 2.0 themes do), you can have the native swatch row rendered automatically without any extra code.
Shopify Plus has a reputation for being overpriced for small to medium sized stores. Yes, it does offer some features that are worth the cost (such as Combined Listings) but many of the features that Plus offers can be had with Shopify for a small monthly fee. Not to mention that native swatch options are limited to what your theme can do. Rounded corners, image swatches instead of colors, a carousel layout – all of these can be achieved with a few lines of Liquid or with the help of a developer.
How metaobject-based grouping works
Most merchants aren’t aware of this one. The Rubik Combined Listings app creates a custom metaobject type inside your store, product_group. Product_group metaobjects have a list of product references (the grouped products), and a few config fields for swatch color, image, label, and ordering.
When you link products within the Rubik admin, the app will create a new metaobject entry within your store. This information is not stored on an external database but within your own Shopify store backend. You can query this information within Liquid templates and can view the information within your own admin under Content > Metaobjects. If you uninstall the app tomorrow, you will still be able to view the groups you created.
Rather than putting the Rubik metaobject to work on the backend to render storefront displays for a collection of products, the theme instead adds a theme app block to the store homepage with an app title like “Recent Products”. The theme app then queries the metaobject references for the page to load and uses that metaobject’s data to generate the swatch for each group of relevant products. Note that the theme has access to the metafield containing the product references for the current product and can pull that data with the rest of the page. No API calls are made, there’s no need for a loading spinner or to worry about race conditions.
This is the same pattern Shopify uses for their native features. Not a hack, this is how you’re supposed to use metaobjects.
Side-by-side comparison
| Factor | Native Combined Listings | Metaobject-based (Rubik) |
|---|---|---|
| Plan required | Shopify Plus only | Basic, Grow, Advanced, Plus |
| Monthly cost | ~$2,300/mo (Plus fee) | $0 free, $10 Starter, $30 Advanced, $50 Premium |
| Group count | Unlimited | Up to 5,000 groups on Premium |
| Swatch customization | Theme default only | 70+ CSS variables, per-group settings |
| Theme compatibility | OS 2.0 themes that added support | 350+ themes, 7 page builders |
| Collection page swatches | Via theme (limited) | Yes, built in |
| AI auto-grouping | No | Yes (AI Magic Fill) |
| Render performance | Native, no extra JS | Metafield-based, no external calls |
| SEO impact | Each child keeps own URL | Each child keeps own URL |
| Data portability | Shopify product refs | Standard metaobjects (yours) |
| Shadow DOM isolation | No | Yes (swatches don’t clash with theme CSS) |
| Live admin preview | No | Yes |
The most surprising row was the SEO impact. Both methods used to generate multiple colour variants assigned each colour/material a unique URL, title tag and image set. All of these are indexed by Google as separate pages, which is ideal for grabbing long-tail traffic from terms like ‘red linen curtains’ or ‘oak floating shelf’. Neither method generates the children into a single canonical document. For those who care about organic traffic, this was good news.
Why metaobject apps don’t need Shopify Plus
Most merchant’s minds get blown at the thought that someone can recreate Combined Listings until they learn that Shopify Plus cripples this feature and someone can always implement the capability (group separate products, swatches, toggle between) using data and some Liquid code. The underlying feature is not magically disabled and any shopify app can recreate the exact feature by storing the grouped product data in a store in a format that shopify can read (such as metafields/meta objects) and then rendering the theme block to display it.
Shopify doesn’t prohibit metaobjects on their Basic plan. Since metaobjects are part of the Shopify platform, a metaobject-based application like Rubik can run on a Basic plan, and it will run just the same as it does on a Plus plan. This code doesn’t care.
Why do we even need Plus for this functionality? There are a few admin niceties the native functionality has over this (bulk limits for variants, parent/child management, merchandising differences) that Shopify wanted to include in Plus. But for stores that don’t need those features, grouping products is just plain silly to pay $28,000 per year for. Kind of crazy when you think about how much you could spend on swatch rows with that kind of budget.
When native is the right call
Fair to the native feature. If you already are on Shopify Plus for other features like launchpad, scripts, or headless (among others) then the Combined Listings feature is free since you’re already paying for it. It cost nothing to turn it on and to use it.
Native also makes sense if:
- You need more than 5,000 groups (Rubik’s Premium cap)
- You’re happy with your theme’s default swatch UI and don’t want customization
- You want zero third-party apps in your stack on principle
- You need the parent-child admin workflow that Shopify Plus ships with natively
This is a real list. Not every store needs a third-party app, if you aren’t on the Plus plan, though.
When Rubik Combined Listings is the right call
If you’re on a Basic, Grow or Advanced subscription and want to display combined listings, the native functionality doesn’t exist (unless you’re on an Plus subscription, and yes, that’s with a “P”). You have two primary options to display combined listings on an MLS powered website: metaobject-based apps or a program written using RPG that uses the objects provided by Plus. Rubik Combined Listings is one such metaobject-based application for displaying combined real estate listings. There are others out there, and many of them are solid products for this type of application. In fact, we put together a best combined listings apps roundup that discloses our favorites for your review.
What Rubik gets right:
- Flat pricing that doesn’t change based on your Shopify plan (some competitors add a surcharge when you upgrade to Grow or Plus, which is annoying)
- AI Magic Fill groups similar products automatically by title and attributes
- 70+ CSS variables so the swatch row can match any brand without writing CSS
- Shadow DOM isolation so your theme’s CSS can’t accidentally clash with the swatch rendering
- Swatch click analytics event with 16 properties (most detailed in the space)
- 350+ verified themes, plus page builder support for Beae, EComposer, Foxify, GemPages, Instant, PageFly, and Replo
- Real-time sync via metaobject references (edit in admin, storefront updates)
The AI Magic Fill was a highlight for me. Normally organizing 800 product references manually would take a week of work. With AI Magic Fill, the algorithm uses the product title, attributes, images etc to automatically suggest groups. Instead of manually selecting 800 references you can review 50 groups in the afternoon.
Collect all the colours in a swipeable collection swatch row & link each out individually. Easy to miss for merchants, but extremely powerful when done well. We have a app that helps with the collection swatch functionality (Rubik Combined Listings) and another that helps with product swatch linking to variants with their images (Rubik Variant Images). On a Basic plan (~ $25/ mo) for less than the cost of a Plus subscription day.
Migration between the two
You started with native Combined Listings and want to switch to the Rubik approach, or vice versa? Don’t worry. Because both methods keep each child product independent and indexable on their own URL, there will be no adverse effect on your SEO. Your pages will still be accessible via the same URLs, so your already-indexed pages will remain indexed. We’re simply switching the system that understands groups, not the groups themselves.
Moving from native CL to Rubik:
- Export your product group data from the native Combined Listings admin (or CSV your parent-child references)
- Install Rubik Combined Listings on your store
- Import via CSV or let AI Magic Fill rebuild the groups automatically
- Add the Rubik theme block to your product and collection templates
- Turn off the native Combined Listings rendering in your theme (or remove the native parent products)
Upgrading from Rubik to Plus: How to reuse existing metaobject data. Here’s how to export metaobject data from the Rubik interface, then later import it, rebuild your native parent products, and then uninstall the Rubik evaluation kit. The metaobject data will be stored in your Perforce database and remain accessible for a while after you uninstall, thus providing an undocumented backup. One of the key benefits of the metaobject pattern is that your product data does not get trapped in a vendor’s database.
(It never hurts to test both approaches anyway) Use our Shopify plan cost calculator to see what Shopify Plus will actually cost you in the year, and our variant limit checker to see if you’re going to run into Shopify’s 100 variant limit with your current (or upcoming) product listing configuration. That combined listings feature was created to work around that 100 variant limit, after all.
See the live demo store, watch the tutorial video, or read the getting started guide.
Frequently Asked Questions
Do I need Shopify Plus to use combined listings?
No. While Shopify does charge for their Combined Listings feature which is part of Shopify Plus, there are many metaobject-based apps like Rubik Combined Listings that will provide this feature on all Shopify plans including Basic. Only certain, mostly advanced apps with native metaobject functionality are not locked out of any plan by Shopify. The capability to group products and display swatches exists on every plan tier.
What happens to my product groups if I uninstall a metaobject-based app?
Even though you aren’t going to need the metaobject records anymore they will still be stored in your online store under Content > Metaobjects. Even though you don’t see the swatch images displayed in a swatch row on your store with the current theme, there will still be group information which can be viewed through the Shopify admin. Note that this is different from typical apps which store metaobject records on external servers where uninstalling the app would result in those records being deleted.
Does metaobject-based grouping hurt page speed?
No it loads with the page, that data is stored as metafield references on each product. No need for an external API call for that. Many of Shopify’s native features work in a similar way.
Will I lose SEO if I switch from native Combined Listings to Rubik?
No. Both options keep each child product as a separate listing in the store with its own URL, Title and Images. Google will still index all the variations as separate items and your existing URLs will not be changed during the migration process so your traffic will not be negatively affected.
How many groups can I create with Rubik Combined Listings?
Free plan comes with 5 groups. Starter ($10/mo) comes with 100 groups. Advanced ($30/mo) comes with 500 groups. Premium ($50/mo) comes with 5,000 groups. Annual payments save 17%. All features are on every plan, with only the group count and number of AI credits differing.
Does Rubik Combined Listings work with page builders?
Yes. Beae, EComposer, Foxify, GemPages, Instant, PageFly, Replo etc supported. Theme block is rendered inside page builder layout the same way it gets rendered inside standard Online Store 2.0 theme.
Can I use native Combined Listings and Rubik at the same time?
Technically you could use both at the same time, but it probably wouldn’t be a good idea since it would add an extra swatch row to the product page and confuse your customers. Stick with one swatch system and use it consistently throughout your store. If you are on Plus and like the looks of the native interface, use native swatches. If you are not on Plus or like to customize, use Rubik.





