What the platform actually holds today, why the limit that stops you is always the lowest one in your stack — plan, theme, apps — and which ceilings you break with a cheque, which by rebuilding the catalogue, and which one you don't break at all.
by Nadia Maar ·
In October 2025 Shopify raised the variant limit from 100 to 2,048 per product, on every plan. For years it had been the single most requested change from stores with serious catalogues — furniture, lingerie, textiles — and the news was received as the end of a problem. Underneath the announcement, in the help page, sits a box almost nobody reads: some themes, some public apps and some sales channels don't support more than 100 variants. The ceiling went up twentyfold, and above a good many stores it stayed exactly where it was.
It is the clearest way I know to explain how you actually judge whether a Shopify store stands up while it grows. The number written on the official site is not your number. Yours is the lowest of four: the platform's, the one your plan gives you, the one your purchased theme can render, and the one the app that prints your warehouse labels can read. Anyone selling you a «scalable platform» by quoting the first of the four isn't lying to you: they're answering the wrong question.
Below are three real ceilings, with today's numbers and where they come from; how to measure your distance from your own in half an hour instead of discovering it on launch day; and the part that never appears in a quote — the three different ways a ceiling gets broken, because one costs a plan change, one costs weeks of work, and one doesn't get broken at all, it gets designed around.
Every row below has two ceilings. The pale one, off to the right, is the platform limit — the one you'll be quoted on a call. The solid one, inside the chart, is the real limit: the lowest of plan, theme and apps. The solid bar is where you are today, the hatched one is where you land at three times the volume. When the hatched bar crosses the solid line, the row lights up: that is the moment the project stops, and in most cases it arrives years before Shopify's own limit.
| today | at three times the volume | your ceiling | platform ceiling | |
|---|---|---|---|---|
| Options per product (size, colour, material…) | 3 | 4 | 3 | 3 |
| Variants per product (on a single product) | 96 | 340 | 100 | 2048 |
| API points per second (GraphQL Admin, per app) | 100 | 260 | 100 | 1000 |
Variants went from 100 to 2,048; options stayed at three. A product with size, colour, material and length needs four, and the fourth does not exist — not on the most expensive plan, not on Plus, not for money. You go around it: metafields, line item properties on the cart item, or separate products linked to each other. None of the three is a checkbox: it is a different way of modelling the catalogue, and it touches the theme, the apps and the marketplace feeds.
can be worked around · cannot be removed
Shopify has held 2,048 variants per product since October 2025, on every plan. But the same page announcing it warns that certain third-party themes, certain public apps and certain sales channels still stop at 100 — and apps built on the old REST API rather than GraphQL are first on that list. As long as even one piece that touches the product stops at 100, your ceiling is 100: it makes no difference that the database underneath holds twenty times more.
audit theme and apps · then work on whatever fails
The Admin GraphQL bucket is worth 100 points per second on standard plans, 200 on Advanced, 1,000 on Plus. It isn't network speed: it's a budget, and every field you ask for costs. A nightly sync of thirty thousand SKUs drains it in the first few minutes and then proceeds in fits. This is the only one of the three that genuinely rises when you sign — ten times over, moving to Plus — but it is only worth it once you've checked that the consumption isn't a property of how the sync is written: bulk operations don't draw on the bucket at all, and very often that is the whole problem.
plan change · or move the sync to bulk operations
The platform numbers are the ones Shopify publishes, and they are worth re-reading periodically: the variant limit went from 100 to 2,048 in October 2025, the options limit hasn't moved in years. The projections, on the other hand, belong to your catalogue and not to us — section 4 explains how to pull them out.
«Which of our ceilings is lowest today, and how far are we from it?» That is a question with a numeric answer, verifiable in half an hour against the real store. «Does Shopify scale?» has no answer: it only has a yes.
The platform changes, and most of the guides you'll find online quote limits that were true three years ago. This is today's photograph, with the column that matters most beside it: who has to confirm it on YOUR store, because not one of these rows can be verified by reading a price list.
| What | Before | Today | Who has to confirm it for you |
|---|---|---|---|
| Variants per product | 100 | 2,048, on every plan | The theme and every app that touches products: Shopify explicitly warns that some don't hold past 100 |
| Options per product | 3 | 3 — unchanged | Nobody: it's the platform, and it doesn't depend on plan or budget |
| API points per second, GraphQL Admin | 100 on standard plans | 100 standard · 200 Advanced · 1,000 Plus · 2,000 enterprise | The plan you actually pay for, not the one written in the quote |
| Checkout customisation | checkout.liquid and script tags | Checkout extensions | The calendar: script tags on the old checkout stopped on 28 August 2025 for Plus and on 26 August 2026 for everyone else |
The first three columns are on Shopify's site, two minutes away. The fourth is the work: that's where you find out the theme bought in 2023 won't open a product with 300 variants, or that the warehouse app still speaks the old API. A quote for a Shopify build that doesn't contain that audit isn't a cheaper quote: it's the same quote with the audit moved to the middle of the project, where it costs three times as much.
On 26 August 2026 script tags stopped working on the Thank you and Order status pages for every non-Plus store. On Plus stores it had already happened on 28 August 2025, and checkout.liquid is no longer supported for the Information, Shipping and Payment steps either. It is the quietest deadline Shopify has ever imposed, because when it lands nothing breaks on screen: the pages still stand, something that used to run on them simply stops running.
Place a test order and compare: did the order land in Shopify AND in your analytics tool? If it only landed in the first, the deadline caught you and nobody noticed. What not to do is infer it from a dip in the data: dead tracking looks exactly like a slow month, and that is what burns weeks before anyone looks in the right place.
Distance from your ceiling isn't estimated, it's counted. The whole catalogue comes down through a bulk operation, which has the virtue of not touching the points bucket — it runs on its own and hands you a file when it's finished. Then you look at two numbers: how many products already sit close to 100 variants, and how many use all three options. The first tells you how much runway is left; the second tells you whether you've already hit the one that doesn't move.
# Admin GraphQL — bulk operation: pull the WHOLE catalogue with no
# pagination and no draw on the points-per-second bucket.
# Shopify processes it on its own and leaves a JSONL file to download.
mutation {
bulkOperationRunQuery(
query: """
{
products {
edges {
node {
handle
# variantsCount replaced the old totalVariants: it is a count,
# not the list — we don't pay for 2,048 nodes just to learn
# how many there are.
variantsCount { count }
options {
name
optionValues { name }
}
}
}
}
}
"""
) {
bulkOperation { id status }
userErrors { field message }
}
}The returned file needs exactly two counts: how many products have variantsCount.count above 80 — those are one step from the 100 ceiling your theme and apps may still impose — and how many have three entries under options, meaning they have already run out of options entirely. If that second number is large, the problem isn't future growth: it's now, and it shows in how hard customers find it to choose on the product page.
Take the product with the most variants you have and actually open it: in the theme, in preview, on a phone. Then open it in the warehouse app, in the label app, and in the marketplace feed. The real ceiling isn't a number in a database: it's the first link in the chain that jams, and you only find it by pushing a real product through.
A serious quote for a Shopify store that has to grow doesn't promise «scalability»: it says which of the three ceilings you'll meet first and which of the three tools gets you past it. They are different tools with prices that look nothing alike, and picking one for the wrong ceiling is the most common way to spend good money on somebody else's problem.
The «three times the volume» projections in the chart at the top are a working assumption, not a forecast of your revenue: they exist to show distance from the ceilings, not to say when you'll reach them. Three is the typical order of magnitude for a two-to-three-year growth plan; if yours is different, the date changes and the ceilings don't.
If you're about to open or rebuild a Shopify store and the word «scalable» in the quote in front of you isn't followed by a number, send us the store address and the catalogue file: in half an hour we'll tell you which of the three ceilings you meet first, how far you are from it, and which of the three tools gets you past. No quote attached.
And if your catalogue sits under a hundred variants per product and uses two options out of three, we'll tell you that too: none of this applies to you, standard Shopify will hold you for years, and anyone proposing headless or a plan change in that situation is selling, not advising.
Since late 2025 the platform limit is 2,048 variants per product, on every plan: it used to be 100. The number that matters is a different one, though, because Shopify itself warns that some themes, some public apps and some sales channels don't go past 100 — and apps built on the old REST API are first on that list. Your real ceiling is the lowest one in your stack, not the one written on the official site.
Three, and that limit hasn't moved while the variant limit multiplied by twenty. A product with size, colour, material and length would need four, and the fourth isn't for sale: it doesn't exist on the most expensive plan or on Plus. You work around it by modelling the catalogue differently — metafields, line item properties on the cart item, or separate linked products — and it's a decision to make before loading the catalogue, not after.
For the limits that depend on the plan, and in practice only one of them bites: Admin API points per second, which go from 100 on standard plans to 1,000 on Plus. Before signing, though, it's worth checking how the sync is written: bulk operations don't draw on that budget at all, and very often the consumption that appears to justify the upgrade is an architecture problem rather than a plan problem. For options per product, Plus changes nothing.
By pushing a real product through it, not by reading the theme's feature list. Take the item with the most variants you have and open it in the theme, in preview and on a phone; then open it in the warehouse app, the label app and the marketplace feed. The real ceiling isn't a number in a database: it's the first link in the chain that jams, and you only find it by trying.