The wall is usually self-built

A founder adds a color, then a size, then a finish, and Shopify refuses to save the product. For years the standard advice was the same: split the product into separate pages, install a product-options app, or patch the theme so the extra choices are captured as line item properties. Each workaround solved the immediate problem and quietly created a bigger one.

Splitting a product across pages is the most common and the most costly. You end up with forty product URLs that should have been one, reviews scattered across duplicates, ad spend split between listings that compete with each other, and inventory that has to be reconciled by hand. The customer sees a catalog that does not match the way they think about the product, and the storefront ends up doing extra work to hide the seams.

What actually changed, and what still constrains you

The limit that started all of this is no longer the limit. In October 2025 Shopify raised the ceiling from 100 variants per product to 2,048 for every merchant, not just Plus, and decoupled options from the old fixed rules. For most catalogs that removes the entire reason the workarounds existed in the first place.

The catch is that the ceiling only lifts if your stack keeps up. Products above 100 variants require the newer GraphQL product APIs, and apps still built on the deprecated REST product APIs can give a downgraded or broken experience once a product crosses that line. Some third-party themes, theme app extensions, and sales channels also still assume 100 variants. So the real question moved from "can Shopify hold this?" to "does my app and theme stack handle it?"

The remaining hard edges are worth knowing before you plan. A product can carry up to 250 media items, with one media item applied per variant. Stores holding 500,000 or more variants are rate-limited to 10,000 new variants a day unless they are on Plus. And if a product genuinely needs more than 2,048 variants, or more than three options, that still calls for a real decision rather than a shrug.

Consolidate, or go beyond on purpose

Once you know the ceiling moved, the decision is simple but it has to be made deliberately. If a product's real combinations fit under the new limit, it should live as one product with one URL. The split pages were a workaround, not a merchandising choice, and the strongest move is usually to merge them back.

If a product genuinely exceeds the limit, or needs more than three options, a workaround is the right answer — just choose it on purpose instead of by accident. On Plus, Combined Listings lets you keep separate products and present them as a single listing with extra options layered on top. Below Plus, a product-options app or theme-level line item properties carry the additional choices, with the tradeoff that line item properties are neither searchable nor tied to their own inventory.

The distinction that matters is where the data needs to live. If each combination is a real, stocked item with its own price and quantity, model it as a variant. If it is a customer preference that changes the work or the price but not the inventory, a line item property is the honest fit. Picking the wrong one is how stores end up overselling.

The hidden cost of working around it

Workarounds are never free, and the bill arrives in places founders do not watch. Search authority is the biggest. Search engines and shoppers both reward one canonical page per product, and forty thin pages competing for the same keyword will not rank the way one strong page does. Every duplicate dilutes the signal you spent money to build.

Then there is the operational drag. Reviews split across duplicates, so no single page shows the social proof the product has earned. Inventory has to be tallied by hand across pages that are supposed to represent one item. Paid traffic points at listings that are not a single, coherent destination for the customer who clicks.

None of that appears as a line on a report, which is exactly why it survives so long. It shows up later as a lower conversion rate and a team that spends its week reconciling data instead of selling. The fix is rarely more code — it is usually less.

How to audit it and sequence the fix

Start with an audit, not a rebuild. Pull your product list and look for clusters that share a base name or SKU and differ only by an option — those are your consolidation candidates. Check the variant count on your heaviest products: if they sit under the new limit and are still split, that split is your strongest win.

Then confirm the stack can hold the merged product before you merge it. Verify that the apps touching those products have migrated to the GraphQL product APIs, and confirm your theme supports high-variant products first, not after a launch. For option values you reuse widely — sizes, colors, materials — connect them to category metafields so a rename in one place updates everywhere instead of on every product.

Sequence it like any migration: merge the clearest cases first, redirect the retired URLs, re-point the ads, and watch one number — canonical product URLs per product line. When that count drops and the pages holding the traffic get stronger, the work is paying off. The goal is not more variants for their own sake. It is that a customer can find the exact product they want on a page that is worth ranking.