Shopify MOQ apps all list minimums, maximums and multipliers, so the listing pages look interchangeable. They are not. What separates them is where the rule is enforced, what it can be scoped to, whether limits can count across orders, and whether you can find any of that out before paying. This is how to check each one yourself, which is more durable than a comparison table that goes stale the moment someone ships a feature.
1. Is the rule enforced at checkout, or in your theme?
The question that decides everything else, and the one listings answer least clearly. "Enforced at checkout", "cannot be bypassed" and "works everywhere" all appear on apps where the rule is a script in your theme.
A theme-level rule is skipped by a cart permalink, a saved cart from another device, a dynamic checkout button that goes from product page to payment, and a draft order. On Shopify, a rule that holds on every path has to be a Function, evaluated inside checkout.
The test, which takes two minutes: pick a product with a minimum of six and open yourstore.com/cart/VARIANTID:1. That drops one unit into a cart and heads for checkout, skipping the product page entirely.
- Blocked at checkout with your message? Functions. The rule is real.
- Reach the payment step? Theme-level, whatever the listing says.
Do this during the free trial of anything you are considering. It is the single highest-value check available and almost nobody runs it.
2. What can a rule be scoped to?
"Minimum order quantity" covers at least five different rules, and apps differ most here.
- Variant — the strictest and usually the right default.
- Product — across all variants, for assorted case packs.
- Collection or product group — category-level agreements.
- Cart — a minimum across the whole order, by quantity or by value. A different rule from the others and often the one merchants actually mean.
- Customer tag — the one that lets a single storefront serve retail and wholesale.
Write your rules down in these terms before looking at any app. Most support tickets about MOQ apps are a scope mismatch rather than a bug, and the mismatch is usually decided at purchase.
3. Can a limit count across orders?
A per-order maximum stops one large order and not ten small ones. If you need "two per customer, ever" or "three per 30 days", the app has to hold history against a customer, which is a meaningfully harder feature than a cart-level check.
Many apps do not have it, and it is rarely stated as an absence. If a listing talks only about carts and orders, assume limits reset every time.
The test: place a small order, then try to place a second that would breach the cap. A bigger single order does not test the same thing.
4. Is the error message yours to write?
When a rule blocks a checkout, one line of text decides whether the shopper fixes the cart or abandons it.
"Cart does not meet the minimum requirements" tells a buyer they have done something wrong without telling them what. "This product ships in boxes of 6 — please order 6, 12 or 18" is the same refusal and a completely different outcome.
Check that you can set the message per rule rather than one global string. A store with several rules and one message cannot name the product or the number, which is most of what makes the message work.
5. What does the free plan actually let you test?
Free plans usually limit the number of products a rule applies to, which is fine — a rule on three products behaves like a rule on three hundred.
What matters is whether the free plan includes checkout enforcement. Where that sits behind a paid tier, the free plan cannot answer the most important question, and you are paying to find out whether the thing works. Limit puts checkout enforcement on the free plan for three products, which is unusual and is the reason its free plan is worth anything.
What matters less than the listings suggest
- Rule count. "Unlimited rules" sounds generous. Most stores need three, and a store with nine has two that overlap and one nobody remembers creating.
- Analytics. A dashboard counting blocked carts is mildly interesting and does not tell you whether the rules are right.
- Design customisation. The product-page block matters; matching your theme's border radius does not.
- Number of integrations. Quantity rules interact with checkout, not with your email platform.
The things that break later
Three questions worth asking before committing, because they surface months in:
- What happens to rules if the subscription lapses? Do they stop enforcing silently, which is exactly the Scripts failure again, or does the app make it obvious?
- Do rules survive a theme change? A Functions-based rule should. A theme-level one will not.
- Can rules be exported? If you ever migrate, a list of your rules is the document you will wish you had — as anyone who lost their Scripts in April 2026 now knows.
Why this is a framework and not a table
A ranked list of named apps would be easier to read and worse to rely on.
Feature sets in this category change often, pricing tiers get restructured, and an app that lacked customer-tag scoping last quarter may have it now. A table is accurate on the day it is written and misleading within months, which is a bad trade when the decision it informs is one you live with for years.
There is also a self-interest problem worth naming: we publish an MOQ app. A ranking written by us would put ours near the top, and you would be right to discount it. A set of tests you run yourself does not have that problem — if Limit fails step three on your store, you will find out in two minutes and you should not install it.
What we can say without asking you to trust us: the permalink test is the one that separates real enforcement from decorative enforcement, it works on any app in this category, and most listings will not tell you the answer.
A six-step evaluation
- Write your rules down in scope terms — variant, product, collection, cart, customer tag.
- Install on a free plan. Set one rule.
- Open a cart permalink that violates it. Blocked, or not?
- Check whether the scope you need is actually available, not just something adjacent.
- If you need history-based caps, place two small orders rather than one big one.
- Read the blocked-checkout message and ask whether you would fix your cart on the strength of it.
An app that passes all six is a reasonable choice. Most fail at step three, and that is the one that matters.
Where to go next
Before installing anything, check whether Shopify's own catalog quantity rules cover you — they do if every customer needing a minimum is a B2B buyer, and a native feature beats an app where it fits. For scopes, multipliers and testing generally, see the MOQ guide.