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.
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
You want to limit how much a customer can spend 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 | 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.
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 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. 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 ¥10,000 |
|---|---|---|
Whole rule | One total for all eligible items combined. | Up to ¥10,000 in total across T-shirt A and T-shirt B |
Product | A separate total for each eligible product. Variants are added together. | Up to ¥10,000 for T-shirt A, and up to ¥10,000 for T-shirt B |
Variant | A separate total for each eligible variant. | Up to ¥10,000 for each of T-shirt A's S, M, and L, and up to ¥10,000 for T-shirt B |
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.
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 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 (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
Order lines whose amount is 0 after product discounts
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 amounts in that order are subtracted from the total. This can take a few minutes to update.
Refunds and returns: If you refund, including a partial refund, or accept a return without cancelling the order, the total stays as it was at purchase.
Order edits: Changing the amount or 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 quantity 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 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.