What breaks
Checkout not working: find the step that fails
Shoppers reach the checkout, press the last button, and get nothing back or an error. This page shows how to find the step that breaks, and what a simulated visitor adds.
Why is my checkout not working?
Checkout usually fails at one step, and the shopper often sees no message about it. That step might be an address form that rejects a ZIP code, a shipping list that stays empty for one country, a discount code that blocks the Place order button, or a server error when the order is created. Open the checkout as a guest, move through each step in order, and note the last step where the page changed. A simulated test repeats that walk with a visitor who has never bought from you, and records the step where it stopped.
What this looks like in a report
“The shipping step showed a spinner, then a blank space where the options should be. I typed my ZIP code again and nothing changed. I was not going to pay without knowing the delivery cost, so I left.”
The fix. When the shipping request returns no options, show 'We do not deliver to this address yet' under the address field and keep the Continue button off. Then test a guest checkout to one country you ship to and one you do not.
An illustration. Run a test to see your own.See a real sample report
Each step hands the shopper on, until one step does not
A shopper moves through checkout in a fixed order: contact, address, shipping, payment, review. Each step can fail for a reason that lives in another system. The address step may reject a postal code format that the store's own rules accept. The shipping step may show a blank list because no rate covers that country, which looks like a slow page rather than an error. The payment step may refuse a discount the server already counts as used. The shopper sees a button that does nothing, then leaves. An owner who tests while logged in, with a saved address, never reaches those rules.
- Does the address step accept a ZIP code from another region, or show a message under the field?
- Does the shipping step list at least one option for a guest in a country you ship to?
- Does a discount code change what the Place order button does, or stop the step from moving on?
- Does the browser console show a red error at the step where the page stopped responding?
- Does the last step name the exact field or rule it rejected, or only say something went wrong?
Walk the steps in the order a guest meets them
Start with an empty cart and a guest session. Go to the cart, press Check out, and fill in each step with the details a new customer would use, not the ones saved on your own account. Write down the step name and what the page shows at the moment it stops: a spinner, a message, a disabled button, or a page that reloads with the fields cleared. Most failures look like a page that froze, but the step that froze is usually the one where a rule runs on the server. The address, shipping and discount steps each call the server, so their failures can look alike from outside.
A spinner that never ends points to a request, a message points to a rule
The Network tab in the browser's developer tools tells the two apart. Press the step's button with the tab open and read the request that fires. A request that returns 400 or 422 with a message in its body is a rule the server enforced, such as a discount that is used up or a postal code the store does not accept. A request that returns 500 is the server failing, and the store's error log will show it. A request that never returns is a hang, usually a shipping or tax lookup to another service.
No request at all is a different case. If the button press sends nothing, a script rejected the input before it reached the server. The Console tab shows that as a red error on the same press, often naming a file from an address or payment widget. Write down the exact step, the status code and any message text. Those three details are what a developer needs, and they are what a fix prompt needs too.
Your saved address and logged in session skip the steps a guest fills
A store owner usually checks out while logged in. The address is saved, the shipping option is remembered, and a discount from last month may still sit in the cart. A guest has none of those saved, so a shopper without a saved address meets the address form first, then a shipping lookup your account never triggers. Run the same checkout from a private window, signed out, with an address in a country you rarely ship to. The two runs differ at the step where the guest stopped.
A simulated test sends a visitor who arrives from a search or an ad, has never been to your store, and goes through the steps in order. You name the start page and the task, and the run records each step, the errors on it and a screenshot. The run ends at the payment step, because a visitor cannot pay with a real card. A checkout that requires sign in with Google stops the run at that screen, because a visitor cannot sign in that way.
What you get with Mimiq
- 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.
- 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.
- 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.
- 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.
- 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 shipping zone or coupon rule can stop checkout again
A new shipping zone, a tax rule or a coupon limited to some countries can stop checkout the week it goes live, and only for shoppers in one place. Rerun the same guest shopper after each change and compare the step where they stopped. Owners also test a store behind a site password, and check each preview deploy before a sale starts.
Starter
Try it on one launch
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
Builder
Test every build
About 20 tests of 5 visitors
- Everything in Starter
- Credits refill each month, and what is left rolls over once
- Cancel anytime
Pro
Test every release, as a team
About 60 tests of 5 visitors
- Everything in Starter
- Credits refill each month, and what is left rolls over once
- Cancel anytime
Scale
Test at scale, every day
About 240 tests of 5 visitors
- Everything in Starter
- Credits refill each month, and what is left rolls over once
- Priority support
- Cancel anytime
Questions
Does a simulated test place a real order?
No. The visitor goes through the checkout as a guest, fills in the address, picks a shipping option and stops at the payment step. Visitors cannot pay with a real card, so an order is never completed. A checkout that requires sign in with Google stops the run at that screen, before the address step.
Why does checkout work for me but fail for shoppers?
Your own session is usually logged in, has a saved address and skips steps a stranger must fill. Test from a private window, as a guest, with an address you rarely ship to. The steps that differ between your run and the guest run are the steps to read first.
Can this tell me how many shoppers will leave checkout?
It does not predict how many real shoppers will leave. It shows which step one visitor stopped on, why, and what the page showed, which is a finding and not a rate. Rates come from your analytics or from a live experiment that sends real traffic to two versions of the page.
Does the test cover every payment method?
It reaches the payment step and shows the methods it can see, such as card fields or a wallet button. It does not pay with any of them. A failure that only appears after a payment is sent needs a check in your payment provider's test mode, with the provider's published test card numbers.
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.