You launch a limited-edition product, and one customer buys several. While you tell other shoppers it's sold out, you're messaging the bulk buyer to cancel their order. The hardest part of a limited release may not be the selling itself — it's the cancellation cleanup afterwards.
There are two ways to enforce "one per customer", depending on what you want to limit. If you only need a uniform cap on cart quantities across the whole store, Shopify's built-in settings are enough. If you want different caps per product, or a limit on the same customer's total purchases, you need an app.
This article starts by sorting out what the built-in features can and can't do, then walks through the SellRules setup and the spots where things tend to go wrong.
"One per customer" is really three different decisions
The same "limit of one" means different things depending on what it applies to. Before you start configuring, decide which of the following you want to restrict.
| What you want to limit | What it means | Example |
|---|---|---|
| One per order | A single cart can't hold two or more | A limited-edition figure, one per order |
| One total per customer | Past orders count too, so the running total can't exceed one | Someone who bought one before can't reorder on another day |
| One purchase per customer | Limits the number of orders, not the quantity | A members-only bonus item each person can buy once |
For example, if you only set "one per order", the same customer can place two separate orders of one each and end up with two. To curb reseller bulk-buying, you need to think in terms of "one total per customer". Matching the "one per customer" in your product copy to what your settings actually enforce helps prevent trouble later.
First, check whether Shopify's built-in settings are enough
Shopify has a built-in setting called the add-to-cart limit. It caps how many of each product a customer can put into a single cart, and the settings screen shows a recommended value based on your store's sales history (stores with little sales data see a default recommendation).
It's easy to set up, but there are a few things to know first.
- It applies uniformly to the whole store: you can't set a different cap for a specific product. Set the limit to 1 and every product in the store becomes "one per order".
- It counts per variant: the cap applies per variant, not per product. Limit a product that comes in red, blue and green to 1, and a customer can still buy one of each color — three in total.
- Repeat orders aren't counted: it's only a per-cart cap, so splitting the purchase into separate orders works around it.
- Some cases are excluded: products without inventory tracking, products set to "continue selling when out of stock", B2B carts, and carts created through POS or draft orders are all out of scope. The limit simply doesn't apply to made-to-order products that don't track inventory.
So if the goal is "keep shoppers from loading a cart with large quantities of anything", the built-in setting is enough. But if you want just one specific product capped at one each, or you don't want the same person buying twice, the built-in setting can't do that. Shopify's own help points merchants who want to limit order volume toward adjusting inventory levels, working with shipping settings, or using an app that sets cart limits.
Set caps and purchase eligibility per product in SellRules
In SellRules you create a purchase limit rule per product under "Rules → Purchase restrictions". Limits apply both on the product page and at checkout: a customer who enters a quantity over the cap sees a warning and can't add it to the cart.
The target can be the whole product or just specific variants. There are three things to configure: caps, purchase eligibility and how quantities are counted.

1. Caps come in three types — fill in only what you need
- Maximum per order: how many a single order can contain
- Maximum per customer: a lifetime cap counted across that customer's past orders too
- Maximum orders per customer: a cap on the number of orders, regardless of quantity
For "one per customer", set both the per-order cap and the per-customer lifetime cap to 1 — that also blocks the split-order workaround. Keep "Maximum per order" at or below "Maximum per customer"; the other way round, a single order could exceed the lifetime cap and the settings would contradict each other.
2. Choose from four eligibility options
- No restriction: applies the quantity caps only
- Sign-in required: customers who aren't signed in can't buy. Use it when you want to identify customers and count their lifetime totals
- Tag required: only Shopify customers carrying a specific tag can buy. Suited to members-only and early-access products
- Sales suspended: the product page stays visible but the buy button is disabled. Use it to pause purchases temporarily
With "Tag required", tag names aren't case sensitive and the tag itself is never shown to customers. The check runs against the app's own copy of your customer tags, though, so for customers who were registered before you set this up, run "Settings → Re-sync customer tags" once.
3. "Total across the product" is the safe way to count
"Total across the product (recommended)" stops customers from beating the cap by mixing sizes or colors. "Per variant" counts each variant separately, so choose it only when you want to allocate quantities per variant.
4. Before you go live, test orders that should stop and orders that should go through
On a test product, try a quantity within the cap and one over it. Check not just whether it reaches the cart, but whether the warning appears on the product page and whether checkout blocks it. If you use "Sign-in required" or "Tag required", run the same checks with an account that doesn't meet the condition.
For the full steps with real screenshots, see "Limit what people can buy" in the SellRules user guide.
What purchase limits can't stop — and common mistakes
Purchase limits work on orders Shopify can identify as coming from the same customer. Loopholes remain: orders from a different account, or guest checkouts that can't be tied to a customer, can't be fully blocked. Requiring sign-in narrows the gap, but treat it as a big reduction in manual cancellation work — not a watertight barrier.
When something isn't working, check these three things.
- The limit doesn't apply at checkout: the usual causes are a disabled rule, a "Tag required" rule whose customer tags haven't been re-synced, or a counting method that isn't what you intended. Check the rule's status under "Rules → Purchase restrictions".
- The app embed is off in the theme: turn the embed off and the buy button returns to normal, and checkout validation stops working too. Your settings are preserved.
- Confusion with pre-order and stock-out rules: the pre-order, made-to-order and stock-out schedule screens also have purchase restriction fields, but those are separate from the rules you create under Rules. For ordinary purchase limits, use the Rules screens.
When you do limit purchases, also tell customers why, and when they'll be able to buy. A bare "you can't buy this" message creates more frustration than the limit itself.
Frequently asked questions
Can Shopify's built-in features do "one per customer" on their own?
You can cap how many of each variant goes into a single cart across the whole store, but you can't set different caps per product or limit a customer's total purchases. To block repeat orders too, you need an app.
Can I stop a customer who orders from a different account?
Not completely. Purchase limits apply to orders Shopify can identify as coming from the same customer, so a different account or an unidentifiable guest checkout counts as a different person. Requiring sign-in shrinks this loophole.
How do I stop the cap from being bypassed by mixing sizes?
Set the quantity counting method to "Total across the product". Left at "Per variant", customers can combine different sizes and buy past the cap.
What does a customer see when they hit a limit?
On the product page the buy button is disabled and a reason is shown, and checkout validates the order too. You can set the message per rule; leave it empty and the default text is used.
Pricing and how to try it
SellRules has a single Launch plan at $7.99 USD per month, and it includes every feature, purchase limits among them. There's a 10-day free trial, and billing runs through the Shopify App Store's billing system. Uninstall during the trial and you're never charged.
If a uniform store-wide cap is all you need, Shopify's built-in setting already covers it — so first confirm there's a real reason it isn't enough for you, like "just this product" or "a customer's lifetime total". Then try it: limit one product, see how the limit works in practice during the free trial, and you'll have what you need to decide whether to keep it.
See SellRules features and pricing
Related articles: Deciding on early-access and limited sales / What to do when a Shopify product sells out: pre-orders or restock alerts? / No need to wait at a new product's launch time — automate Shopify pre-order and sales changes / Trying SellRules for free? Start with 1 product
References: SellRules user guide · Shopify Help "Managing increased sales" · Shopify Help "Add to cart limit" · Shopify App Store. Checked: September 16, 2026.