What matters first: Coupons depend on dates, usage limits, customer identity, products, categories, minimum spend, sale exclusions and calculated cart totals.
Why WooCommerce rejects a coupon that looks valid
Changing several rules at once changes the application state and can obscure the original sequence of events. One controlled cart and the validation notice narrow the failure.
Reproduce one qualifying cart exactly
- Record coupon code, customer, time, currency and complete cart.
- Capture the exact WooCommerce notice and logs.
- Check usage counts, date timezone, minimum/maximum spend and exclusions.
- Inspect custom pricing, subscriptions, bundles and currency plugins.
Read the rejection before changing rules
- Rule mismatch: The current cart does not meet product, category or spend conditions.
- Usage limit reached: Customer or global counts already consumed the coupon.
- Timezone/date issue: Start or expiry is evaluated in the site timezone.
- Custom pricing conflict: Another plugin changes line prices or blocks discounts.
Repair the failed eligibility rule only
- Reproduce with the smallest cart that should qualify.
- Correct only the failed rule or usage record.
- Test guest, logged-in and relevant customer-role contexts.
- Verify tax and shipping calculations after discount.
Eligibility mismatch or exhausted usage?
The exact rejection notice usually tells you whether WooCommerce is failing eligibility or consumption. Reproduce the smallest cart that should pass, then compare spend, products, customer identity and usage counters. Only after those match should custom pricing, sessions or extensions become the main suspect.
Coupon validation depends on the live cart and session. If eligibility changes between requests, first rule out cart/session loss at checkout and add-to-cart or product-data failures before changing usage limits or discount rules.
Do not force acceptance by editing counters
Do not edit usage counts to force acceptance without checking completed, cancelled and refunded orders.
Verify both qualifying and rejected carts
- The coupon applies once to every intended eligible cart.
- Ineligible carts receive a clear correct rejection.
- Totals, tax, reporting and usage counts remain accurate.
Close the incident only after intended customers can apply the coupon to qualifying carts, non-qualifying carts are rejected for the correct reason, and totals, tax and usage counters remain consistent.
WP REPAIR INCIDENT STANDARD
Safe intervention sequence
Changing several rules at once destroys the evidence. One controlled cart and the validation notice narrow the failure.
- Record coupon code, customer, time, currency and complete cart.
- Capture the exact WooCommerce notice and logs.
- Check usage counts, date timezone, minimum/maximum spend and exclusions.
- Inspect custom pricing, subscriptions, bundles and currency plugins.
What must be verified
- The coupon applies once to every intended eligible cart.
- Ineligible carts receive a clear correct rejection.
- Totals, tax, reporting and usage counts remain accurate.
Official technical sources
Continue the diagnosis
This guide explains the diagnosis. If the site is affected now, the intervention should preserve a rollback path and verify the real business journey.
See the emergency repair service →ABOUT THIS SYMPTOM
Frequently asked questions about this guide.
Can a coupon fail even though its expiry date hasn't passed yet?+
Yes. Start and expiry dates are evaluated against the site's configured timezone, not the customer's local time, so a coupon can appear expired or not yet active for shoppers in a different timezone than the store.
Does reaching a usage limit produce a different error than not meeting the cart conditions?+
The article notes both surface through the WooCommerce validation notice, so the notice text and logs need to be captured exactly rather than assumed. Usage limits and unmet product, category, or minimum-spend conditions are separate causes that require different checks to distinguish.
Can another pricing plugin block a coupon that looks correctly configured?+
Yes. A plugin that changes line prices, handles subscriptions, or manages currency conversion can conflict with WooCommerce's discount calculation and block or alter the coupon's effect even when the coupon's own rules are set correctly.
Is it acceptable to manually edit a coupon's usage count to let a customer through?+
Not without checking completed, cancelled, and refunded orders first. Editing usage counts to force acceptance can misrepresent how many times the coupon was actually redeemed and affect reporting and future validation.