A discount isn't applying
Check these in order, or jump to what you see:
| What you see | Check |
|---|---|
| The discount doesn’t apply at all | Steps 1, 2 and 3 |
| A discount code is refused, or drops another discount | Step 3 |
| An older offer block shows one price and checkout charges another | Steps 4, 5 and 6 |
| Subscriptions aren’t discounted | Step 7 |
| A collection discount gives less than its percentage | Step 8 |
| A volume discount, spend tiers or group price gives nothing | Step 9 |
| A Buy X get Y or BOGO deal gives nothing, or its gift isn’t free | Step 10 |
| A Product offer’s gift isn’t free | Product offers |
1. Is it enabled and active?
Section titled “1. Is it enabled and active?”- On Customizations, the function’s status should be Enabled.
- In Shopify admin → Discounts, the discount should be Active, not Scheduled or Expired. If you ticked Set specific start date, check the date and time.
- Saving showed an error? Nothing was saved. A message under a field says what the discount still needs, such as “Enter a percentage above 0, up to 100” or “Add at least one product”. A message from Shopify says why it didn’t accept the change, for example “Code must be unique” when another discount already uses the code. Fix it and save again.
- A message that the discount “is too big for Shopify’s discount functions to run” when saving means its settings are over Shopify’s 10,000 bytes, where the discount would never apply. Remove some products or collections from its settings and conditions, or use product tags or collections instead of products picked one by one, and save again.
- “In a rollout” next to the status on Customizations means a Shopify rollout (Shopify admin → Markets → Rollouts) turns the discount on or off for some visitors, whatever its status here. The discount’s edit page names the rollout and what it does, with a link to it.
- “Over Shopify’s function limit” at the top of the edit page means the discount’s settings are over Shopify’s limit of 10,000 bytes, so it does nothing. Only a discount saved before saves were checked can get there, such as an older product discount with about 200 variants. Remove some products, collections or conditions, then save. “Close to Shopify’s function limit” is the early warning.
- An older product discount with 20 or more products that doesn’t apply: open it and save it again. Saving stores its products in a smaller form that Shopify’s limits allow.
2. Do its conditions pass?
Section titled “2. Do its conditions pass?”Switch the function to Apply to all checkouts to test. If it then applies, a condition is the problem. Switching clears the conditions you’ve added, so note them down first.
- Money conditions use your store’s currency and are converted for the customer.
- “is more than” is strict: use 49.99 for “$50 or more”.
- Customer conditions such as Customer tags only work for logged-in customers.
- Eligibility set to Specific customer segments: the buyer has to be in one of the picked segments, matched by their login or the email they enter at checkout. A customer’s segments are on their page in Shopify admin → Customers.
- Eligibility set to Specific markets: the checkout has to be in one of the picked markets.
- Only one cart attribute key per function. Two Cart attribute key and value conditions with different keys don’t work together. The same goes for line attribute conditions.
- Use only conditions offered for the function’s condition set. If a function stops working after you add a condition, remove that condition and save.
- “Not supported by this customization” under a condition means the function can’t read it, so the whole discount doesn’t apply. Remove the condition (or choose another comparison) and save.
- POS location ID takes the location’s whole ID:
12doesn’t match location 123. - An older order discount code with Quantity from each collection, Quantity of unique variants in collections or Line attribute key and value quantity: open it and save it again. Older saves left out what those conditions read.
- It applies to everyone? A discount saved on Apply only when conditions pass with no conditions applies to every checkout. Saving now asks for a condition: add one, or pick Apply to all checkouts.
3. Does it combine with other discounts?
Section titled “3. Does it combine with other discounts?”When a customer has another discount, Shopify only applies both if each allows combining. Check Combines with order / product / shipping discounts on the function and the matching setting on the other discount.
Discounts in the same class, such as two product discounts on the same item, don’t stack unless you turn on stacking in the discount’s combinations settings.
If a discount code is refused with a message under the code field, a Code rules discount may be refusing it, for example one code per order or no codes on sale items.
4. Product discount set to “Checkout components” only
Section titled “4. Product discount set to “Checkout components” only”This step is for older Product offers, Checkbox product offers and Line item upsell. For new Product offers, see Product offers below.
When Areas applied to has only Checkout components (upsells, cross-sells, etc.) ticked, the discount only applies to items added from a Checkout Buddy block. It won’t apply when:
- The customer added the product from your store instead of from the block.
- The app block has Disable custom attributes turned on.
Tick Cart as well to discount the product wherever it was added.
5. The block shows a discounted price, but the discount doesn’t apply
Section titled “5. The block shows a discounted price, but the discount doesn’t apply”This step is for older Product offers, Checkbox product offers and Line item upsell.
The price in a block is a preview based on the product discount’s settings. The discount’s conditions aren’t part of the preview. If the conditions don’t pass, customers see the discounted price in the block, but pay full price at checkout. Most blocks also keep showing the discounted price after you disable the discount or it passes its end date.
Also check the two points in step 4.
6. The block shows the full price, but the discount applies
Section titled “6. The block shows the full price, but the discount applies”This step is for older Product offers, Checkbox product offers and Line item upsell.
Blocks need the checkout_buddy.markings variant metafield definition with Storefront API access to show discounted prices. Checkout Buddy creates it when you save the discount; check it exists, and create it if it doesn’t.
Only automatic product discounts with Checkout components ticked in Areas applied to show a discounted price in blocks. Product discount codes, collection discounts, order discounts, volume discounts, Buy X get Y and flex discounts apply at checkout without a preview.
7. Subscriptions aren’t discounted
Section titled “7. Subscriptions aren’t discounted”On product discounts, check Purchase type includes subscriptions. Recurring cycle limit 1 discounts only a subscription’s first order: set 0 for every order, or the number of orders you want. An older automatic product discount with a limit of 1, last saved since June 17, 2026, opens with One-time purchases only.
On volume, combo and Buy X get Y discounts, check Purchase type too, in the Limits card or under Customer gets. Shopify counts an item as a subscription only when its selling plan has recurring deliveries: pre-orders and try before you buy are one-time purchases.
8. The percentage is lower than expected
Section titled “8. The percentage is lower than expected”On a collection discount, Percentage is split across the matching items: 20% over three items gives about 7% each. Use Percentage (each product) to give the full percentage on every item.
If only some items get a collection discount, check its Quantity limits. A Total discount quantity limit and a Line discount quantity limit both apply when both are set, and Discount priority decides which items get it. See quantity limits.
9. A volume discount doesn’t reach its tier
Section titled “9. A volume discount doesn’t reach its tier”- Only the items under Counts toward the tiers count. With Specific products, only the variants you picked count. Variants added to a product later aren’t covered until you select them in Add products and save.
- Sizes and colors may not add up. With Count by set to Each variant separately, each size or color counts on its own. Use Each product separately or All items together.
- Gift cards and custom items never count toward a tier.
- Different items need one of the picked items in the cart, and don’t count. With Discount applies to set to Different items, only the items under Items that get the discount are discounted, and they don’t count toward the tiers: the other items that count have to reach the tier on their own. See different items.
- Fixed price for each item skips items that already cost that price or less, though they still count toward the tier.
- Check the Limits card. Items on sale with Don’t discount them, items past Most items that get it, and items of the other Purchase type get nothing, and Most it takes off an order caps the total. See limits.
- Big carts with many product tags or collections can hit Shopify’s limits and get no discount. See volume discounts.
10. A Buy X get Y discount gives nothing
Section titled “10. A Buy X get Y discount gives nothing”- The items customers get have to be in the cart. The discount adds them only with Add to the cart ticked, and only items picked by product. See Buy X get Y.
- An item was added but isn’t free. The Product offer that adds the items can’t check everything the discount does, such as customer segments, active dates or a subtotal that has to be less than an amount. The Add to the cart card names what it can’t check. See what the offer can’t copy.
- Every item is bought or got, never both. On the Same items, buy 2, get 1 needs 3 items in the cart.
- With Minimum purchase amount, the items that get the discount don’t count toward the amount. One $50 item doesn’t reach “spend $50” and come free too.
- Purchase type leaves out items of the other type from what customers get.
- Set price each takes nothing off an item that already costs that price or less. Those items are passed over, and the next item gets the discount.
Product offers
Section titled “Product offers”This section is for offers made with the new Product offers editor. Its Discount at checkout card (Discount when the offer shows on product or cart pages) shows which discount covers each gift. See discounts for product offers.
- The card says “No discount makes this free yet”: click Create gift discount, or open your discount and set Areas applied to to Product offers (items they add), with the gift listed at 100%.
- A gift isn’t free: checkout charges for it, so it stays at its price, or is removed with Remove gifts that aren’t free ticked. Check the discount is active, its minimum is at or below the offer’s lowest tier, and its quantity limit covers the gift’s quantity.
- A gift isn’t free once the buyer enters a code: the code and the gift’s discount don’t combine, so checkout keeps only one. Set the code to combine with product discounts, and the gift’s discount to combine with the code’s kind: order, product or shipping. Discounts made with Create gift discount already do.
- “This price isn’t available right now”: checkout charged more than the offer’s % off, so checkout removed the item. Give the offer a discount at the same percent, applying to Product offers (items they add) and listing the variant, with conditions that pass for the buyers who see the offer.
- A % off item costs the regular price, on an offer shown only on product and cart pages: give the offer a discount at the same percent. Nothing removes the item there.
- A gift is free below its tier with Apple Pay or Google Pay: buyers paying from the cart skip checkout, so only the discount’s own conditions apply. Give the gift’s discount a minimum. Create gift discount sets the lowest tier’s amount.
