
Coupon Code Is Valid but Checkout Rejects It—How to Find the Rule
A customer enters the promotion exactly as advertised, clicks Apply and gets an invalid-code message—or nothing changes at all. The coupon may appear active in the dashboard, which makes the failure look random. In practice, the checkout is usually rejecting one condition: date, cart value, product eligibility, customer eligibility, usage limit, discount combination or sales channel.
The useful question is not simply whether the code exists. It is which rule evaluates to false for the failing cart. This guide follows the same evidence-first method we use when testing a promotion before launch: preserve one failed checkout, compare it with one known-good case, and change one variable at a time.
Start with a private browser window and a simple cart. Do not test through an administrator preview alone. Use the same storefront, market and checkout route that a real shopper uses.
Capture the exact failure before editing the coupon
Record the code exactly as entered, the products and variants in the cart, quantities, subtotal before shipping and tax, customer email, destination country, currency, device, timestamp and the message shown by checkout. A screenshot is useful, but the cart details are what make the error reproducible.
Ask whether the field is missing, the code is rejected, the code is accepted with a zero discount, or one discount replaces another. These are different failures. A hidden field is a layout or checkout-configuration problem. A rejection is an eligibility decision. A zero discount often means no item qualifies. A replacement usually points to combination rules.
If the cart itself loses products or returns empty before the code is applied, fix that state first using our empty-cart troubleshooting guide. A coupon test is unreliable when the cart session is not stable.
Test the literal code before the promotion logic
Copy the code directly from the promotion record instead of retyping it. Remove leading and trailing spaces introduced by email, chat or a copied line break. Check visually similar characters such as O and zero, I and lowercase L, or hyphen and dash.
Do not assume capitalization is the cause. Many platforms treat coupon codes as case-insensitive, including Wix, but spaces and unsupported characters can still matter. If the code was published in an image, verify that its visible text matches the stored value.
Create no duplicate promotion yet. First confirm that the original code is active and accessible in the dashboard. Duplicate codes, archived rules and app-generated promotions can make staff edit a different record from the one checkout evaluates.
Check activation, dates and store time zone
Confirm that the promotion is active, its start time has passed and its end time has not passed. Inspect the store's configured time zone rather than the shopper's clock. A campaign scheduled for midnight in one region can begin or expire on a different local date for international visitors.
For a promotion that fails only near launch or expiry, record the exact stored timestamp and the checkout timestamp. Scheduled publishing, daylight-saving changes and cached campaign pages can create the appearance that an offer is live before the checkout rule is live.
If the promotion is intended for a future campaign, test a temporary copy with a controlled active window instead of changing the production dates. Delete or deactivate that temporary rule after testing so it cannot be discovered by customers.
Calculate the qualifying subtotal the way checkout does
Minimum-spend promotions are a common source of confusion. The number shown as Total may include shipping, tax, gift cards or non-qualifying items, while the coupon evaluates an eligible merchandise subtotal. Remove shipping and tax from your expectation unless the platform's rule explicitly includes them.
Test one cart just below the threshold and one just above it. If the promotion applies only above the threshold, the rule is functioning. Then improve the customer-facing message so shoppers understand the amount still required.
Check whether discounted or sale items count toward eligibility. Also check whether a subscription, digital item, gift card, bundle or add-on is excluded. A cart can exceed the advertised minimum while its qualifying subtotal remains too low.
Trace product, collection and variant eligibility
Open the promotion's Apply to or eligibility settings. Confirm whether it targets all products, specific products, categories, collections, brands or services. Then compare the exact cart variant with the configured target.
Catalog changes can silently break old promotions. A product may have moved to a new collection, been duplicated under a new ID, switched from a standard item to a bundle, or been replaced during a migration. The storefront name can look identical while the promotion references an obsolete item.
Test one clearly eligible item by itself. If the discount appears, add the original items back one at a time. This exposes exclusions and helps distinguish a fixed-cart discount from a product-level discount that applies only to selected lines.
Check customer eligibility and usage history
Repeat the test as a guest and as the affected signed-in customer. If the guest receives the discount but the account does not, inspect customer segments, email restrictions, first-order conditions, wholesale roles and per-customer usage limits.
A one-use-per-customer rule may use the billing email or platform customer identity. Confirm that the shopper is not reusing an email attached to an earlier completed order. Also inspect abandoned or incomplete checkouts when the platform temporarily reserves usage while payment is pending.
For promotions limited to a customer segment, verify that the customer currently belongs to that segment and that the segment had time to update. A marketing audience and a checkout eligibility segment are not always the same object.
Inspect total and per-customer usage limits
Compare the recorded usage count with the promotion's total limit and per-user limit. Include manual orders, test purchases and other sales channels if they consume the same promotion. Staff often assume a test order does not count when it does.
Do not simply increase the limit without understanding the count. First verify whether duplicate orders, pending payments or app-created checkouts are holding uses. If a payment provider fails to report a declined or abandoned transaction correctly, a reserved use can remain unavailable longer than expected.
If the code applies but checkout later loses its payment options, continue with our missing payment-methods diagnostic. Coupon eligibility and payment eligibility are separate stages.
Look for automatic discounts and combination conflicts
A cart may already contain an automatic product, order or shipping discount even when the shopper did not enter a code. Open the order summary and promotion dashboard to identify every active rule. Then check whether the manual code is allowed to combine with each discount class.
When discounts cannot combine, some platforms keep the better offer and reject or replace the other. That is expected logic, not a broken field. Test the code with automatic promotions temporarily disabled in a controlled environment, then configure the intended combination explicitly.
Bundles, loyalty apps, subscriptions, dynamic pricing and checkout extensions may create discounts outside the platform's standard promotion screen. Audit those sources before concluding that no other discount exists.
Platform-specific checks
Wix Stores
In Wix, make sure the promo-code option is visible on the Cart or Side Cart and has enough color contrast. The field remains available on the Checkout page, so compare both locations. If the field exists but the code fails, check the coupon's status, start and end dates, total-use limit, one-use-per-customer setting and exact copied value.
Review what the coupon applies to: all products, a specific product, a category or a minimum order subtotal. Wix notes that an extra blank space can invalidate the entered value, while capitalization does not. Test the qualifying product by itself before rebuilding the coupon.
Shopify
Open the discount in Shopify admin and verify its active dates, customer eligibility, minimum requirements, products or collections, total uses and one-use-per-customer setting. If checkout says the code is not valid for the items, focus on item eligibility rather than the literal code.
Review active automatic discounts and the Combinations settings for both offers. A code can be valid yet blocked by an automatic discount, app-based pricing rule or incompatible checkout customization. If a customer is told the code was already used but no order exists, inspect unfinished checkout and payment state before resetting the customer limit.
WooCommerce
Open the coupon's Usage restriction and Usage limits tabs. Check minimum and maximum spend, individual-use-only, excluded sale items, included and excluded products or categories, allowed billing emails, total uses, uses per user and the number of qualifying items.
WooCommerce evaluates the displayed cart subtotal for minimum-spend rules, including tax when prices are displayed including tax. Test the exact tax-display configuration and customer address. Then temporarily isolate coupon, bundle and dynamic-pricing extensions on a staging copy if core settings appear correct.
If the promotion changes the cart but shipping disappears afterward, use the missing shipping-rate guide to trace the new subtotal, package and method conditions.
If the discounted total shows an unexpected tax result, follow our missing checkout-tax diagnostic with the discounted cart preserved.
Check the browser request when the button appears unresponsive
Open the browser's developer tools, clear the Network panel and apply the code again. Look for a failed request, blocked script, expired session, 403 response, 5xx response or JavaScript error. Capture the response message without exposing personal data or authentication tokens.
Retest in a private window with extensions disabled and on a second browser. If it fails only in one browser or device, investigate cached checkout assets, autofill, content blockers and custom scripts. If it fails everywhere, the platform rule or server response is the stronger lead.
Do not rely only on client-side validation. The server must re-evaluate the code, cart and customer before changing the order total. A custom checkout that accepts a code visually but trusts the browser's calculated discount creates both accounting and security problems.
Run an acceptance matrix before relaunching the offer
Test an eligible cart, a cart below the minimum, an excluded product, an expired window, a customer who has already used the code, a new guest, a cart with an automatic discount and a mobile checkout. Confirm that valid cases receive the correct amount and invalid cases receive an accurate explanation.
Verify the discount in the cart, checkout, captured payment, order record, confirmation email, refund screen and analytics. The displayed saving must match the order data. Record the final configuration and keep one test order as evidence.
Finally, check the public promotion copy. State the end date, eligible products, minimum spend, customer restrictions and whether other offers can combine. Clear terms reduce support tickets and make genuine technical failures easier to identify.
Fix the first rule that rejects the cart
A coupon can be active and still be correctly rejected. The dependable sequence is literal code, activation window, qualifying subtotal, product eligibility, customer eligibility, usage limits, combinations and checkout request. Change the first failing rule, then repeat the original checkout without changing the other variables.
If the promotion still behaves inconsistently across customers or devices, contact Webcurry for a checkout review. Bring the coupon configuration, one failing cart and one expected result so the diagnosis starts with reproducible evidence.



Comments