Conversion
Why every launch page needs an email capture
What 13x checks
This is rule conversion.email-capture in the public registry: There is a way to capture an email. It runs on every audit, against the pages we actually fetched, and its result is derived from the response rather than estimated.
- Surface
- Conversion
- Score weight
- 6 of the readiness score
- Scope
- Reported as skipped when the page renders only with JavaScript
- Applies
- To every site
Registry version 2026-07-30. Every rule is published, and the audit is deterministic — the same page produces the same finding every time.
The fix
The same text the audit hands you when this check fails on your own site.
Add a way to capture an email. The minimum that works:
<form action="/api/subscribe" method="post">
<label for="email">Get notified when we launch</label>
<input id="email" name="email" type="email" required
autocomplete="email" placeholder="you@company.com" />
<button type="submit">Notify me</button>
</form>One field. Every extra one measurably reduces completions, and you can ask the rest later.
If you have no backend, Buttondown, Resend, ConvertKit and Tally all give you a hosted endpoint.
Two things to get right: say what they are signing up for, and if you are in the EU use a double opt-in — a confirmation email before you send anything else. Launch traffic is mostly people who are not ready to buy yet, and this is the only way to reach them again.
Does your site have this problem?
13x checks this and 112 others against your live URL in about 30 seconds. No account, and every finding comes with the fix for your framework.
No signup. Results in 30 seconds.
More conversion checks
- What size should an og:image beog:image is the right size
- Which analytics should I install before launchAnalytics is installed
- My page has no clear call to actionThere is a recognisable call to action
- Why I need error tracking before launchErrors are reported somewhere
- Why my site needs a contact routeThere is a way to make contact
- Should I show pricing on my websitePricing is stated or reachable