Should I verify in real-time at signup or batch later?

Last updated May 19, 2026Best practices

Real-time and batch are not mutually exclusive. Most mature Valid Email Checker setups use both, at different stages of the subscriber lifecycle. The question is really which one to start with given your acquisition pattern and budget.

When real-time at signup wins

Verify at the form when:

  • Your signup flow is the primary acquisition channel and a clean list at entry matters more than maximum signup velocity.
  • You're already losing trust signals with your ESP from previous bounces. Stopping the bleeding at the form gives the next batch of subscribers a clean reputation start.
  • Your monthly signup volume is below 100,000 — the cost is predictable and small.
  • Your form is publicly accessible (no SSO gating), which means bots and bad-actor submissions show up regularly.

See how to integrate VEC into a signup form for the implementation details.

When batch later wins

Skip real-time and lean on periodic batch runs when:

  • Signups are gated by SSO or a paid checkout — the email is already verified by an external trust signal.
  • Your acquisition volume is enormous (millions per month) and the per-signup verification cost would dominate the budget.
  • Conversion rate sensitivity is extreme. Every extra millisecond on the form costs measurable revenue. Verify after acquisition instead.
  • Your team has not yet invested in custom signup-form work and you want to start cleaning the list today.

The hybrid setup most teams converge on

After running both for a while, most VEC users settle into a pattern:

  1. Real-time at signup for the four hard-fail statuses only: invalid, disabled, disposable, spamtrap. Block submit on those. Accept everything else.
  2. Batch refresh every 30 to 60 days on the active subscriber base via the bulk upload page or scheduled API calls. Catches addresses that went bad after signup.
  3. Pre-campaign verification for any list over 30 days old — see the best workflow for verifying a list before a campaign.

What changes between the two approaches

Real-time catches the bad address at the moment of intent. The user is right there, ready to retype, and a corrected email is a saved subscriber. Batch catches the same address weeks or months later when there's no realistic recovery path — the only option is to suppress.

Cost-wise the math is similar. Real-time charges one credit per signup. Batch charges one credit per stored subscriber on each refresh. Whichever produces fewer charges over your subscriber lifetime depends on your churn rate and refresh cadence — it varies more than you'd expect.

Don't agonize over the decision. Pick whichever you can ship this week, and add the second layer in the next sprint. The compounding return on clean data starts immediately either way.