Limit Order Quantity per Product on Shopify
Stop resellers from clearing out limited drops and keep stock fair for real customers. Here's how to limit order quantity per product on Shopify with checkout rules that can't be bypassed.

You announce a limited drop. Within minutes it's sold out, and half the stock went to three customers who bought ten each. By evening, your product is listed on resale sites at double the price, and your real customers are asking why they never had a chance.
Quantity limits are one of the simplest ways to keep limited stock fair. They also help with less dramatic problems: products sold in fixed pack sizes, samples that should be one per customer, and items you can only ship in small numbers. This tutorial covers how to limit order quantity per product on Shopify, where the common approaches fall short, and the rules that work in practice.
Why quantity limits matter
Typical reasons to cap or control quantities:
- Limited releases and drops. Spreading scarce stock across more customers.
- Reseller prevention. Making bulk buying for resale harder.
- Free samples and promotional items. One per order, not twenty.
- Shipping constraints. Fragile or heavy items you can only pack a few of per box.
- Pack sizes and minimums. Products that must be bought in multiples, or with a minimum quantity, such as wholesale cases.
- Supply protection. Essential items during shortages.
A quantity limit that customers can get around isn't really a limit, so where you enforce it matters.
Your options on Shopify
Native settings
Shopify doesn't offer a general per-product maximum quantity setting for retail checkout. Shopify Plus B2B includes quantity rules (minimums, maximums, and increments) for company customers on B2B catalogs, which covers wholesale use cases but not regular storefront shoppers.
Theme quantity selectors
Many themes let you cap the quantity selector on the product page, and some apps add a max attribute to the input. This is helpful UX but easy to bypass:
- Adding the product to the cart several times
- Changing the quantity in the cart or in checkout
- Using buy-now or express checkout buttons
- Using cart permalinks or direct checkout links with a quantity in the URL
Anyone determined to buy in bulk, which is exactly who you're trying to stop, will find these gaps quickly.
Shopify Functions validation
A Cart and Checkout Validation function checks the actual line quantities in checkout on Shopify's servers. If a product exceeds its limit, checkout is blocked with your message until the quantity is reduced. It doesn't matter how the item got into the cart. Public apps using validation functions work on all Shopify plans. See our checkout validation rules guide for more background.
Types of quantity rules
| Rule type | Example | Common use |
|---|---|---|
| Maximum per product | No more than 2 of this sneaker | Limited drops |
| Maximum per variant | No more than 1 of each size | Size runs on drops |
| Minimum per product | At least 6 of this item | Wholesale or bundles |
| Multiples | Quantities of 6, 12, 18 only | Case packs |
| Maximum per collection | No more than 5 items from this collection | Sale events |
| Maximum per order | No more than 20 items total | Shipping or fraud control |
Decide early whether a limit applies per product (all variants combined) or per variant. For a drop with several sizes, "2 per product" means two pairs in any sizes, while "2 per variant" allows two of every size, which may not be what you intended.
Step-by-step setup
- List the products or collections that need limits, and why.
- Choose the rule type for each: max, min, multiples, or a combination.
- Decide whether limits apply to everyone or exclude certain customers, such as wholesale or VIP tags.
- Write a message that names the product and the limit.
- Add the same limit to the product page and quantity selector, so customers know before checkout.
- Build the validation rule.
- Test by adding the product several times, editing quantities in the cart, and using express checkout and buy-now buttons.
Rule examples
- Limited drop. Condition: quantity of product "Retro Runner Limited" is greater than 2. Message: "Retro Runner Limited is limited to 2 per order. Please reduce the quantity to continue."
- One free sample. Condition: quantity of any product tagged
sampleis greater than 1. Message: "Samples are limited to one per order." - Case packs. Condition: quantity of products tagged
case-of-6is not a multiple of 6. Message: "This item is sold in cases of 6. Please choose 6, 12, 18, and so on." - Wholesale minimum. Condition: customer has tag
wholesaleAND quantity of a product is less than 12. Message: "Wholesale orders require at least 12 units per product." - Sale collection cap. Condition: total quantity from collection "Warehouse Sale" is greater than 5. Message: "You can buy up to 5 items from the Warehouse Sale per order."
- Fragile shipping limit. Condition: quantity of products tagged
glasswareis greater than 8. Message: "We can ship up to 8 glass items per order to make sure they arrive safely."
Pitfalls and edge cases
Per-order limits don't stop multiple orders. A checkout rule limits quantities within one order. A determined reseller can place several orders. For drops, combine quantity limits with other signals, such as limiting by customer tag, requiring login, or reviewing orders that share an address or payment details. Related ideas are covered in our post on blocking checkout by customer tag.
Variant vs product totals. Be explicit about which you're counting, and test with mixed variants in the cart.
Bundles. If a bundle app adds component products as separate lines, a per-product limit might count them unexpectedly. Test bundle products specifically.
Message clarity. Always name the product in the message. A generic "quantity limit exceeded" leaves the customer guessing which item is the problem, especially in larger carts.
Exceptions. Wholesale customers, staff orders, and replacements may need to bypass limits. Use a customer tag exception rather than turning the rule off.
Out-of-date rules. Limits for a drop often outlive the drop. Remove or relax them once stock normalizes so regular customers aren't blocked.
Doing it with Blockly Checkout Customizer
Blockly Checkout Customizer, launching soon on the Shopify App Store, supports quantity rules in its no-code builder. Choose products, variants, collections, or tags, set a maximum, minimum, or multiple, add customer tag exceptions if you need them, and write the message. Rules run as Shopify Functions, so they're enforced in checkout no matter how the items were added. You can also pair them with related rules, such as preventing certain products from being purchased together.
The takeaway
Product-page quantity caps are a helpful hint, but only a checkout validation rule makes a limit real. Pick the right rule type (max, min, multiples, per variant or per product), name the product in your message, show the limit before checkout, plan exceptions with customer tags, and remember that per-order limits work best alongside other controls for high-demand drops. Done right, your limited stock reaches more of the customers you actually made it for.
Related articles

Stopping Scalper Bots on Limited Drops

How to Reorder Payment Methods at Shopify Checkout

