WooCommerce coupon not applying? Check the cart first

It is promotion day, one customer enters the campaign code and gets rejected, then another basket accepts the same code five minutes later. The instinct is to edit the discount rule until the complaints stop. That can turn a limited offer into a wider one, while leaving the actual checkout conflict sat there waiting for the next customer.

Abstract cart passing through coupon eligibility rule gates

For Dubai stores, UK retailers and anyone running a time-sensitive WooCommerce offer, the useful question is not whether the code exists. It is whether that exact cart and customer satisfy every rule attached to it.

Freeze the failing order before touching the coupon

Start by recording the conditions of the failed attempt. Take a screenshot of the cart, coupon message, quantities, subtotal, shipping selection and logged-in state. Note the customer email, user account, currency, device and whether another discount was already applied.

This sounds fussy because it is. Once somebody changes the coupon settings, clears a cache or asks the customer to try again, the evidence can disappear. Coupon failures are much easier to diagnose when the cart and customer state are captured before the rule is edited.

A WooCommerce coupon can be valid, active and still unavailable for a particular order. WooCommerce supports restrictions for minimum and maximum spend, included or excluded products and categories, customer email addresses, individual use and usage limits, as set out in its coupon management documentation.

If the configuration appears correct but the live basket behaves differently, it has moved beyond a quick settings check and into WooCommerce website repair in Dubai. The job then is to establish which part of the live setup is changing the result.

The coupon eligibility matrix

Treat the coupon as a rule set evaluated against a specific cart, not as a password that is simply right or wrong. Work through every restriction against the captured basket rather than relying on what the promotion was meant to do.

Coupon condition What to compare Typical reason it fails
Minimum or maximum spend Cart subtotal and the coupon setting The basket is below the threshold, or sale items and tax are being treated differently than expected.
Included products or categories Every cart item, variation and category A variation, bundle or product category does not match the eligible rule.
Excluded products or categories Cart contents against exclusions One excluded item can make the offer unavailable, depending on the configured promotion logic.
Customer email restriction Billing email and account email A guest has entered an allowed email but a logged-in customer account uses another address.
Individual use only Existing coupons, automatic discounts and store credit rules Another promotion is already active in the basket.
Usage limits Coupon usage count and customer history The overall limit or the per-user limit has already been reached.

Check customer history before blaming the basket

A common live-promotion scenario is a code that works for a guest checkout but fails for a logged-in customer who has used the offer before. The cart can be identical. The difference is usually the account, billing email or per-user usage limit.

Check the coupon’s usage records, the customer account email and the billing email entered at checkout. Also check whether the store has customer role rules, membership pricing or a loyalty extension applying its own conditions. A logged-in shopper can carry more eligibility baggage than a guest basket. Handy when it is deliberate. Less handy when nobody remembers setting it up.

Do not reset usage counts or remove email restrictions merely to make one test pass. First establish whether the restriction is doing its intended job. If it is, the customer needs a different offer or a clear explanation. If it is not, change the rule with a proper record of why.

Separate the configured rule from the live calculation

Once the restriction matrix says the coupon should work, recreate the same cart in a controlled test. Use an incognito browser for the guest route and a test account for the logged-in route. Keep shipping method, quantities and applied discounts the same.

  1. Test the saved coupon against the frozen failing cart.
  2. Test a simple eligible cart containing one known qualifying product.
  3. Test the same cart as a guest and as the affected customer.
  4. Check the order total after the discount, including tax and shipping treatment.
  5. Record the exact rejection message or calculation difference.

The final calculation matters. A coupon may apply but appear wrong because tax, shipping, sale-price handling or another discount changes the amount customers expected to see. Confirm the discount line, order total and the values saved on a completed test order. A green success notice alone is not much evidence.

When extensions and custom code enter the argument

Coupon plugins, product bundles, subscriptions, role pricing, multi-currency tools and custom checkout snippets can all alter eligibility or totals. So can object caching that serves an old fragment after a promotion has changed. Clearing every cache and disabling half the shop mid-campaign is a fine way to create a second problem.

Use a staging copy where possible, and isolate one component at a time. Check recent plugin updates, mu-plugins, code snippets and theme functions that filter cart discounts. If the issue began after an update and affects coupon entry, cart refreshes or checkout totals more widely, follow a focused WooCommerce checkout repair process after an update rather than treating each coupon as a separate mystery.

For ongoing stores, keep a small test-order routine around promotions: one guest order, one returning customer, one restricted product and one combination-discount attempt. A documented WooCommerce maintenance test order checklist makes it easier to spot whether a later plugin, PHP or cache change has shifted the rules.

Run one controlled retest, then decide

After finding the cause, make one targeted change and retest the original captured scenario. Do not alter the spend threshold, usage limit and stacking settings all at once. You will not know which change fixed the issue, and you may quietly broaden the campaign further than planned.

If the original cart now passes, check the final order calculation and document the intended rule. If it still fails while the coupon configuration appears correct, keep the screenshots, customer state, active extension list and test results together. That is enough useful evidence for a repair rather than another round of guessing.

Questions about WooCommerce coupon restrictions

Why does WooCommerce say a coupon is not applicable?

WooCommerce usually shows this when the current cart or customer does not meet one or more coupon conditions. Check spend thresholds, qualifying and excluded products, categories, customer email restrictions, usage limits and whether another coupon or automatic discount is preventing combination use.

Can product, customer or usage restrictions block a coupon?

Yes. A coupon can be limited to particular products or categories, excluded from others, restricted to named email addresses, limited to a number of uses or limited per user. A returning logged-in customer may fail where a guest succeeds if their account or email has already reached the permitted usage limit.

Why does a coupon work in one browser but not another?

The browsers may be carrying different cart contents, customer sessions, saved addresses or applied discounts. One may be logged in and the other may be a guest. Cached cart fragments or a session-related extension can also make the displayed state misleading, so compare the actual cart and customer conditions first.

Capture the exact cart, customer state and coupon message before changing the discount rules. If the live store still disagrees with the configured rule, message Standish Services on WhatsApp about WooCommerce repair with those details and the investigation can start from evidence rather than a live promotion panic.