If a WooCommerce coupon code is not working, the problem is usually a rule rather than a broken discount system.
A coupon can look perfectly valid in WordPress and still fail because the basket does not meet its conditions, the usage limit has been reached, the customer is excluded, another discount conflicts with it, or the coupon field is hidden.
The fastest fix is to read the exact message WooCommerce shows, then compare that message with the coupon rules.
WooCommerce coupon not working: quick diagnosis
| What you see | Check first |
|---|---|
| “Coupon does not exist” | Spelling, coupon status, correct website |
| “Coupon usage limit reached” | Total/per-user limits |
| “Coupon not valid for this product” | Product/category restrictions |
| Nothing happens after Apply | JavaScript, cache, plugin conflict |
| Coupon field is missing | Checkout/cart design or coupon setting |
| Coupon works for admin but not customer | Email/user restriction, cache, account rule |
1. Make sure coupons are enabled
Go to:
WooCommerce → Settings → General
Check that coupon codes are enabled.
This sounds obvious, but it is worth checking before deeper troubleshooting.
2. Open the coupon and check its status
Go to:
Marketing → Coupons
Open the code and confirm it is active/published.
Also confirm the code you are typing matches exactly.
3. Check the expiry date
If a campaign ended, WooCommerce should reject the coupon.
Check:
- expiry date;
- store timezone;
- whether a marketing email still contains an old code.
If you extend the campaign, update the coupon and every place where the end date is mentioned.
4. Check minimum and maximum spend
A coupon may require the basket to be above or below a certain value.
Test the basket total carefully.
Depending on your setup, discounts, shipping and tax can make the number customers see different from the amount used by the coupon rule.
5. Check product and category restrictions
The coupon can be limited to:
- specific products;
- specific categories;
- everything except selected products;
- everything except selected categories.
If only some products fail, this is one of the first places to check.
6. Check sale-item restrictions
A coupon may be set not to apply to products already on sale.
If the code works on full-price products but not sale products, check the coupon’s sale-item setting.
7. Check usage limits
WooCommerce can limit:
- total uses of the coupon;
- uses per customer;
- number of products discounted.
A customer may see a code online that has already reached its allowed usage.
8. Check email restrictions
Some coupons are limited to one or more billing email addresses.
If the customer is using a different address, WooCommerce may reject the code.
This can also create confusion for guest checkout because the restriction depends on the email entered during checkout.
9. Check whether “individual use” creates a conflict
An individual-use coupon may not stack with another coupon.
If one discount is already applied, remove it and test again.
Also check third-party promotion plugins that apply discounts automatically.
10. Check whether the coupon field is hidden
The coupon can be valid while customers have nowhere obvious to enter it.
Check:
- Cart Block;
- Checkout Block;
- theme styling;
- direct-to-checkout plugins;
- custom checkout templates.
Do not assume the field is missing simply because it is collapsed behind a “Have a coupon?” link.
11. If Apply does nothing, test for a script problem
If the code field is visible but the Apply button does nothing:
- clear cache;
- test in a private browser;
- check recent plugin/theme changes;
- check browser JavaScript errors;
- check whether a checkout customisation plugin is involved.
This is no longer just a coupon-rule problem. It may be a front-end failure.
12. Check caching if the coupon seems inconsistent
A cached cart can make discount behaviour look random.
Examples:
- coupon appears applied but total does not change;
- coupon works once then seems broken;
- one browser shows a discount and another does not;
- removing a coupon does not update the total.
The WooCommerce cart guide covers cache and session problems.
13. Test a clean basket
Start with one simple product that should definitely qualify.
Then apply the coupon.
If it works, add other products and conditions back one at a time.
This is easier than testing a complicated real basket containing sale items, bundles and several shipping rules.
14. Check variable products carefully
A coupon restriction may point to a specific variation or product setup.
If the parent product qualifies but the selected variation does not, the customer may see unexpected behaviour.
15. Check automatic discount plugins
Third-party pricing plugins can change how WooCommerce coupons behave.
Examples include:
- buy-one-get-one offers;
- automatic coupons;
- role-based pricing;
- membership discounts;
- bulk pricing;
- currency tools.
Test on staging with the promotion plugin disabled if the standard WooCommerce coupon works there.
16. Check whether a recent update changed checkout behaviour
If the coupon field disappeared or stopped working after an update, check:
- WooCommerce version;
- checkout/cart blocks;
- theme;
- coupon/promotion plugin;
- cache/minification settings.
Use a controlled plugin conflict test rather than disabling everything on a live sale.
17. Test the final total, tax and shipping
A coupon can affect more than the product price.
After applying it, confirm:
- discount amount;
- tax;
- shipping;
- free-shipping threshold;
- order total.
Do not assume a coupon is fixed because the green success message appears.
WooCommerce coupon troubleshooting checklist
- Check coupons are enabled.
- Check code/status.
- Check expiry.
- Check minimum/maximum spend.
- Check product/category rules.
- Check sale-item setting.
- Check usage limits.
- Check email restriction.
- Remove competing coupons.
- Test a simple qualifying basket.
- Clear cache.
- Check checkout/cart customisation.
- Complete a test order.
Coupon problems can block a live campaign
If you have sent a discount code to hundreds of customers and the checkout rejects it, fix the cause before sending another marketing email.
For urgent live-store faults, Core Web UK provides WooCommerce repair support.
Test coupons with a rule matrix
For important promotions, record the conditions before launch.
| Scenario | Should coupon work? |
|---|---|
| Qualifying full-price item | Yes |
| Excluded product/category | No |
| Below minimum spend | No |
| At/above minimum spend | Yes |
| Sale item | Depends on restriction |
| After usage limit | No |
Run the matrix before sending a campaign to customers.
Check the marketing message matches the actual rule
A technically correct coupon can still create complaints if the advert says “20% off everything” while the code excludes half the catalogue.
Keep exclusions, minimum spend and expiry clear wherever the code is promoted.
Do not change several coupon rules while testing
If a code fails, remove one restriction at a time on a test coupon. This shows whether the issue is spend, product restriction, usage limit or another rule.
Clean up expired campaigns
Old coupon pages, banners and email automations can keep circulating expired codes. Remove or update old promotional links when a campaign ends so customers do not keep testing a code you intentionally retired.
Check the coupon on mobile as well as desktop
Some checkout designs hide the coupon field inside a collapsed section that is easy to miss on a phone. Test the full flow on mobile and make sure the customer can find where to enter the code.
Use a fresh test customer for per-user restrictions
If a coupon has a per-user limit, your own administrator account may already have used it. Test with a new customer or guest address so you are checking the rule fairly.
Make sure refunds and cancellations do not confuse usage expectations
Depending on how the promotion is configured, a refunded or cancelled order may not behave the way staff expect with usage limits. If a customer says “I never actually used the discount”, inspect the order and coupon usage rather than simply creating another code.
Keep one plain WooCommerce coupon for troubleshooting
When your store uses several promotion plugins, keep a simple test coupon with no product restrictions and a small discount. If that works but campaign coupons do not, the basic WooCommerce coupon system is probably healthy and the problem is in the campaign rules.
Document high-value campaigns before launch
For Black Friday, seasonal sales or influencer codes, record the code, dates, products, exclusions, usage limits and expected checkout behaviour. This makes it much easier to diagnose complaints quickly.
Test coupon wording from the customer’s point of view
Enter the code with different capitalisation, copy it from the marketing email, and test it on a phone. Customers often paste spaces or use a code that looks similar to another campaign.
Keep codes short enough to type and avoid characters that are easy to confuse where possible.
Check what happens after the discount is applied
The checkout should make the discount obvious. Customers should be able to see the coupon or discount line and the updated total. If the amount changes but the page gives no clear feedback, shoppers may think the code failed and try repeatedly.
Protect margins when changing coupon rules
Before relaxing restrictions to make a code work, calculate what the promotion does to low-margin products, free shipping and sale items. A technical fix should not accidentally turn a controlled campaign into an unprofitable site-wide discount.
WooCommerce coupon FAQs
Why is my WooCommerce coupon code not working?
Common causes are expiry dates, minimum spend, usage limits, excluded products/categories, sale-item rules, email restrictions or another discount conflicting with it.
Why is the WooCommerce coupon field missing?
Check that coupons are enabled and review your Cart/Checkout Block, theme and checkout customisation. The field may also be collapsed behind a coupon link.
Why does the coupon say it is valid but the total does not change?
Check caching, cart refresh, product restrictions and other pricing plugins. Test a simple basket to isolate the rule.
Can WooCommerce coupons work on sale items?
Yes, unless the coupon is configured to exclude sale items or another pricing rule prevents it.
Can two WooCommerce coupons be used together?
Often yes, but an individual-use coupon or third-party promotion rule can stop stacking.
