Shopping Tactics
Stacking offers: why two discounts rarely both apply
Combining a code, a card and a promotion looks like arithmetic. It is actually a set of rules written specifically to stop you doing it.

Everything below about stacking discounts comes from what actually happens rather than from what is supposed to.
What holds up in practice
- Exclusion clauses are the default in most schemes.
- Order of application changes the final figure.
- Cashback and returns interact badly.
Why exclusivity is the norm
Every promotion is budgeted, and a promotion that can be combined with others has an unpredictable cost, which finance departments dislike. So terms almost always say a code cannot be used with any other offer, and the systems are configured to enforce it at the basket.
Where stacking does work, it is usually because two mechanisms sit in different systems, such as a retailer promotion and a payment provider offer. That kind of stacking is genuine but fragile, since either side can change its rules without notice. Assume exclusivity, and treat a successful stack as a pleasant exception rather than a plan.
Order of application matters
Applying a percentage before or after a fixed-amount reduction produces different totals, and the system decides the order, not you. Delivery thresholds are usually assessed after discounts, so a code can drop a basket below the free delivery line and cost you more overall. Loyalty points are often calculated on the amount actually paid rather than on the pre-discount total.
Across a sale weekend, taxes and fees may be computed at different stages depending on jurisdiction and on the seller's configuration. The only reliable check is the final payable figure, compared between two attempts rather than reasoned about in advance.
Test the basket, do not theorise
The efficient method is to build the basket, then try each combination and record the total payable each time. This takes a couple of minutes and answers questions that no amount of reading the terms will settle. Where a site removes a previously applied code silently, the total is where you will notice, not the message area.
Across a sale weekend, screenshot the final page before paying, since it is the only record of what the system actually did. Comparison of totals is the whole technique, and it works regardless of how the rules are written.
Cashback and card offers
Third-party cashback typically requires a clean referral path, so applying an unrelated code can break tracking and void the claim. Payment provider offers often exclude certain merchant categories or require registration before purchase rather than after. Both are conditional promises rather than discounts, which means they carry a failure rate that a straight price reduction does not.
At the till, value them at less than face value accordingly, and never let a conditional promise decide between two otherwise close prices.
A discount you have received beats a discount you have been promised.
Returns unpick everything
When part of a discounted basket is returned, the refund is usually calculated on the discounted price rather than the list price. A multibuy or threshold discount can be recalculated entirely, reducing the refund by more than the item appeared to cost.
Across a sale weekend, cashback claims are commonly reversed on return, sometimes without an obvious notification. Where a discount was earned by the basket rather than the item, returning part of it changes what the rest cost. This is worth understanding before combining offers on anything you might send back.
Retailers vary discounting by region and by account, so the price on your screen may differ from any quoted here.
A simple working rule
Find the best single-offer total first, because that is the figure everything else has to beat. Then try one additional mechanism at a time and keep whichever combination produces the lowest payable amount.
Ignore anything requiring an account, a wait or a claim unless the gap is large enough to survive a failure. Stop as soon as further attempts stop changing the total, which is usually after two or three. The goal is the lowest number at checkout, not the longest list of applied offers.
The takeaway
Compare final payable totals rather than reasoning about the rules, because the basket is the only place the rules are actually applied.
A discount is a claim about a price you were never asked to pay.
Questions readers ask
Why did my code stop working when I added another offer?
Most promotions carry exclusion terms enforced at the basket. Where two do combine, it is normally because they sit in separate systems, such as a retailer offer and a payment provider one.
What happens to cashback if I return the item?
It is generally reversed, sometimes without a clear notification. Treat cashback as a conditional promise rather than as part of the price you paid.
Also by Bhavesh Ranka
- Cost-plus and value pricing put two different tags on one objectHow Pricing Works
- Prices ending in nine outlived the reason they were inventedHow Pricing Works
- Good, better, best: what the middle option is forHow Pricing Works
- The successor announcement is the event that moves the old priceWhen to Buy





