Why a discount didn't apply
Updated Sep 10, 20265 min read
Work down this list in order. It is sorted by how often each cause turns out to be the real one, and every item is a documented Shopify behavior — most "the discount is broken" reports end at step 1, 2, or 5.
Shopify's recommended way to check any of this is to place a test order and look at the totals before completing checkout (Discount combinations).
1. The discount isn't active
A discount can be Active, Expired (deactivated, or past its end date), or Deactivated (temporarily off, not yet expired). On a deactivated or expired code the customer sees "Unable to find a valid discount matching the code entered." (Managing discounts).
Check the schedule too. Start and end times use "the time zone that you selected in your Shopify admin," not the customer's — a discount set to start on November 26 with EST selected begins at 12:00 am EST on November 26 (Discount codes).
2. The discounts weren't configured to combine
Discounts never combine on their own, and the setting is per discount, so both must allow the other's class. If a second discount is missing, this is usually why. See Combining discounts.
Related causes in the same family:
- Another active automatic discount is winning. Look for conflicting automatic discounts in Discounts.
- A Shopify Script is interfering. Check Settings → Checkout → Order processing; automatic discounts run after scripts and calculate on post-script prices.
- A third-party checkout app is interfering. Shopify's own advice is to temporarily uninstall checkout-related apps to test.
checkout.liquidcustomizations block the option entirely. Product + order and order + order combining requires nocheckout.liquidcustomizations and no Licensify app.
3. The customer isn't eligible
Eligibility can be set to all customers, specific customers, customer segments, or specific markets. The trap is segments: "New customers checking out for the first time don't yet have a customer profile in your store, so they won't be included in the customer segment until after their first order is complete" (Discounts FAQ). A first-time buyer will never match a segment-based discount.
4. The minimum requirement isn't met
Most discounts allow one minimum: a minimum purchase amount, or a minimum quantity of items (Percentage or fixed amount). Compare the requirement against the cart subtotal, not the total — shipping isn't part of it, and amount-off discounts "don't apply to shipping costs."
In a market with a different currency, a fixed-amount discount and a minimum purchase threshold are both stored in your store's default currency and converted at checkout using the current exchange rate, so the customer's threshold may not be the round number you typed (Markets).
5. Buy X get Y items are not in the cart
For Buy X get Y, "Customers must add all items to their cart manually" and "The free or discounted 'get' item is never automatically added to the cart" (Buy X get Y). Nothing appears by itself. This is the single most common cause of "the BXGY discount isn't working."
6. The code is used up or already held
Two separate things to check on a code (Discounts FAQ):
- The total usage limit has been reached, or the customer has already used a "one per customer" code — that limit is tracked by email or phone number.
- The code shows as used but there is no matching order: "an unfinished checkout is still holding the code," and the hold lasts until that checkout completes or fails.
Also check the ceiling: an order takes at most 5 product or order discount codes plus 1 shipping discount code, including codes arriving from shareable links.
7. The item is a gift card
"Most discounts cannot be applied to gift cards. The exception is a product specific discount where the product is a gift card." And collection-based discounts never reach them: "Discounts that apply to specific collections don't apply to gift card products within the collection" (Gift card discounts).
8. The sales channel or surface
- Codes can't be restricted by channel. "Customers can redeem discount codes on all of the sales channels that you have set up for your store. You can't restrict customers from redeeming discount codes on specific sales channels" (Sales channel discounts). The Sales channel access setting controls where a discount can be featured, not where it can be redeemed.
- Combinations only work on Online Store, Storefront API, and Shopify POS.
- The discount code field is missing at checkout. It requires at least one active discount code available to customers, and it is suppressed on draft-order checkouts, in Shop Pay login flows, and by some third-party apps.
9. POS without POS Pro
Automatic discounts can be activated only for POS Pro locations — either by ticking Apply on POS (Pro locations only) with "All customers" eligibility, or by assigning a valid Retail market when eligibility is set to Markets.
10. It's a draft order
"Automatic discounts won't automatically apply to orders created as drafts in your admin" — apply them by hand. Shipping discount codes and Buy X get Y discount codes are not supported on draft orders at all (Draft order discounts).
11. It's the post-purchase page
Neither automatic discounts created in the Shopify admin nor discount codes apply on the post-purchase offer page, and a code redeemed at checkout won't combine with a post-purchase offer.
12. The market
Discounts can be assigned to specific B2B, country/region, and retail markets; you can't assign them to channel markets. By default, codes apply to all markets. Percentage discounts apply uniformly everywhere, but the converted value of a fixed-amount discount "might vary slightly over time as exchange rates change."
Where Hype Cart Drawer fits
A Hype Cart Drawer discount is a Shopify Function discount, so every rule above applies to it unchanged: it is subject to the same combination settings, the same eligibility and minimums, and the same surface limits. If a Hype Cart Drawer discount doesn't apply, check this list before assuming the app is at fault.
Related
Was this article helpful?
Related articles
Still need help?
Start a chat and we'll pick it up right here.