How often should I clean (verify) my email list?
Email addresses decay at roughly 2 to 3% per month, even on opt-in lists. Job changes, account closures, domain changes, abandoned mailboxes all accumulate over time. The right verification cadence depends on how often you send and what kind of list you have.
Recommended cadence by use case
| Use case | Verification frequency |
|---|---|
| Daily marketing sends (1k+/day) | Quarterly at minimum; monthly is better |
| Weekly newsletter (10k+ subscribers) | Every 60–90 days |
| Monthly newsletter (any size) | Every 60 days |
| Cold outreach campaigns | Verify every list immediately before each campaign |
| Re-engagement campaigns | Verify immediately before sending. These are the highest-risk sends |
| Transactional email (signup confirmations, receipts) | Real-time at signup via API; no scheduled batch cleaning needed |
| Inactive lists (no sends in 6+ months) | Always verify before resuming sending |
Always verify in these specific situations
- Before any major campaign to a list you have not sent to in 60+ days.
- After importing from a third party (CRM migration, list acquisition, partner list, tradeshow scan).
- Before re-engagement campaigns to dormant subscribers — these are the bounciest sends.
- After a deliverability incident (bounce-rate spike, blacklist appearance, sudden drop in opens) — re-verify and restart from a smaller, cleaner segment.
- Before switching ESPs. Onboarding cold means starting reputation from scratch; you want the cleanest possible list when that happens.
The real-time verification complement
Batch verification is a snapshot in time. Real-time verification at signup is continuous. Wire our single-verification API into your signup form and bad addresses get rejected at the moment of entry — disposable services, typos like gmial.com, syntactically invalid addresses, and obvious abusers. Your list stays clean between batch verifications without you having to schedule anything.
What "clean" actually means
After verification, the right post-clean state for an active marketing list:
- 0%
invalid(drop all). - 0%
disposable(drop all). - 0%
spamtrap(drop all). - 0%
disabled(drop all). - <5%
catch_all(acceptable but watch). - <2%
unknown(the engine's own answer; credit refunded, so cost is zero).
Anything above these thresholds is signal to investigate where addresses are coming from.
Related questions
Still stuck? Email support
