Setting up customer purchase limits in Shopify with DC order limits

Customer Purchase Limits let you track purchases per customer and enforce lifetime maximums for quantity and/or total spend across selected products or variants. Use this feature to:

  • Set a quantity limit per customer — cap how many units each customer can buy (e.g., "max 2 per customer lifetime")
  • Set a spending limit per customer — cap how much each customer can spend (e.g., "$500 max per customer")
  • Create time-based limits — reset limits on a weekly, monthly, quarterly, or annual schedule using Shopify Flow

When to use Customer Purchase Limits:
Use this rule type when you need to track purchases across multiple orders, such as lifetime, daily, monthly, or annual limits, or when you need to limit how many times each customer can buy.

When NOT to use this:
If you simply want to allow only tagged customers to purchase without tracking quantities across orders, use a basic Order Limit with an exclusion tag instead. This is simpler and does not require purchase history tracking. See Using exclusion rules.

Looking for "once per customer" or lifetime limits? If you want to limit how many times a customer can ever buy a product (not just per order), see Setting Up Lifetime / Once-Per-Customer Limits for a step-by-step guide.

Not sure which limit type you need? See Which Limit Type Should I Use? for a quick comparison of Order Limits vs Customer Purchase Limits.

Using tags to restrict who can purchase? Customer tags are stored on the customer record, so the app checks them once it knows who the customer is: at login, or when they enter their email at checkout. If you're setting up a rule like "only VIP-tagged customers can buy," you can enable Guest Handling → Block and require login to prompt guests to log in first, so the tag check happens before they reach checkout. One rule in Customer Purchase Limits handles all three states: guests (blocked until login), logged-in without tag (blocked), and logged-in with tag (can purchase).

Time-based limits: Lifetime vs Yearly

DC Order Limits tracks customer purchases as lifetime limits by default. This means once a customer reaches their limit, they cannot purchase more unless you manually reset their count.

Need yearly limits instead of lifetime?

If you want limits that reset annually (e.g., "each customer can buy 5 per year"), you have two options:

  1. Manual yearly reset — Reset all customer counts at the start of each year using the "Reset All" button in the usage history page
  2. Automated reset with Shopify Flow — Set up a scheduled Flow that triggers the reset automatically. See Resetting Customer Purchase Limits with Shopify Flow for setup instructions.

Important: No rollover of unused amounts

When you reset limits (whether manually or via automation), all customer counts reset to zero. Unused purchase allowances do not roll over to the next period. For example, if a customer only bought 2 of their allowed 5 items, after reset they start fresh at 0 used — the 3 unused items are not added to their new allowance.

When to use the customer purchase limits

Use this feature if you want to:

  • Run limited releases and prevent resellers by capping each customer's lifetime purchases of specific items.
  • Gate special access for certain customers by applying limits only to customer tags or approved emails and domains.
  • Control long-term inventory allocation by limiting how much any one customer can buy across a product set over time.

Setting up customer purchase limits

To set up customer purchase limits, follow these steps:

1. Access the form

  • Go to the Order Limits page.
  • Click on "Create rule" and select Customer Purchase Limits.
  • Or, click on the title of an existing customer purchase limit rule (e.g., "Customer limit on John Doe") to edit, which will open the form.

2. Fill out Rule Details

Rule information

  • Title: Enter a descriptive name for the rule. This title is used internally to identify the rule.

Purchase Limits

  • Maximum Quantity: Specify the maximum number of items a customer can purchase for a lifetime.
  • Maximum Spending: Specify a maximum spending limit on a customer for their lifetime.

3. Guest customer handling

You do not need storefront customer account pages for purchase limits. As long as customers identify by email at checkout, the limit enforces. Entering an email at checkout links the order to a customer record, and the limit tracks against that record.

The guest handling setting controls when the limit is enforced for customers who aren't logged in:

  • Allow guest checkout: Customers can browse and add to cart without logging in. The limit enforces at checkout, once they identify by email.
    • Pros:
      • No friction for casual shoppers
      • Higher conversion rates
      • Works well for most e-commerce scenarios
    • Cons:
      • The limit applies at checkout, not earlier in the cart

Best for: Most stores. Limits enforce without requiring customer accounts.

  • Block and require login: Customers must log in or create an account before purchasing limited products.
    • Pros:
      • Limits enforce from the cart page, before checkout
      • Creates account relationships for future marketing
      • Useful for high-value limited drops
    • Cons:
      • Adds friction to checkout
      • May reduce conversion rates
      • Requires customers to create/remember accounts

Best for: High-demand product drops, preventing resellers, employee or B2B programs

Recommendation: For limited-edition drops where you want customers to see the limit before they reach checkout, choose "Block and require login." For general inventory management, "Allow purchases without limits" provides a better customer experience. Either way, customers who identify by email at checkout are tracked and the limit enforces.

⚠️ Bypass risk: Because lifetime tracking is tied to customer identity, a shopper can evade limits by checking out with a different email address. "Block and require login" makes this harder by forcing every purchase through an account.

4. Usage tracking and resetting purchase limits

Purchases are tracked against these limits. Tracking details appear after saving. You can reset customer limits from the usage history page.

Reset Frequency Use Case
Weekly Weekly purchase allowances (e.g., "2 per customer per week")
Monthly Monthly allocation programs, subscription box add-ons
Quarterly/Annually Employee discount programs, loyalty tier benefit
After each drop Limited releases, flash sales, restocks
As needed One-time promotions, inventory management

