A cumulative price rule limits purchases by the total amount a customer has purchased so far, rather than per order. It lets you apply a limit such as "up to $100 per customer in total" across multiple orders.
Prerequisite: Cumulative price 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 quantity rules, you can create cumulative price rules right away.
You want to limit the amount per customer even when they split their purchase into several orders
You want a high-priced or limited-edition item capped at a certain amount per customer
You want an upper bound on the total amount purchased from a specific collection
The difference is whether the limit is evaluated within a single order or against the total purchased across orders.
Comparison item | Price rules / limits by product | Cumulative price rules |
|---|---|---|
What is evaluated | A single order (the cart) | The total purchased across orders |
Limits you can set | Minimum and maximum amount | Maximum amount only |
When it is evaluated | On cart changes or at checkout | The total only 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.
Choose which amount of each order line is added up.
Amount type | What is added up |
|---|---|
Item total (before product discounts) | The list price of each order line |
Item total (after product discounts) | The list price of each order line minus product discounts |
Product discounts are the automatic discounts and discount codes applied to the items themselves. Order discounts, shipping, and tax are never included, whichever you choose.
The difference between the two is also explained in Price Type. Cart subtotal and grand total cannot be selected for cumulative price rules.
Choose whether each eligible item keeps its own separate total.
Counted per | How the total is kept |
|---|---|
Whole rule | One total for all eligible items combined. |
Product | A separate total for each eligible product. |
Variant | A separate total for each eligible variant. |
The amount type, what the total is counted per, and the eligible items 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 amount cannot be shown to a customer who is not logged in.
Screen | What is evaluated or shown |
|---|---|
Product page | A message with how much more can be purchased |
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. No maximum quantity is reflected in the quantity picker, because an amount limit does not determine how many items can be purchased.
The maximum amount and each customer's total are stored in the store currency as of when the rule was created.
For customers paying in another currency, the checkout check and the amounts in the messages are converted to that currency.
The product page message shows the store currency amount as a plain number and is not converted to the storefront's display currency.
Note: If you change your store currency, rules created in the previous currency stop counting new orders. The totals and the limit cannot be converted, so follow the banner shown in the app: stop the rule and create a new one in the current store currency.
The following are counted.
Test orders
Cancelled orders (they are subtracted from the total)
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
Order lines whose amount is 0 after product discounts
In the following cases, the total does not match the actual purchases.
Partial refunds, returns, and order edits are not reflected in the total.
A cancellation that happens after the rule is stopped is not subtracted from the total.
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.
Item | Limit |
|---|---|
Breakdown entries per customer | 250 |
Rules tracking at a time | 20 (counted together with cumulative quantity rules) |
Rules you can create | 50 (including stopped rules, counted together with cumulative quantity rules) |
The breakdown limit applies when counting per product or per variant. Products purchased after that are not limited.
Each enabled rule uses one of Shopify's checkout rules. A store can have up to 25 checkout rules enabled, including those of your other rules and other apps.
Tracking can take a few minutes to be reflected. Purchases made before it is reflected, or checkouts running at the same time, cannot be detected as exceeding the limit.
There is no way to adjust an individual customer's total. To start over, stop the rule and create a new one.
Uninstalling the app also removes the tracking setup.
Note: Once cumulative purchase limits are enabled, they cannot be turned back off. To stop limiting, disable or stop an individual rule instead.
All three lift the limit. They differ in what happens to the tracking and to each customer's total.
Action | Tracking | Each customer's total |
|---|---|---|
Disable | Continues | Kept |
Stop | Ends | Kept |
Delete | Ends | Deleted |
Enabling a disabled rule again resumes limiting from the latest totals.
Note: Stopping and deleting cannot be undone. A stopped rule can never resume.
You can set the messages shown on the product page, in the cart, and at checkout separately for signed-in customers and customers who are not logged in.
Messages can use the variables limit (maximum amount), purchased (purchased amount), remaining (remaining allowance), and productTitle (product title). Which variables are available differs by field.
The amount variables are replaced with numbers only and carry no currency unit. Write the unit in the message itself.
Messages can be translated.
Start from the example closest to what you need.