Before you launch or pay for traffic
How to create a signup form: four steps
A signup form is four parts that have to work together: the field, the button, the connection to your list and the confirmation. Most first forms fail at the connection, which the owner cannot see from the form itself.
How do I create a signup form for my website?
Build the form with one email field and a button that names the action, such as Get the guide. Connect it to the list or tool that stores the address and sends the first message, then send a test entry through the live page. Place it where a stranger reaches it on a phone without scrolling past the product. A simulated visitor enters an address with a working inbox and shows whether the confirmation arrives.
What this looks like in a report
“The article is good, but the signup sits at the very bottom. I typed my email and got a thank you. Nothing reached my inbox. Did it work or not? I will leave.”
The fix. Move the form to just after the first paragraph, label the field, and change the button to say what the visitor gets. Then send a fresh address through the live page, confirm it appears in the list, and check that the thank you message names the confirmation email.
An illustration. Run a test to see your own.See a real sample report
The form looks finished but the address goes nowhere
The first form on a site usually works on the owner's screen. The field accepts text, the button responds, and a message says thanks. The fault sits one step behind the screen: the address goes to a placeholder list, an old list, or a folder nobody reads, and no one notices until the list stays empty. The field can fail too. A placeholder that reads Enter your email disappears once someone types, and a phone keyboard can capitalize the first letter of an address. The owner typed lowercase on a laptop and never saw either problem.
- Field: does it have a visible label, not only placeholder text?
- Button: does it name what the visitor gets, rather than Submit?
- Test entry: does the new address appear in the list it should reach?
- Thank you message: does it say what happens next, and where to check?
- Phone: does a fresh address go through with the keyboard open?
How it works
- 01
Build one field and a button that names the action
Use one email field with a visible label, not only placeholder text. Name the button after what the visitor gets, such as Send me the guide, not Submit. Keep the form to one field until the connection works.
- 02
Connect the form to a list you can open
Choose the tool that stores the address and sends the first email, then confirm a test address appears in its list. If it appears nowhere, the form is not connected, whatever the page says.
- 03
Place it where a phone reader reaches it
Put the form just after the first useful paragraph, or above the fold. A form at the very bottom of a long page is found only by people who read to the end.
- 04
Test it as a stranger with an inbox
Enter a fresh address on a phone, confirm the message arrives, and check that its link opens a page saying you are signed up. Then try an empty field and a mistyped address, and check that each error names its field.
Check the connection before you style the form
A form can say thanks whether or not the address reached anything, because the message comes from the page, not from your list tool. After one test entry, open the list the form should feed and look for the address. If it is missing, the page is working and the connection is not, and no change to the design will fix that. Do this before you spend time on colors or spacing.
Labels and errors a phone keyboard cannot break
Give the field a label that stays on screen once the visitor starts typing. Set the input type to email so a phone shows the right keyboard, and let the typed address stay in place when an error appears. An error should say which field failed and how to fix it, such as Add the at sign before the domain. Keep the error next to the field, not at the top of a long page where a phone visitor will not see it.
Where the first form belongs on the page
Put the form directly after the sentence that names what the visitor gets, or above the fold on a phone. A form in the footer is found only by readers who scroll to the end, and a reader who has not reached the bottom cannot use it. A form placed right after the offer lets the visitor decide with the offer still in view. One form is enough at first. A second form on the same page competes with the first and splits the visitor's attention before either one has been tested.
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 field or theme change can break the connection without a visible error
A field added to the form, a renamed button or a theme update can leave the connection pointing at old field names, and the page keeps saying thanks. Send a fresh test address through the live form after each change, check that it lands in the list, and rerun the stranger path before you send the form new traffic.
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
Do I need a double opt-in step?
It depends on your tool and the choice you make in its settings. A confirmation step adds a click for the visitor, and the message it sends becomes part of the sign-up. Whichever you choose, test the whole path, including the confirmation email and the page its link opens.
Why does my form say thanks but nothing arrives?
The success message is set by the page, so it can show even when the connection is broken. Send a fresh address through the live form and check the list it should land in. If it is missing, check the connection settings before you change the design.
Will a test tell me how many people will sign up?
No. It does not predict sign-ups from your page. It shows whether a stranger can reach the form, enter an address, receive the confirmation and land on a thank you page that says what happens next. The sign-up rate comes from your page analytics once real visitors arrive.
Does the test check spam filters?
It follows the confirmation to the inbox the visitor has, so you can see the message and its links. It cannot show how every mail service sorts the message. Send a test to a mail account you use, and check the sender name, before you rely on the form.
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.