Every free tier gets farmed
Someone burns forty throwaway addresses to reset a trial and your metrics stop meaning anything. Signup counts inflate, activation rate collapses, onboarding emails bounce, and your ESP starts throttling you because a share of your sends go nowhere.
Then there is the honest failure: gmial.com, yaho.com. That user meant to sign up. They will never receive the confirmation email, and they will never come back to find out why.
How it works
- 1Verify on blur or on submit, server-side.
- 2Block disposable and invalid. Nothing else.
- 3If an address looks like a typo, have your form suggest a fix rather than showing a generic error.
Get the UX right or you will cost yourself more signups than you save
- Never block catch-all or role-based addresses at signup. Plenty of legitimate companies run catch-all domains, and ops@ is a real buyer. Blocking these is how you silently reject enterprise accounts.
- Fail open on timeout. A verification outage must never become a signup outage.
- Write a specific error. “That address can't receive mail — check for a typo?” converts. “Invalid email” makes people leave.
- Verify server-side only. Client-side checks are advisory, and the key leaks.
What it changes
| Before | After |
|---|---|
| Signup count inflated by throwaways | A signup number you can plan against |
| Activation rate diluted by fake accounts | Activation rate reflecting real users |
| Onboarding emails bouncing | Sender reputation intact |
| Bad addresses silently lost | Bad address caught while the user is still on the page |