Coming soon: Blockly Checkout Customizer — validation rules, upsells & checkout analytics.Get early access
Tutorial

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.

Limit Order Quantity per Product on Shopify

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 typeExampleCommon use
Maximum per productNo more than 2 of this sneakerLimited drops
Maximum per variantNo more than 1 of each sizeSize runs on drops
Minimum per productAt least 6 of this itemWholesale or bundles
MultiplesQuantities of 6, 12, 18 onlyCase packs
Maximum per collectionNo more than 5 items from this collectionSale events
Maximum per orderNo more than 20 items totalShipping 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

  1. List the products or collections that need limits, and why.
  2. Choose the rule type for each: max, min, multiples, or a combination.
  3. Decide whether limits apply to everyone or exclude certain customers, such as wholesale or VIP tags.
  4. Write a message that names the product and the limit.
  5. Add the same limit to the product page and quantity selector, so customers know before checkout.
  6. Build the validation rule.
  7. 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 sample is greater than 1. Message: "Samples are limited to one per order."
  • Case packs. Condition: quantity of products tagged case-of-6 is 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 wholesale AND 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 glassware is 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.

Up nextStop Certain Products From Being Purchased Together on Shopify

Related articles

More tutorial articles →
Free forever plan

Ready to protect
your store?

Join 5,000+ Shopify merchants. Install in 30 seconds and block your first bad actor today.

  • No credit card
  • 5-minute setup
  • Cancel anytime