Skip to content
AuthenticationShopifyTroubleshooting

Shopify Discount Code Works in Cart but Disappears at Checkout

A valid-looking code is removed when checkout calculates the final total. Test the code against product eligibility, customer segment and active sale rules.

Quick Answer

Review discount stacking, minimum purchase and subscription restrictions. Eligible checkout applies the discount under stated conditions.

A valid-looking code is removed when checkout calculates the final total. The steps below isolate this particular failure and preserve the current account, purchases, saved media and device configuration where applicable.

Recognize the exact symptom

A valid-looking code is removed when checkout calculates the final total. Before making a change, write down whether the symptom affects every contact, file, device or account—or only one. Note the application and operating-system versions, approximate time of failure, connection type and any on-screen wording.

Most useful A/B test: Test the code against product eligibility, customer segment and active sale rules. Keep all other conditions as similar as possible so the outcome points to one probable layer rather than several unrelated causes.

Likely causes and how to separate them

An order record, an authorization, a captured charge and a bank statement are distinct states. A failed checkout page does not establish that no payment happened. Reconcile account-side transaction identifiers and seller order records before making any new payment.

Evidence What it suggests Next decision
Problem occurs only on the original setup A device, connection, file or account-specific setting remains plausible. Test the code against product eligibility, customer segment and active sale rules.
Both test setups fail in the same way A shared service, entitlement or source problem is more likely. Merchant: compare automatic discount precedence and Markets currency eligibility.
Control test works but the real item fails The affected content, profile or workflow needs focused inspection. Keep a copy of the original before changing it.

Safe first correction

Start here: Review discount stacking, minimum purchase and subscription restrictions. Change one relevant setting at a time. If the action cannot be undone safely, stop and preserve the original configuration or contact the account owner or administrator.

After the controlled change, repeat the exact action that failed—not merely a related feature. If it still fails, revert the test setting where appropriate. Avoid clearing application storage or reinstalling an app before checking whether it holds unique local messages, media, workspaces, offline content or device data.

Step-by-Step Troubleshooting

Choose Beginner for low-risk checks or Advanced to isolate the failure with focused evidence.

Identify the exact failure

A valid-looking code is removed when checkout calculates the final total. Write down the account or device, software version, time and whether this occurs in one conversation, item, file or session. Do not make changes until the baseline is reproducible.

Run a safe comparison

Test the code against product eligibility, customer segment and active sale rules. Repeat using a non-sensitive test item when possible. Keep the same application version and change only one variable.

Try the least disruptive correction

Review discount stacking, minimum purchase and subscription restrictions. Preserve original values. If another user or administrator controls the relevant account, request permission before changing a shared setting.

Confirm the actual result

Eligible checkout applies the discount under stated conditions. Repeat after a normal reopen or reconnect when safe. If it did not improve, undo the test and move to the Advanced investigation.

Advanced diagnosis

Inspect the remaining boundary: Merchant: compare automatic discount precedence and Markets currency eligibility. Capture the smallest useful evidence: sanitized timestamp, supported software version, account role, relevant local setting and the first visible failure.

Test the code against product eligibility, customer segment and active sale rules. If the comparison changes the outcome, focus only on the part that changed. If both environments fail identically, confirm the provider status or eligibility requirements before modifying the operating system, local network or account protections.

What to avoid

Safety rule: Do not create duplicate orders to test a discount. Do not use unofficial login pages, cracked apps, modified payment links or tools that request backup codes. A reversible observation is more valuable than a destructive repair applied without a diagnosis.

How to verify the fix

Pass condition: Eligible checkout applies the discount under stated conditions. Check it once immediately and again after a normal application restart or reconnection, when that action is safe. Record the outcome and confirm other previously working features are unaffected.

Solution Checklist

0/12 completed

If the problem continues

Preserve the baseline and escalate with a clear comparison: Test the code against product eligibility, customer segment and active sale rules. Include the relevant result, affected app version, device, connection and time. For account, billing or access issues, use official support and never include tokens, passwords, full payment details or personal recovery codes.

Reduce the chance of recurrence

Keep a record of the working version, permissions and configuration. After future app updates, account changes or device migrations, repeat this small diagnostic instead of changing multiple settings at once. Do not create duplicate orders to test a discount.

Did this solution fix your problem?

Optional feedback helps us improve this guide. Never send private data.

Can't find your answer?

Tell our editors which problem needs a guide. Do not include passwords, API keys, email addresses, private URLs, or full error logs.

Analyze Error

Paste an error message to identify its likely category. Analysis takes place in your browser; only a short error category will be used if you choose to search.

Do not paste passwords, tokens, private URLs or full logs.