What breaks

Discount code not working Shopify: find why

The code is right, the cart looks right, and the total does not move. Mimiq sends a simulated visitor through the same cart with the code and shows the step where the discount stops applying.

5 visitors try to .
First test free with an accountRun it from your coding agent

Why is my Shopify discount code not working at checkout?

A discount code is refused when the cart breaks a rule the code carries: a minimum subtotal or quantity, a limit to certain products or collections, a start or end date, a cap on uses, a customer group, or a setting that blocks it from combining with another discount. An active code can still be refused, and the cause is usually the cart the shopper built rather than a typo. Change one thing in a failing cart at a time to find the rule. A simulated visitor enters the same code in the same cart and reports the step where the total stopped changing.

What this looks like in a report

Who
Ines, buying a gift for her sister after a newsletter sent her a code
How they arrived
Opened the store from a newsletter link on her phone
Where they stopped
Checkout, after entering the code with a scarf and a candle in the cart

“I typed the code from the newsletter and the total stayed the same. I took the candle out and it still did not move. I figured the code was dead, so I closed the tab.”

The fix. Tell the shopper which products or minimum the code needs, in the email and beside the code field.

An illustration. Run a test to see your own.See a real sample report

The code is active in your admin and refused in the cart a shopper builds

The owner tests with a cart they already know: one item, their own address, a code they created that morning. A shopper builds a different cart. A code limited to one collection works on a shirt from that collection and does nothing for a mug the shopper adds beside it. A minimum subtotal fails on a cart that is just under it. A limit of one use per customer passes for the owner, who has never used the code, and fails for a shopper who already has.

  • Open the discount's settings and read the minimum, the products or collections, the customer group and the use limits.
  • Add or remove one item at a time in a failing cart until the code starts to apply, then note which item changed it.
  • Check the start and end dates against today's date, and check the combination setting for other discounts.
  • Retype the code by hand. A space copied from an email or a link can make a valid code fail.

The rules that refuse a code without a typo

A discount code is refused when the cart breaks a rule set on the discount itself. The usual rules are a minimum subtotal, a minimum quantity, a limit to certain products or collections, a start date that has not arrived or an end date that has passed, a cap on total uses or uses per customer, and a combination setting that blocks it when another discount is already in the cart. A typo is possible, but a code typed correctly that still fails usually fails on one of these rules.

Customer eligibility is the rule owners forget. A discount can be limited to certain customers or a customer group, so a guest who has not signed in may not qualify while an account you have tested with does. Check that setting before you assume the code is broken. A code that works for you and fails for a stranger often sits there.

Change one thing in the cart until the total moves

Work in a private window, from the same link a shopper would use. Start with a cart that fails, remove one item and apply the code again. Then put that item back, remove a different one, and apply again. The step where the total begins to change points at the rule. A total that moves only when the scarf is in the cart means the code is limited to scarves. A total that will not move below one subtotal means a minimum. A code that works in a cart in the morning and fails in the same cart in the afternoon points at a use cap that was reached in between.

Write down each cart and what the total did, then open the discount and confirm the rule by name. If the settings match what the shopper was told, the fault is in the email, the landing page or the wording beside the code field, and the admin is correct. Owners often skip this step and edit the discount, which changes the rule for every shopper at once and hides the cause.

A simulated visitor runs the code in the cart a shopper builds

Give the visitor a cart a shopper would really build, such as a scarf and a candle, along with the task. The visitor adds the items, opens checkout, enters the code and reads the order summary. The report gives the step where the discount line stopped moving, with a screenshot of the summary and any message under the code field. Run a second visitor with a cart that should qualify, and the two reports show which item or minimum the code rejected.

The run stops at the payment step. It does not pay with a real card, and it cannot read your discount settings or your customer groups. For a code limited to a customer group, give the visitor a test account in that group on a paid run. A bot check can stop a visitor too, and the report marks that visitor as blocked by the site.

What you get with Mimiq

  1. 01

    Run it by hand, or on every pull request

    Paste a link and a task in the app and watch the visitors work. Or run them on every preview deploy: the GitHub Action comments on the pull request, any other CI can call the MCP endpoint, and your coding agent can run it too.

  2. 02

    Bugs and usability problems in one report

    The browser records errors and failed or slow requests on the step they happened. The visitors say where the wording or the steps confused them, and where they left.

  3. 03

    Visitors that behave like your audience

    Each visitor is a different profile with a reason to be there, matched to who the page is for, described by you, or built from your own customers.

  4. 04

    A prompt to fix each problem

    Every problem comes with a fix to paste into Cursor, Claude Code, Lovable or any coding agent, and one prompt hands over the top problems at once. Then send the same visitors through again.

  5. 05

    Follow every visitor

    See each visitor's whole path, step by step with screenshots, and what it was thinking at every step. Ask any visitor a question.

The browser records relevant JavaScript errors and failed or slow app requests encountered during the run, attached to the step where they occurred. The visitors are simulated: they find problems, they do not predict how many real people will convert.

A new minimum or a second campaign can refuse the same code again

Every new campaign adds rules: a higher minimum, a new collection, or a code reused in an email after it has hit its use cap. Rerun the same two carts after each change to see which one now fails. Run them on a preview address before the store goes live, so a shopper never meets the refusal first.

Starter

Try it on one launch

$9 once
120 credits, never expire

About 4 tests of 5 visitors

  • Visitors on your landing page, signup and checkout
  • Where they left and why, with a fix to copy for each problem
  • Run it in the app or on every pull request
  • Ask any visitor a question, included
  • Test accounts and protected previews
Buy 120 credits

Builder

Test every build

$19 a month
500 credits every month

About 20 tests of 5 visitors

  • Everything in Starter
  • Credits refill each month, and what is left rolls over once
  • Cancel anytime
Choose Builder

Pro

Test every release, as a team

$49 a month
1,500 credits every month

About 60 tests of 5 visitors

  • Everything in Starter
  • Credits refill each month, and what is left rolls over once
  • Cancel anytime
Choose Pro

Scale

Test at scale, every day

$149 a month
6,000 credits every month

About 240 tests of 5 visitors

  • Everything in Starter
  • Credits refill each month, and what is left rolls over once
  • Priority support
  • Cancel anytime
Choose Scale
$0for your first test, with a free account (Google sign-in, no card). It includes 50 credits, enough for 10 visitors. After that a visitor uses 5 credits, and packs start at $9 for 120 credits.
See a sample report

Questions

Why does the code work for me but not for a customer?

Your own carts are not a stranger's cart. You may hold a larger subtotal, a product the code covers, or an account the code is limited to. Build the cart a customer would build, in a private window, and enter the code the way they would.

Can I test a discount code without placing an order?

Yes. The visitor applies the code and reads the total at checkout, and the run stops at the payment step. It does not pay with a real card, and it does not predict how many shoppers would use the code.

Does a test show why a code stopped working last month?

No. A run sees the cart and the code as they are today. It cannot tell you the use count, the date you changed a setting or the orders placed before the fault. Read those in the discount's settings and in your order history, then run the same carts to confirm the fix.

What if the code is limited to a customer group?

A visitor cannot reach that group unless you give it a test account that belongs to the group, and that needs a paid run. Without the account, the report shows the code refused for a guest, which is the result a guest would get.

Keep reading

Send visitors and see what breaks first.

Your first test is free: sign in with Google and it starts right away. Last checked 2026-11-02.

5 visitors try to .