Reviewed November 5, 2026
Discount Codes That Will Not Stack: Reading the Checkout Error
On Shopify, discounts combine only when each discount is set to combine with its class and the classes do not collide: a product discount, an order discount, and a shipping discount can stack, while two product level codes cannot apply together. When a code is rejected at checkout, the cause is usually a combinations setting, an eligibility rule, or a minimum the cart does not meet.
The customer has two codes, your email sent one and the site banner promised the other, and checkout accepts exactly one of them. They read that as a broken store or a bait and switch. Almost always it is a setting, and it takes five minutes to find once you know where Shopify keeps the switches.
Discount logic on Shopify is rules all the way down. No mystery, but several layers, and the error message at checkout tells you less than the discount's own configuration page does.
The class system decides what can stack
Every Shopify discount belongs to a class: product, order, or shipping. One discount from each class can apply to the same order when combinations are enabled on each of them. Two discounts from the same class compete, and the better one wins or the second code is refused, depending on how the shopper entered them.
In the discount's settings, the combinations section lists which other classes it may combine with. A code created quickly for a campaign frequently ships with combinations left narrow, so it refuses to sit beside the automatic order discount your store runs year round. That one unchecked box is the single most common cause of the stacking complaint.
Eligibility and minimums fail quietly
When a code is valid but conditions are not met, checkout messaging is vague. Check the discount's minimum purchase amount, its product and collection eligibility, customer eligibility for segmented codes, and its active dates in the store's timezone rather than yours. A sale scheduled to start at midnight store time has embarrassed more than one campaign launched from another timezone.
Automatic discounts add a layer: an automatic product discount occupies the product class slot even though the shopper never typed anything. A product class code will then fail in a way that looks random unless you inventory the automatic discounts currently live. Keep a list. During sale season, stores run more live discounts than anyone remembers approving.
Test like a customer before the campaign
Before any promotion launches, place test orders in a draft or with a test gateway using each advertised combination: the email code with the banner code, the code over the automatic sale, the code below and above its minimum. Five test checkouts catch stacking conflicts while they are still embarrassing only inside the team.
Write the combination rules into the campaign copy itself. If the email code does not combine with sale pricing, say so in the email in plain words. A shopper told the rule before checkout accepts it. A shopper who discovers it at the payment step writes to support, or just leaves, and both cost more than the sentence would have.
Related reading
Related reading: Your Size Chart Modal Is Broken on Mobile: Checks That Find It, Display Currency Is Not Checkout Currency: Fixing the Mismatch Message, and Shopify Search Finds Nothing for Plurals: Fix the Zero Results Page Instead.
Frequently asked questions
Why does Shopify reject my second discount code?
Usually because both discounts belong to the same class, most often product, and only one per class can apply. It can also be a combinations setting left off on one of the discounts, or an unmet minimum or eligibility rule.
Can a discount code combine with an automatic discount?
Yes, if the classes differ and combinations are enabled on both. A code in the order class can stack with an automatic product discount. Two product class discounts, one automatic and one coded, cannot both apply.
How do I let two codes stack for a VIP promotion?
You cannot stack two codes in the same class. Structure the offer across classes instead: a product percentage code plus an order level amount off, each set to combine with the other classes, achieves most two offer promotions cleanly.
Why did my code work yesterday and fail today?
Check the discount's end date and active status first, then look for a new automatic discount launched since, which may now occupy its class. Sale launches are the usual trigger for a code that suddenly stops combining.