All posts

Adding Email Checks to Sign-Up? Clean Your Existing User Table First

··2 min read

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.