Expiry, limits, exclusions, and checkout UX—why the code looks valid but never applies.
Quick diagnosis table
| Symptom | Check first |
|---|---|
| Coupon does not exist | Code spelling, status and correct store |
| Usage limit reached | Total, per-user and email limits |
| Not valid for selected products | Included/excluded products, categories and sale rules |
| No coupon field | Theme, Checkout Block, direct checkout or custom CSS |
| Discount disappears | Checkout refresh, shipping/tax recalculation or another coupon |
Step 1: Read every restriction
- Open Marketing → Coupons and edit the code.
- Confirm Published status and a future expiry date.
- Review discount type, amount, free-shipping flag and expiry.
- Review spend, individual-use, sale-item, product/category and allowed-email rules.
- Review total and per-user usage limits.
Step 2: Match the cart to the rules
- Test with allowed SKUs only and remove excluded categories.
- Test a non-sale cart when sale items are excluded.
- Check whether variable-product restrictions target the parent or a variation.
- Free-shipping coupons still need a matching zone and method—see wrong shipping cost.
Step 3: Checkout UI and conflicts
Checkout Block and direct-checkout funnels may place or hide the coupon field differently. Re-enable it in the funnel builder or retain a coupon field on checkout. Individual-use coupons reject other codes; role and membership extensions can also change eligibility.
Retype pasted codes
Pasted codes can contain spaces or fancy dashes. Retype the code in a private window before changing rules.
Step 4: Confirm after apply
- Apply the coupon and verify the discount line.
- Change shipping address and confirm it remains.
- Place a test order and check order notes and emails.
FAQ: WooCommerce coupons not working
- Why does it work for me but not customers?
- Check per-user limits, allowed email lists and test logged out with a fresh address.
- Can coupons work with Checkout Block?
- Yes, when the block exposes a coupon field. Use a compatible extension if it is missing.
- Why is a free-shipping coupon not free?
- The coupon and a free-shipping method must both apply in the customer’s zone.
Need WooCommerce help beyond this fix?
Custom checkout, shipping, catalog rules and store architecture—scoped delivery.
Discussion
0 comments
No comments yet.
Have a technical question, correction or a different interpretation? Add to the discussion.