Religh

WooCommerce Coupons Not Working: Rules, Limits and Cart Checks

A rejected WooCommerce coupon often comes down to its restrictions or the basket it is applied to. Check the message, eligible products and spend rules before changing the promotion.

Read the guide
Fixes4 min read
The Religh raccoon compares a blank coupon with a phone.
Search Field Notes

A useful next read.

36 field notes

All Field Notes

Read the error against the intended offer

Record the exact message and whether it appears in the cart, checkout or after the customer edits the basket. Then describe the promotion: who qualifies, which items are included, the dates and whether other discounts can be used. The code’s marketing name is not the rule.

Build one basket that should qualify. If the offer is limited to a category or full-price products, choose an item you know meets that condition. A deliberately ineligible cart should still be rejected; getting the code to apply everywhere is not a useful fix.

If the coupon field is missing, first confirm coupons are enabled in WooCommerce > Settings > General and inspect the actual cart or checkout control. If Apply does nothing and no validation message appears, review browser errors and checkout customisations on a protected copy. Loosening product or spend restrictions will not repair a control that never submits the code.

Check saved rules, usage limits and customer context

Open the coupon and review discount type, expiry, spend limits, included/excluded products or categories, sale-item rules and allowed customer details. Review individual-use settings and usage limits as well. A single condition can explain why a code works for staff but not for the customer.

Keep the existing rule while you investigate. Removing every restriction can create an unintended live promotion. If a discount extension calculates the offer, check that extension’s settings too; a core WooCommerce coupon screen does not describe every custom pricing rule.

A code may work in a new test account but be blocked for a customer who already used it. Review the relevant usage history privately, along with any allowed-email or account condition. Do not reset a live promotion’s limits just to make a test pass.

Compare guest and signed-in behaviour where the offer supports both. Check that the customer-facing explanation matches the actual restriction. If account-specific pricing or loyalty logic is involved, identify which extension owns the calculation before changing WooCommerce’s coupon values.

Follow the coupon rule

Compare the message with the basket, customer and usage restrictions.

  • Ineligible basket

    A product, customer or amount condition excludes the cart.

    Compare with a cart that should qualify.
  • Usage or date limit

    The coupon has expired or reached an intended limit.

    Review saved restrictions and private usage history.
  • Discount without delivery

    The coupon applies but free shipping has separate requirements.

    Check the zone, shipping permission and threshold.

Compare a qualifying and non-qualifying cart

Test two controlled baskets that differ in one relevant condition. For a category offer, compare an eligible item and an excluded item while keeping customer context and other offers the same. For a spend rule, change the amount while retaining the products and account.

Write the expected discount before testing. Check percentage versus fixed discounts and the items they affect. Then edit the cart after applying the code and confirm the recalculated result. This separates a restriction that works correctly from a calculation or refresh problem.

The Religh raccoon stands beside a shopping cart holding a parcel.

Separate discount eligibility from free shipping

A discount applying does not guarantee free shipping. The shipping method has its own destination and eligibility requirements, and a coupon must have the appropriate free-shipping permission when that condition is used.

For a minimum amount, check whether the free-shipping rule uses the basket before or after the coupon reduction. A qualifying basket can fall below the threshold after discount. Test the same address and cart with and without the code so a zone mismatch is not mistaken for a coupon fault.

Verify the offer where customers use it

If a valid cart behaves differently at checkout, review the checkout type and recent discount, theme or Blocks compatibility changes on a protected copy. Test desktop and mobile, cart edits and the final order discount.

Approve the smallest correction with the promotion owner. Keep eligible carts accepted and excluded carts rejected, then update promotional wording if the policy changed. Store the tested conditions with the code so staff can distinguish a genuine issue from an offer that does not cover the customer’s basket.

The Religh raccoon holds a phone beside a parcel after checking the purchase journey.

Common questions

Why does a WooCommerce coupon work for one customer but not another?

Compare usage limits, allowed customer details, account-specific pricing and the exact basket. Different customer context can make the same code correctly qualify or fail.

Should we remove restrictions to debug a coupon?

Avoid doing that on the live promotion. Test one condition at a time on a private copy and preserve the intended offer.

Why does the coupon apply without free shipping?

Discount and shipping eligibility are separate. Check the destination’s method, the coupon’s free-shipping permission and the threshold’s discount timing.

Useful documentation

A related guide

WooCommerce Free Shipping: Thresholds, Coupons and Zones
LET’S TALK

Tell us about
your store.

Enter an international phone number.

PrivacyTerms

Send your enquiry