How to Reset

  1. Go to your purchase limit rule
  2. Click View usage history in the Usage Tracking section
  3. Click Reset All
  4. Confirm the reset

What Happens When You Reset

  • All customers tracked under this rule have their counts cleared to zero
  • The "Times Reset" counter increments by one
  • Customers can immediately purchase again up to the limit
  • Historical data is not preserved (this cannot be undone)

Times Reset Counter

The "Times Reset" number indicates the number of times you've reset this rule. This is useful for:

  • Tracking how many periods have passed (e.g., "we've done 12 weekly resets")
  • Auditing when the limits were last cleared
  • Verifying your reset schedule is being followed

Usage history

5. Define product eligibility

Select which products are affected by the rule:

  • All Products: Applies the rule to every product.
  • Product with specific tags: Limits apply to products tagged with specific keywords in Shopify.
    • How it works: Enter one or more product tags. Any product with at least one matching tag will be subject to this limit.
    • Example: Tag products with limited-edition and enter that tag here to limit purchases of all limited-edition products.
    • Best for: Managing limits across product categories or collections without listing individual products.
  • Selected Products: Limits apply to individually selected products with a specific title or product ID
    • Product IDs: The numeric identifier found in Shopify admin URLs (e.g., 7834521098765)
    • Product titles: The exact name of the product as it appears in your store (e.g., Limited Edition Hoodie)

Separate multiple entries with commas. You can mix IDs and titles in the same field.

  • Example: 7834521098765, Summer Collection Tee, 9012345678901
  • Selected product variants: Limits apply only to the variants you enter by variant ID or title.
    • Finding variant IDs:
      1. In Shopify admin, go to Products.
      2. Select a product.
      3. Click a variant.
      4. The variant ID appears in the URL.
    • Example:
      • Limit customers to 1 purchase of the "Size XL" variant while allowing unlimited purchases of other sizes
      • Restrict a specific colorway during a collaboration drop
      • Cap purchases of a high-demand bundle option

6. Determine customer eligibility

Choose which customers the rule affects:

  • All Customers: Affects every customer.
  • Customers with Specific Tags: Applies only to customers tagged with specific keywords.
  • Selected Customers: Affects individually selected customers with email or domain.
    • When selecting specific customers for your rule, you can use email domain patterns to target groups of customers without entering each email individually.
    • How it works: Enter "@" followed by a domain to match all customers with email addresses from that domain.
Pattern Matches
@acmecorp.com john@acmecorp.com, sales@acmecorp.com, etc.
@partner.org contact@partner.org, support@partner.org, etc.
  • Common use cases:
    • B2B/Wholesale accounts: Limit purchases to customers from a specific company (e.g., @bigretailer.com)
    • Employee purchase programs: Restrict access to staff with company email addresses (e.g., @yourstore.com)
    • Partner or affiliate access: Give special limits to partner organization members (e.g., @affiliate.org)
  • Combining patterns: You can mix full email addresses and domain patterns in the same field, separated by commas.

    Example: vip@example.com, @wholesalepartner.com, buyer@bigstore.com

7. Set exclusion rules

Decide which products or customers should be excluded from this rule:

  • Exclude Specific Products: Type in product IDs or names for any products you don't want this rule to apply to. Separate tags with commas.
  • Exclude Customers with Tags: Enter customer tags that should not be affected by the rule. Customers with these tags can check out without restrictions. Separate tags with commas.

Learn more

8. Save and activate

Click "Save" to apply the settings. Once saved, the rules are live immediately unless you set a future start date.

Once a rule is created, a summary of the rule's settings is displayed on the left side of the form for existing rules. This summary helps you review and confirm the rule's configurations before making further changes.

Using multiple limits for different product groups

You can create multiple Customer Purchase Limits to apply different limits to different product groups. Each limit tracks usage independently - a customer hitting their limit on one group doesn't affect their limit on another group.

Example scenario:

You have two product groups and want different limits for each:

  • Group A: 8 products, limit 1 per customer
  • Group B: 13 products, limit 2 per customer

The same customers will be buying from both groups, but you want each group tracked separately.

How to set this up

  1. Tag your products in Shopify:
    • Add tag group-a to your 8 Group A products
    • Add tag group-b to your 13 Group B products
  2. Create the first Customer Purchase Limit:
    • Set Maximum Quantity to 1
    • Under Product Eligibility, choose Products with Specific Tags
    • Enter the tag group-a
    • Save
  3. Create a second Customer Purchase Limit:
    • Set Maximum Quantity to 2
    • Under Product Eligibility, choose Products with Specific Tags
    • Enter the tag group-b
    • Save

How independent tracking works

Each Customer Purchase Limit stores usage in a separate customer metafield. This means:

  • A customer who buys 1 item from Group A has used their Group A limit
  • They can still buy up to 2 items from Group B
  • The limits don't interfere with each other
  • Both limits can be active at the same time

Important notes:

  • Avoid overlapping tags: Make sure products don't have tags from multiple groups. If a product has both group-a and group-b tags, both limits will apply to it.
  • Same customer eligibility: Both limits should typically use the same customer eligibility settings so the same group of customers is tracked by both rules.
  • Guest handling: Customers who aren't logged in are still tracked when they identify by email at checkout. "Block and require login" enforces the limit from the cart page instead of at checkout.
Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us