Prime MOQ
Back to blog

Enforcement

How scalpers beat client-side quantity limits

Three ordinary browser behaviours defeat a quantity cap written in theme code. None of them require any skill, which is the problem.

Prime MOQ Team

Prime MOQ Team

· 5 min read

How scalpers beat client-side quantity limits

Key takeaways

A quantity cap written in theme code fails three routine ways: the shopper edits the quantity in the cart where the rule was never applied, uses a cart permalink that adds a chosen quantity directly, or uses Buy Now, which reaches checkout without the cart existing. Shopify's validation functions hold because they run on Shopify's servers with enforcement that cannot be bypassed by customers, and since January 2024 they are available on any plan through a public App Store app. What server-side enforcement still cannot do is link two checkouts by the same person, which requires identity and therefore friction, and it does not reach POS, Order Edit, the Create Order API or recurring subscription orders.

Limited drops attract two populations: customers who want the product, and buyers who want the margin on reselling it. The second group will test your limit. It helps to know exactly how, because the methods are unglamorous.

Three ways a theme limit fails

A theme runs in the shopper's browser. Everything it decides is advisory, and there are three routine paths around it:

  1. Editing the quantity after the fact. The product page enforces a maximum of two, so the buyer adds two, then changes the number in the cart drawer where the rule was never applied.
  2. Cart permalinks. A URL can add a specified quantity of a variant straight to the cart, arriving with a quantity your product page would have refused.
  3. Buy Now. It goes from the product page to checkout without the cart existing at all, so a limit that lives on the cart page never runs.

None of that is hacking. It is using the storefront in ways Shopify supports, against a rule that was only ever a suggestion.

What actually holds

The distinction is where the rule executes. Shopify's cart and checkout validation documentation states that validation functions "run on Shopify's servers and can block checkout progress when business rules aren't met", giving "reliable enforcement of business logic that can't be bypassed by customers", across "online store carts, carts built for custom storefronts, and throughout the checkout process".

Server-side means the buyer's browser is not a participant in the decision. There is nothing to edit, because the check does not live where they can reach it.

And this is not a Plus-tier capability. Per the changelog of 31 January 2024, "merchants on any plan can now use validation functions provided by public apps distributed through the Shopify App Store." Guides that still say otherwise are out of date, which we wrote up in you don't need Shopify Plus.

What server-side enforcement still will not do

Honesty here is more useful than reassurance. A per-order cap stops one basket, not one person. Someone determined can check out twice, with a second email address, and no cart-level rule sees the connection. Closing that means identity, and identity means friction: Baymard Institute's research found 18% of reasoned cart abandonments blamed being required to create an account. The trade is discussed in per order vs per customer.

There are also surfaces the rule does not reach at all. The API reference lists them, including POS, Order Edit, the Create Order API, and recurring subscription orders.

The test that tells you where you stand

Take five minutes on your own store before your next drop. Add more than the cap by editing the cart. Try a cart permalink. Try Buy Now. If any of the three gets to checkout, your limit is decoration, and the people who will find that out are not the ones you want finding it.

scalperslimited dropsbuy nowcart permalinkenforcement
Prime MOQ Team

About the author

Prime MOQ Team

Written by the team who build Prime MOQ for Shopify merchants. We write about order limits, wholesale rules and the economics of the orders that lose you money.

Frequently asked questions

How do buyers get around a Shopify quantity limit?

Three ordinary ways: adding the allowed amount and then editing the quantity in the cart drawer, using a cart permalink that adds a chosen quantity straight to the cart, and using Buy Now, which goes from the product page to checkout without the cart page running at all.

Does server-side validation stop all of it?

It stops all three of those, because the check runs on Shopify's servers rather than in the shopper's browser, and the documentation describes it as enforcement that cannot be bypassed by customers. It does not stop the same person checking out twice with a different email address, which needs identity rather than a cart rule.

How can I tell whether my own limit holds?

Try to break it. Add more than the cap by editing the cart, then try a cart permalink, then try Buy Now. If any of the three reaches checkout, the limit is advisory rather than enforced.

Set the rules of your store

Prime MOQ enforces minimum and maximum order quantity, order value and weight at Shopify checkout. Unlimited rules, free forever.

We use one cookie to remember this choice, and Google Analytics only if you say yes. Nothing analytics related loads until you do. Read the cookie policy.