When several discounts could fall on the same product, you control what happens. This avoids surprises at billing time and lets you design exclusive or combinable promos as you like.
The three ways to stack
Each discount has a stacking rule that you choose when you create it:
| Option | What it does | Example |
|---|---|---|
| Stacks with everything | Adds to any other discount that also applies. | 10% by category + free shipping by amount β the customer gets both. |
| Competes with similar discounts | If several fight over the same product, only the one that saves the most wins; the others are ignored for that product. The rest of the cart is untouched. | Two % on the same item β the highest one remains. |
| Replaces other discounts | If this one applies, it blocks all the others in the cart. | An exclusive promo that doesn't combine with anything. |
Priority: order rules
When two discounts can't be combined, the one with higher priority wins. Priority is the order in the discount list: the one higher up wins. Drag the rows to reorder them.
This is key with the "Competes" and "Replaces" options: the order decides who stays.
Explicit incompatibilities and requirements
Beyond the general rule, you can define specific relationships between discounts:
- Incompatible with: this discount can't be applied together with another specific one you choose.
- Requires: this discount only applies if another one is also applying. Useful for chained promos (e.g. an extra benefit that only exists if the main promo has already been activated).
Caps
To control the cost of a promo, you add limits:
- Per-cart limit: how many times the benefit can be granted within a single order. E.g.: "2-for-1, maximum 3 times", even if there are 10 eligible products.
- Per-customer cap: the maximum discount amount a single customer can accumulate with this rule. E.g.: "10% up to $5,000 in savings".
- Cap period: how often that per-customer cap resets β total (lifetime, never resets), monthly, weekly, or yearly.
How it shows in the store
The store always shows the real result, already resolved: if two discounts compete, the customer sees the one that won, not both. A second benefit that the engine would end up discarding is never promised. See How your customer sees it.