Before you launch or pay for traffic

Web sign up form best practices: field by field

A sign up form can work on a laptop and fail on a phone, where autofill fills the wrong box and the keyboard hides the next field. A simulated visitor fills the form the way a stranger does, on both.

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

What are the best practices for a web sign up form?

A sign up form should ask only for what the next screen needs, show each password rule before submit, and keep a visible label on every field, not only placeholder text. It should accept the email formats people really use, such as addresses with a plus sign, and keep what was typed when an error appears. Forms often fail when a rule is checked only after submit, or when autofill puts a name in the email box. A simulated test fills the form as a new visitor would, on a phone and a laptop, and reports the field where the visitor stopped, the error text and a screenshot.

What this looks like in a report

Who
Hiroshi, a payroll clerk trying a time tracking app for his team
How they arrived
Clicked Sign up on a blog post about timesheets
Where they stopped
Password field, on the third try

“It says my password needs a number, and it has one. Then it says my email is invalid, and I just used my work address. I used a plus sign before. I don't want to start again on this.”

The fix. Accept plus signs and newer domains in email validation, and show each password rule beside the field as the visitor types. Keep the typed name and email when a submit fails, and move focus to the first field with an error.

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

The form rejects a valid email after the visitor has typed everything

A sign up form is a sequence, and the visitor remembers the field that said no. They type a name, then an email with a plus sign for their work account, then a password with a number and a capital letter. On submit the form says the email is invalid, and it clears the password boxes, so they type the password again. The rule that rejected the address was written for a shorter list of domains, and nothing on the page says which rule it was. A visitor who gets that message often does not retry. They close the tab and never learn why.

  • The form asks for the email and password first, and everything else on the next screen.
  • Every field has a visible label that stays on screen while the visitor types.
  • Password rules sit beside the field and tick off as the visitor meets each one.
  • Email validation accepts plus signs, long domains and newer top-level domains.
  • A failed submit keeps every typed value and moves focus to the first field with an error.

Ask for less before the first submit

On a sign up, only the fields that create the account have to be right before the visitor gets in. An email and a password are two decisions. Company size, role and team name belong on the screen after the account exists, where they tune the product instead of blocking the account. Asked on one page, the same questions ask for a decision on every line before the visitor knows what the product does. Mark the optional fields as optional in the label itself, so nobody has to guess which ones they may leave blank.

Show a password rule before submit, and an email error as it happens

A rule that appears only after submit is a surprise, and a surprise at the end of a form reads as a trap. Wrong: one line at the top that says Invalid password after the button is pressed. Right: a list beside the password field that says at least eight characters and one number, and ticks each one off as it is met. The same goes for email. Check the address when the visitor leaves the field, not when they press the button, and name the problem in words: the address has no at sign, or it has a space in it. A plus sign or a newer top-level domain is valid, and should never produce an error.

Autofill and the phone keyboard move the visitor between fields

On a phone, the browser offers to fill the form from saved details, and it sometimes fills the wrong box. A name can land in the email field when the labels are unclear, and a phone number can fill the company box. Set the autocomplete attribute on each input to the value that matches what it asks for, such as email for the address and new-password for a new password, so the browser knows the difference. The on-screen keyboard is the other problem. When it opens, it can hide the field the visitor is typing in, and the next field may sit under it. Check the form in a phone browser with the keyboard open, field by field.

Where a sign up test stops, and what the form cannot prove

A simulated visitor fills the form with a working email address and a password it makes up, then submits. The report shows each field it filled, the error text it got and the step where it stopped, with a screenshot. It cannot sign in with Google or single sign on, so a Google option is a path the test cannot finish. It also cannot read a text message, so a phone number that needs a code will stop the test at the code step. The test does not show whether the account is stored correctly in your system, because the visitor only sees what the screen says.

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 script or field added to the form can break it again

A form that worked in spring can fail after a new field, a consent checkbox or a chat widget is added to the page. Those can change the input, move focus or block the button while they load. After each change, fill the form on a phone and a laptop as a new visitor, and read the error text again. With paid credits, visitors can open a preview behind a site password.

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 I require a phone number on sign up?

Only if the product needs it. A visitor cannot receive a text message, so the test can fill the field and check its layout, but it cannot complete a code step. Where a phone number is needed, say why on the form, and offer an email route if the product allows one.

Does the test show how many visitors finish the form?

No. It does not predict a completion rate, and it gives no rate. It shows which field each simulated visitor stopped on, the error they saw and a screenshot. Completion rates come from your analytics once real visitors arrive, or from a live experiment.

Should the password field have a show button?

Yes, in most cases. On a phone the visitor cannot see the characters they typed, and a show or hide control lets them check a typo before submit. The test shows whether the control is visible beside the field and whether it works.

Can a simulated visitor sign up with Google?

No. Visitors cannot sign in with Google or single sign on. The test covers the email and password route, and it reports a Google option as a path it did not finish.

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 .