Adding Email Checks to Sign-Up? Clean Your Existing User Table First
After adding an email check to sign-up, export your existing users as a CSV, verify the email column and tag every invalid row so lifecycle emails stop going to it. The check on the form only covers new accounts, so the old table still holds typos and throwaways. The email verification for SaaS sign-up forms page explains both halves, and the email list cleaner can pre-clean the file.
Step 1: export only what you need
Export user ID and email, and nothing else. That keeps personal data out of any spreadsheet that does not need it. Add a signup date and last-active date, since both help you judge rows later.
Step 2: upload and verify
Upload the CSV on the verify page. Because it is a list upload, it does not count toward your API calls. Rows come back with the reason code on each.
Step 3: tag the results in your database
| Reason | Tag | Suggested action |
|---|---|---|
| Mailbox not found | email_invalid | Stop lifecycle emails; show an in-app prompt |
| No mail server | email_invalid | Same |
| Typo domain | email_typo | Prompt with the suggested fix |
| Disposable address | email_disposable | Keep out of marketing; review for trial abuse |
| Accepts all addresses | email_risky | Keep sending, watch bounces |
| Role address | email_role | Keep sending |
Step 4: fix what you can in the app
Ask users with a typo or a missing mailbox to confirm their email next time they log in. Real users who typed a slip will fix it. Accounts that never log in again stay tagged and unemailed.
Step 5: re-read your activation numbers
Fake and dead sign-ups pull activation down and trial counts up. With the invalid and disposable rows tagged, you can see activation for real addresses only. Our trial sign-up verification guide covers adding phone checks too.
What this cannot do
- It cannot prove a user controls the address; a confirmation link does.
- Yahoo, AOL and Microsoft consumer rows come back risky because those providers do not allow an honest check.
- Results are a snapshot. Re-run before a big send.
Run your user table
Upload it on the verify page: the first 100 checks are free with a Google sign-in, no card. For the API, see email verification API and pricing.
Common questions
Why clean existing users after adding a sign-up check?
The check only stops new bad addresses. Your table already holds the typos and throwaways from before, and they keep bouncing your lifecycle emails.
How do I verify a user table?
Export the email column as a CSV and upload it for bulk verification. A CSV upload does not use API calls.
Should I delete users with invalid emails?
Mark them rather than delete them. Keep the account, stop the lifecycle emails and add a prompt in the app to confirm an email.
How often should I repeat it?
Before a major email send or a re-engagement campaign, and whenever the bounce rate rises.
What does it cost?
The first 100 checks are free with a Google sign-in, no card. Pro is $39 a month, and the first 100,000 checks a month run at full speed, then slower, never cut off.
Check your list before you send
Real mailbox checks over SMTP, and nothing is sent to the address. Sign in with Google and your first 100 email checks are free, no card. Plans for bigger lists are on the pricing page.