Before you launch or pay for traffic

Checkout form design: which field stops buyers

A buyer judges a form by the one field that stopped them, and that field is often one you never typed into yourself. A simulated visitor can show you which field it was.

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

What makes a checkout form design work for buyers?

A checkout form works when each field asks for one thing in a format the buyer already uses, in an order that follows from the answer before it, and shows an error only where the buyer can fix it. Many lost buyers trace back to one small rule: a region list that empties, a phone field that rejects a space, or a postcode box that will not take letters. A simulated test fills the form the way a stranger would and shows the field where each visitor stopped, with the message on screen.

What this looks like in a report

Who
Malik, ordering a replacement charger for his laptop
How they arrived
Clicked a search ad for a laptop charger
Where they stopped
Region field, after choosing a country that has no region list

“I picked the country and now the region box is empty and says required. There is nothing to pick. I typed my town in it, and the form still will not move on.”

The fix. Hide the region field for countries without a region list, and drop the required flag for those countries. Keep a plain text region field for countries whose list is incomplete.

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

A field flags an error while the buyer is still typing

Owners tab through fields they know, and the browser fills the rest. A buyer types a phone number one digit at a time, and a field that checks the number on every keystroke turns red after the third digit. The buyer reads that as wrong input and stops. A postcode box set to a numeric keypad blocks the letters some postcodes contain. None of this shows up when you test from your own saved account, and none of it throws an error for you to find.

  • Each field's type matches what it holds: email, telephone, or a text box with a digit keypad only where digits alone are valid.
  • Labels stay visible once the buyer starts typing, so nobody has to remember what the field asked for.
  • Errors appear after the buyer leaves a field or presses Continue, not after each keystroke.
  • Fields a country does not use are hidden, not left required with an empty list.
  • The autofill attributes on the address, postcode and phone fields name what each field actually holds.

Country first, because the region list depends on it

A region, state or county field is only as good as the country chosen before it. When the country comes last on the form, a buyer fills in a street, a town and a postcode, then picks a country, and the region list swaps under their hands. An empty required list is a dead end that looks like a bug. The tell is in the screenshot. A red region field with no options, after a country was chosen, points to the order of the fields rather than to anything the buyer typed.

Put the country at the top of the address block, and let it drive the rest. The buyer then sees the region options shrink or disappear before they type anything. Where a country has no region list at all, the field should not exist for that buyer. Where the list exists but is incomplete, use a plain text box instead of a dropdown that leaves out the buyer's town.

Input types, keyboards and autofill are part of the design

A telephone field should open a number pad, and an email field should open a keyboard with the at sign on it. A postcode field that opens a digit-only pad cannot take a postcode with letters, and the buyer has no way to type one. A placeholder that vanishes when the buyer starts typing removes the only hint of what the field wants, so a buyer who forgot the format has to delete their input to find out. Keep the label above the field and the example text short.

Autofill depends on the attributes you set. If the postcode field carries the attribute for a phone number, a phone browser may fill it with the wrong value, and the form rejects the postcode with a message that never names the field. The visitor's own words in the report usually give this away, such as a thought that says the keyboard only had numbers, or that the form filled something in on its own.

When an error appears, and what it says

An error on a half-typed phone number is a rule firing too early. The buyer has not finished, so the message tells them they are wrong about something they had not yet completed. Show the error when the buyer leaves the field or tries to continue, and make it name the field and the format it wants, such as digits only, with the country code or without it. A message that says invalid input and nothing else sends the buyer back to guess.

Look at where the stops cluster. Several visitors stopping on the same field, each for a different reason, points to a field that asks too much. One visitor stopping on a field, with a clear reason, points to that one field. You can ask any visitor a question after the run, such as which field stopped them and what they expected to see there.

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 tax number or delivery note field can make a valid form fail

Forms gain fields over time: a tax number, a delivery note, a company name. Each new field brings its own rule, and a rule that suits one country can reject the next country's address. Rerun the same visitors after each new field, on a preview address, and read the step where the field sits.

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

Should the form ask for a phone number at all?

Only if you need one for delivery, and say why next to the field. A simulated visitor shows the field where they stopped and what they said about it. What a field costs you in sales comes from your analytics, not from a test.

Do I need a region field for every country?

No. Show the region field only for countries that use one, and mark it required only where the list is complete. For the rest, a plain text box is safer than an empty dropdown. The test shows whether the field you chose stops a visitor. It does not show whether your shipping rules agree with it.

Can the test check my autofill settings?

Not your browser's autofill itself, which depends on what a visitor has saved. The test shows whether a field stops a visitor who types normally. Check the attributes in your code, then try the form on a phone yourself.

Should I use one long form or several steps?

Either can work. The test shows where a stranger stops in each version, and whether a step asks for something they do not have to hand. It does not tell you which layout sells more, and it gives no rate for either version.

Will the test catch a form that fails in one browser only?

It can, when the run covers that browser and device. Visitors run in laptop and phone browsers, so a field that behaves differently in one of them shows up as a stop at that field. Run the same form in each browser you care about, and read the report step by step.

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 .