Which Limit Type Should I Use?
DC Order Limits gives you four distinct ways to restrict purchases. Choosing the right one depends on a single key question: are you limiting a single transaction, or tracking customers across multiple orders?
This guide explains what each limit type does, when to use it, and how to avoid the most common setup mistake we see.
Quick Comparison
| Limit type | Scope | Resets after purchase? | Tracks across sessions? | Requires login? |
|---|---|---|---|---|
| Order Limit – Any Item | Entire cart | Yes (per checkout) | No | No |
| Order Limit – Per Product | Per product, within one cart | Yes (per checkout) | No | No |
| Order Limit – Per Variant | Per variant, within one cart | Yes (per checkout) | No | No |
| Customer Purchase Limit | Per customer, all orders | No (lifetime tracking) | Yes | Strongly recommended |
Order Limits (Quantity & Price Limits)
Order Limits enforce rules at checkout time — they check what's in the cart right now. Once an order is placed, the counter resets. A customer can return the next day and place a new order within the same limits.
Use Order Limits when:
- You want to prevent bulk-buying in a single transaction (e.g. max 3 per order)
- You're running minimum order requirements (e.g. must buy at least 2)
- You want to enforce a cart total maximum or minimum by price
Grouping: Any Item
The limit applies to all eligible products combined in the cart. If the max is 3, a customer can add up to 3 total across any combination of matching products.
Example: A merchant selling sample kits sets a cart max of 3 samples total. A customer can add 1× Sample A + 1× Sample B + 1× Sample C, but cannot add a 4th sample of any kind.
Grouping: Per Product
The limit applies independently to each product. Each product has its own counter within the cart.
Example: Max 1 per product. A customer can add 1× Product X and 1× Product Y without either blocking the other — but cannot add 2× of Product X.
⚠️ Common confusion: Many merchants create a Customer Purchase Limit with "Any Item" grouping expecting it to enforce "max 2 per product" globally. What actually happens is the total count across all products is checked — so buying 2× of Product A prevents them from buying Product B entirely. Use Per Product grouping to give each product its own independent limit.
Grouping: Per Variant
The limit applies independently to each product variant (e.g. size, color). This is the most granular level of control within a single order.
Example: A limited-edition t-shirt with 3 colorways — max 1 per color variant. A customer can buy one blue, one red, and one green, but not two blues.
Use this when you need to control inventory per SKU within a single checkout session.
Customer Purchase Limits
Customer Purchase Limits are different in a fundamental way: they track purchase history across all past orders, not just the current cart. When a customer checks out, the app looks up how much they've already bought and blocks them if they've hit their lifetime cap.
Use Customer Purchase Limits when:
- You're selling limited-edition or "one per customer" products
- You're running an employee purchase program with annual allowances
- You want to prevent resellers from making repeat purchases over time
- You need per-customer limits that survive across sessions, devices, and return visits
How tracking works: DC Order Limits stores each customer's purchase count in a Shopify metafield tied to their customer account. If a customer isn't logged in, the app can identify them when they enter their email at checkout — but the limit only fires at that point, meaning they can browse and add items to cart before being blocked. This is why login is strongly recommended: it ensures limits are enforced from the moment the customer lands on the store, not as a surprise at checkout.
⚠️ Bypass risk: Because tracking is tied to identity, a shopper using a different email or checking out as a guest can evade the cap. For high-stakes drops and anti-reseller rules, always use "Block and require login" in your guest handling settings. See Setting up customer purchase limits for details.
Grouping for Customer Purchase Limits
Just like Order Limits, Customer Purchase Limits also support grouping:
- Any Item — counts all purchases across all products in the rule toward one shared limit
- Per Product — each product gets its own independent lifetime counter per customer
- Per Variant — each variant gets its own independent lifetime counter per customer
For most "one per customer per product" use cases, use Per Product grouping so that buying Product A doesn't block a customer from later buying Product B.
Decision Tree: Which type should I use?
Work through these questions:
- Do you need to track purchases across multiple orders and sessions?
- ✅ Yes → Use Customer Purchase Limits
- ❌ No (just this checkout) → Continue to step 2
- Do you need each product to have its own independent limit?
- ✅ Yes → Use Order Limit with Per Product grouping
- ❌ No, just a total cart cap → Use Order Limit with Any Item grouping
- Do you need to limit at the individual variant level (e.g. per size, color, or SKU)?
- ✅ Yes → Use Order Limit with Per Variant grouping (or Customer Purchase Limit with Per Variant grouping if tracking across orders)
⚠️ The Most Common Mistake
"I set an Order Limit to 1, but customers are coming back and buying again. Why isn't it blocking them?"
Order Limits (Quantity & Price Limits) apply to a single checkout session only. Once an order is placed, the limit resets. A customer blocked from buying more than 1 today can return tomorrow and buy 1 again.
If you want to stop repeat purchases across sessions, you need Customer Purchase Limits — not Order Limits. Customer Purchase Limits check the customer's entire order history, so a "max 1 per customer" rule will block them even on their second or third visit.
Combining both rule types
You can use Order Limits and Customer Purchase Limits together. A common setup:
- Order Limit (Any Item, max 3): Cap the total samples in one cart to 3
- Order Limit (Per Product, max 1): Ensure customers can only add 1 of each sample per order
Or for VIP programs:
- Rule 1 – Standard customers (Customer Purchase Limit, max 1): Excludes customers with tag
VIP - Rule 2 – VIP customers (Customer Purchase Limit, max 2): Targets customers with tag
VIPonly
For an employee purchase program with different limits per product group (e.g. max 4 from Group A, max 5 from Group B), create separate Customer Purchase Limit rules — one per product group — each pointing to the products in that group.