What breaks

Add to cart button not working: find the cause

The button looks live, you press it, and nothing happens. Here is how to tell why, and what a simulated visitor adds.

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

Why is my add to cart button not working?

An add to cart button that does nothing is usually blocked by one of a few things: a color or size that was never chosen, a variant with no stock, a script that failed before the button was wired up, a cart request the server rejected, or something on the screen covering the button. Click it once with the browser console open to find the cause. A simulated test sends a visitor from a search or ad through the same click on a phone or a laptop, and records each step with a screenshot.

What this looks like in a report

Who
Lucas, buying a linen shirt for a June wedding
How they arrived
Clicked a phone ad for a linen shirt
Where they stopped
Product page, after choosing a color, before any size

“I picked the blue one and pressed Add to cart. Nothing happened. I pressed it again, then wondered if the site was even working, so I went back to the ad.”

The fix. When Add to cart is pressed with no size chosen, show 'Choose a size' directly above the button and scroll to it. Test the product page at phone width after the change.

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

The button looks live, but the click never reaches the cart

The cause is often a step they did not know was needed: the size was never picked, so the store takes the click and shows its warning somewhere they did not look. Or a script failed earlier on the page, so the click never sends a request. The owner tests logged in, with the size remembered, on a desktop, and the button works. A stranger arrives from an ad on a phone with nothing saved, and the same button sits under a sticky bar.

  • Is every option set, such as color or size, or does the button still say to choose one?
  • At phone width, does a cookie banner, chat bubble or sticky bar cover the button?
  • Does the browser console show a red error at the exact moment you click?
  • Does clicking add a request in the network tab, and what status does it return?
  • Is the item in the cart page, even if the cart icon did not change?

The order a shopper meets the problem

The shopper picks a color and a size, then presses the button. If the store needs a size and none was picked, many stores take the click, show nothing beside the button, and put the warning above the fold. The second press gives the same silence. The shopper scrolls for the cart icon, sees the count has not moved, and leaves.

Causes that look the same from outside

From the outside, every cause looks identical: the button is pressed and nothing changes. A missing size is a choice the shopper did not make. An out of stock variant is a stock count the store holds. A script error is code that failed before the click was wired up. A rejected request is the cart server refusing the add. Each needs a different fix, so a generic fix, such as clearing the cache, usually spends time without touching the cause.

How to find the cause in the browser console

Open the product page in a normal browser window, not one logged in as an admin. Open the developer tools and go to the Console tab. Press Add to cart once, with the options set the way a shopper would set them. A red error at the moment of the click names a file, often a third party script. No error and no reaction points toward the options or an overlay.

Next, open the Network tab and press the button again. No new request means the click never reached the cart. A request with a 4xx or 5xx status means the cart refused the add. A successful response with no change in the cart icon means the button worked and the display did not. Open the cart page in a new tab to settle it: the item is there or it is not.

The ad visitor's click to the cart, and what stops the run

A simulated test runs the same click with a visitor who arrives the way your shopper does. You give the page address, the task and who the visitor is. Name how they arrive, such as a keyword or ad text, and the report compares what the ad promised with what the page shows. Each step records JavaScript errors and failed app requests, with a screenshot.

The run stops where you tell it to, such as at the cart, and it never pays with a real card. Visitors cannot sign in with Google or single sign on, so a store that only allows those stops the run early. A bot check can stop a visitor too, and the report then marks that visitor as blocked by the site. The test does not read your analytics, so it cannot tell you what share of visitors reached the button.

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 size warning or script fix can break the click again

After you fix the size warning or the script that failed, send the same visitor through the same product page again. Each run shows whether the visitor reached the cart and which step stopped the ones who did not. Owners keep testing for a store behind a site password and for each preview deploy.

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 button work on my laptop but not on my phone?

Phones add causes a laptop often hides: a cookie banner, chat bubble or sticky bar covering the button, and a tap that opens a menu instead of pressing the button. Open the page at phone width and look at the button before anything else. If the layout is clear and the click still fails, check the console on a phone-sized browser.

Can a test check add to cart without placing an order?

Yes. The visitor chooses the options, adds the item and opens the cart, and the run ends there. The test does not pay with a real card and does not finish a purchase. If the bug only shows at the payment step, a checkout test goes as far as that step and stops there.

Will fixing the button bring back the sales I lost?

A test cannot say that. It finds the step where a visitor stopped and why, but it does not predict how many real shoppers would have bought. Rates come from your analytics, or from a live experiment that shows the old page and the new one to real visitors. Use the test to find the broken step, then measure the fix with real traffic.

Why do I see the button working, but a visitor says it does not?

Your own session is usually logged in, has your last size remembered, and runs on a desktop you already know. A visitor arrives as a guest from a search or an ad, often on a phone, with nothing saved. Test like a stranger: open a private window, arrive from the ad's search term, and add the item.

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 .