A cumulative quantity rule limits purchases by the total quantity a customer has purchased so far, rather than per order. It lets you apply a limit such as "up to 3 per customer" across multiple orders.
Cumulative quantity rules are a Full plan feature. To use them, grant the additional permissions that let the app read order and customer information, and enable cumulative purchase limits. If you already enabled them for cumulative price rules, you can create cumulative quantity rules right away.
You want to limit the quantity per customer even when they split their purchase into several orders
You want a limited-edition item restricted to one per customer over the whole period
You want an upper bound on the total quantity purchased of the same item
You want to limit how many items a customer can buy per month (monthly reset)
The difference is whether the limit is evaluated within a single order or against the total purchased across orders.
Comparison item | Product quantity rules / limits by product | Cumulative quantity rules |
|---|---|---|
What is evaluated | A single order (the cart) | The total purchased across orders |
When it is evaluated | When the cart is updated or at checkout | The total is evaluated at checkout |
Identifying the customer | Not required | Required |
Plans | Light plan and Full plan | Full plan |
Only orders placed after you create the rule and tracking starts are counted. Purchases made before that are not counted retroactively.
In "Active dates", you choose the period the total is counted over. You can use the two settings together.
Neither (all time): Every purchase since the rule was created is tracked without resetting.
"Set a date range": Only purchases from the start date and time through the end date and time are counted, and the limit applies only during that period.
"Reset totals on a schedule": Totals go back to zero on each cycle, such as "Daily" or "Monthly on the 1st".
Active dates cannot be changed once tracking has started. The steps and the schedule rules are explained in “Set a Reset Schedule and Active Dates for Cumulative Totals”.
Choose whether each eligible item keeps its own separate total. The examples assume T-shirt A (with the variants S, M, and L) and T-shirt B as the eligible items.
Counted per | How the total is kept | Example with a limit of 3 |
|---|---|---|
Whole rule | One total for all eligible items combined. | Up to 3 in total across T-shirt A and T-shirt B |
Product | A separate total for each eligible product. Variants are added together. | Up to 3 for T-shirt A, and up to 3 for T-shirt B |
Variant | A separate total for each eligible variant. | Up to 3 for each of T-shirt A's S, M, and L, and up to 3 for T-shirt B |
The eligible items and what the total is counted per cannot be changed once tracking has started. To change them, stop the rule and create a new one. If you select "All products" as the eligible items, the total can only be counted per "Whole rule".
When "Require customers to log in" is enabled, a customer who is not logged in and has an eligible product in the cart is stopped at checkout and asked to log in.
When it is disabled, the behavior is as follows.
Purchases are counted toward the total when the email entered at checkout matches the customer record.
An order placed with a different email address is not counted toward the total. To reliably prevent purchases over the limit, enable "Require customers to log in".
The purchased count cannot be shown to a customer who is not logged in.
Checks and messages happen on three screens: the product page, the cart, and checkout.
Screen | What is evaluated or shown |
|---|---|
Product page | A message with the remaining allowance, and the maximum quantity reflected in the quantity picker |
Cart | Whether the cart alone holds more than the rule allows |
Checkout | Whether the total, including past purchases, exceeds the limit |
Only checkout counts what the customer has purchased before. The product page display requires the app embed to be enabled in your main theme.
The following are counted.
Test orders
Cancelled orders (added when the order is placed, then subtracted when it is cancelled)
The following are not counted.
Recurring subscription orders (only the initial order is counted)
Orders with no customer record attached
Custom items that have no product ID or variant ID
If a customer is deleted or merged, their purchases disappear from the totals. They are not carried over to the customer they were merged into, so the total no longer matches their actual purchases.
Only cancelling the whole order subtracts from the total. Refunds, returns, and order edits are not reflected in the total.
Cancelling the whole order: The quantities in that order are subtracted from the total. This can take a few minutes to update.
Refunds and returns: If you refund or accept a return without cancelling the order, the total stays as it was at purchase.
Order edits: Changing the quantity after the order is placed is not reflected in the total.
Cancellations after the rule is stopped: They are not subtracted from the total.
Note: There is no way to manually adjust or reset a customer's total. To start the numbers over, stop the rule and create a new one.
A new rule counts only orders placed after it is created, and earlier purchases are not counted retroactively. To reset the totals to zero automatically on a schedule, such as monthly, set "Reset totals on a schedule" when you create the rule.
The breakdown holds up to 250 entries per customer, up to 20 rules can be tracking at a time, and you can create up to 50 rules including stopped ones (counted together with cumulative price rules). Each enabled rule uses one of Shopify's checkout rules.
Enabling and additional permissions, the limits in detail, and the difference between disabling, stopping, and deleting are explained in “Cumulative Purchase Limits: Shared Specifications”.
How orders over the limit are detected, and how to check them on the order details page, are explained in “How Orders Over the Limit Are Detected”.
You can set the messages shown on the product page, in the cart, and at checkout separately for logged-in customers and customers who are not logged in.
Messages can use the variables limit (maximum quantity), purchased (purchased count), remaining (remaining allowance), and productTitle (product title). Which variables are available differs by field.
Messages can be translated.
Start from the example closest to what you need.