Skip to content
Corresso

Discount code not working: Shopify causes and replies

A Shopify discount code that 'doesn't work' is usually doing what it was set to do: a minimum isn't met, the customer or product isn't eligible, the dates or usage limit have passed, or it can't combine. How to tell which, and the reply for each.

By Max Lindberg · · 8 min read

When a customer writes "your discount code doesn't work", the code is usually doing exactly what it was set up to do: the cart is under a minimum, the products or the customer aren't eligible, the code has expired or been used up, or it can't be combined with another discount. Open the code in your Shopify admin, find which setting stopped it, and send the matching reply below.

Words in double braces, like {{discount_code}}, are blanks: fill each one from the discount settings or the order, never from memory.

Start with the message the customer saw

Ask for the exact wording at checkout, or a screenshot. Shopify's own help pages list what each message means:

Message at checkout What it means Reply
"Enter a valid discount code" The code doesn't exist or isn't currently active Template 1
"Unable to find a valid discount matching the code entered" The code has been deactivated Template 1
"{{discount_code}} discount code isn't valid for the items in your cart" The code exists but doesn't apply to these products Template 3
"The {{discount_code}} discount code has already been used" Usage limit reached, one use per customer, or an unfinished checkout is holding it Template 5
"Discount couldn't be used with your existing discounts" It can't combine with a discount already in the cart Template 6
"Some discount codes couldn't be used together. We applied the best combination" Several codes were entered and not all can combine Template 6
No discount field at all No active codes, a draft order invoice, Shop Pay not logged in, or an app See "Things that look like a broken code"

Shopify's help pages don't list a separate message for every setting, so if the wording doesn't match the table, check the settings in the next section.

Where to check it in the Shopify admin

Go to Discounts and click the code. Each section on that page can stop a code:

Section What can stop the code
Applies to The code covers specific products or collections, and the cart has none of them.
Minimum requirements A minimum purchase amount or a minimum quantity of items. Only items the discount applies to count, and the amount counts product prices only, without shipping or taxes.
Eligibility The code is limited to specific customers, customer segments or markets.
Maximum discount uses A limit on total uses, or one use per customer, tracked by email address or phone number.
Combinations The code isn't set to combine with the other discount in the cart.
Active dates The start date hasn't arrived, or the end date has passed. Times follow the time zone set in your admin, not the customer's.

The discount's Timeline shows when it was created, edited, activated or expired, which helps when the customer says "it worked yesterday".

Template 1: the code has expired or isn't active

Hi {{first_name}},

Thanks for letting me know. The code {{discount_code}} ended on {{end_date}}, which is why checkout didn't accept it.

{{offer_or_no_offer}}

{{your_name}}

For {{offer_or_no_offer}}, write either "It's not something I can reopen, but here is what's on offer right now: {{current_offer}}." or "I've set up a new code for you: {{new_code}}, valid until {{new_end_date}}." Decide which before you write; don't promise a code you haven't created. If the code hasn't started yet, say the start date and time instead, and name your time zone.

Template 2: the cart is under the minimum

Hi {{first_name}},

The code {{discount_code}} applies to orders of {{minimum_amount}} or more of {{eligible_items}}. Your cart came to {{eligible_cart_amount}} on those items, so it fell just short. Shipping and tax don't count towards the minimum.

If you add {{amount_missing}} more of eligible items, the code will apply at checkout.

{{your_name}}

Check whether the minimum is an amount or a number of items, and whether the code covers the whole store or only some products: if it's limited, only those products count towards the minimum.

Template 3: the code doesn't cover those products

Hi {{first_name}},

I'm sorry for the confusion. {{discount_code}} only applies to {{eligible_products_or_collections}}, and the items in your cart aren't part of it. That's why checkout said the code isn't valid for your items.

If you add any item from {{eligible_products_or_collections}}, the discount will apply to that item.

{{your_name}}

If the product should have been included, that's your mistake, not the customer's: fix Applies to, then use Template 7.

Template 4: the customer isn't eligible

Codes limited to specific customers or a segment (for example, email subscribers) only work for those customers. Shopify identifies segment members at checkout by their email address or phone number, so the most common cause is a different address.

Hi {{first_name}},

{{discount_code}} is reserved for {{eligible_group}}, and it's checked against the email address or phone number used at checkout. Could you try again with {{email_on_file}}? That's the address we have for you.

If you'd rather use a different address, reply and I'll {{what_you_can_offer}}.

{{your_name}}

If the code is limited to markets, say plainly that it's only available in {{eligible_markets}}.

Template 5: the code has already been used

First, go to Orders and search for the customer. If they have an order with the code, it's used. If they don't, Shopify says an unfinished checkout can still be holding it: the code is held while a payment is pending, and the hold stays only if the checkout never finishes. Deactivating, reactivating or renaming a code doesn't reset its usage history. Shopify's suggested fix is a new code with the same conditions.

Hi {{first_name}},

I've looked into it: {{discount_code}} can be used once per customer, and our system still had it attached to an earlier checkout that didn't complete. That's not something you did wrong.

I've made you a new code with the same discount: {{new_code}}. It works until {{new_end_date}}.

{{your_name}}

If they did use it on order {{order_number}}, say so, and give the order date so they can find it.

Template 6: two discounts can't be combined

Hi {{first_name}},

Only one of those discounts can apply to your order. {{discount_code}} isn't set to combine with {{other_discount}}, so checkout kept the one that saves you more.

{{your_name}}

Shopify always applies the better discount when two can't be combined, so this reply is usually true. Before sending it, open both discounts and look at Combinations: each discount must allow the other's class (product, order or shipping). An automatic discount the customer never typed in can also be the "existing discount".

Template 7: the order is already placed without the discount

When the code should have worked, fix it on the order rather than asking the customer to order again. In Shopify, open the order, click Edit, click the item price, add a discount, then review and update the order. You can't add a discount to a line item that is only partly fulfilled. Editing the order doesn't move money: if the total goes down, you still have to issue the refund. You can also apply a discount to a line item from the refund page.

Hi {{first_name}},

You're right, {{discount_code}} should have applied to order {{order_number}}, and that was our error. I've applied the discount and refunded {{refund_amount}} to your {{payment_method}}.

Your bank may take a few days to show it.

{{your_name}}

Send this only after the refund is done, and copy {{refund_amount}} from the refund, not from your own maths.

Things that look like a broken code but aren't

Shopify's help pages list several cases that catch store owners out:

  • No discount field at checkout. It appears only when at least one discount code is active. Checkouts from a draft order invoice don't let customers enter codes by default, Shop Pay customers must log in first, and checkout or pricing apps can hide it.
  • Too many codes. Customers can use at most 5 product or order discount codes and 1 shipping discount code on one order.
  • Buy X get Y. On plans other than Shopify Plus, products in a Buy X get Y discount can't take further product discounts; Shopify applies the best overall discount.
  • Where the order is placed. Discount combinations work on the Online Store, the Storefront API and Shopify POS, not on Facebook, Instagram, Google or other external checkouts.
  • Zero-value discounts. A discount worth $0 or 0% might not work correctly at checkout.
  • Recreated codes. If you delete a one-use-per-customer code and create a duplicate, customers who used the old one can use the new one once.

Before a sale, place a test order or go through checkout with the code and stop before payment. Shopify suggests testing excluded products and different addresses at the same time. If customers write about the same code more than once, the fix belongs in the discount settings, not in more replies; see writing store policies that answer emails.

If a customer is upset rather than confused, start with the apology and the fix; our complaint reply structure helps. If they want to cancel the order because of the price, use an order cancellation reply instead.

When AI drafts the discount reply

Discount emails are easy to word and easy to get wrong: a draft that says "I've refunded the difference" or "here's a new code" promises something nobody has done yet.

Corresso drafts every reply from documents your store approved, such as your FAQ, and each fact cites the document it came from. Rules written in code hold a draft that promises a refund without citing a document allowed to offer one, or that contains an order number or date the AI wrote itself. With Shopify connected, the customer's orders appear beside the email and one click fills the order number into the draft. The refund itself stays in your Shopify admin, and a person reads every draft and presses Send. How Corresso works with Shopify.

Questions people ask

Why does Shopify say my discount code is not valid?
"Enter a valid discount code" means the code doesn't exist or isn't currently active: a typo, a code that has expired or hasn't started, or one that was deactivated. If the message says the code isn't valid for the items in your cart, the code exists but doesn't apply to those products.
Why does a discount code say it has already been used?
The code has reached its usage limit or is limited to one use per customer. If the customer has no order with the code, Shopify says an unfinished checkout may still be holding it; you can send a new code with the same conditions.
Can I add a discount to an order that has already been placed?
Yes. In Shopify you can edit the order and add a discount to an item, or apply a discount to a line item from the refund page, and then refund the difference to the customer.
How many discount codes can a customer use on one Shopify order?
Shopify allows up to 5 product or order discount codes and 1 shipping discount code per order, and only when each discount is set to combine with the others.

Let the next email arrive with its first draft done.

Forward your support address today. 14 days free, then $75 a month. Cancel before day 15 and you pay nothing.

Start free trial