Email list hygiene as a routine, not a rescue
How the list got this way
- Most teams arrive here after a bad send, having discovered that cleaning solved the immediate crisis and nothing else.
- Cleaning was budgeted as a project with an end date, so it ran once and the list resumed decaying the next day.
- Nobody owns the list between campaigns, which is when most of the decay happens.
- The sending platform reports what was delivered, which is the number that looks fine right up until it does not.
Decay is continuous and cleaning is a snapshot
People change jobs, abandon addresses and close accounts every day, and none of it reaches you. A verdict is true at the moment it was taken and starts aging immediately.
So a list cleaned in January is a list that was clean in January. By the summer campaign it has drifted, and the drift is faster on business addresses than consumer ones because employment changes faster than personal email.
Hygiene closes this by moving the check to the moment an address arrives, and by acting on the signals the sending platform already gives you: bounces, complaints and silence.
What a check removes, and what it leaves
Both columns matter. A verifier that only advertises the left one is describing half the job.
| Removed by checking | Still there afterwards |
|---|---|
| New addresses at the point of entry, before they reach the list at all. | Replace acting on your bounce log, which reports real delivery outcomes a check can only predict. |
| Accumulated decay on a recurring schedule, sized to how fast your particular list ages. | Substitute for confirmed opt-in, which prevents more bad addresses than any verifier removes. |
| Duplicate rows created by every new form, import and integration. | Manage engagement decline, which is a separate discipline with separate signals. |
| Rows that have been quietly rejecting since the last campaign. | Resolve catch-all domains, however often you re-check them. The answer does not change. |
What to do instead
Check at the point of collection
Every form, every import, every integration. An address stopped at the door never becomes a cleaning problem.
Act on bounces the same week
A hard rejection is a delivery outcome, which outranks any prediction. Remove on the first one and stop guessing about it.
Re-check the segment, not the database
Before a send, verify what you are about to mail. The rows you are not mailing can wait until you are.
Use confirmed opt-in where you can afford the drop
It costs sign-ups and it prevents typos, bots and people entering somebody else's address. On a list you intend to keep for years it pays for itself.
Questions people ask
How often should an email list be verified?
New addresses at collection, and the segment you are about to mail before you mail it. A full database sweep on a calendar mostly re-checks rows that have not changed.
What is the difference between list hygiene and list cleaning?
Cleaning is an operation you perform on a list that has gone bad. Hygiene is the practice that stops it going bad, mostly by checking addresses as they arrive and acting on bounces promptly.
Does confirmed opt-in remove the need to verify?
It removes most typos and fake sign-ups, because a mistyped address never confirms. It does nothing about decay, so a list built entirely on confirmed opt-in still ages.
Does re-checking catch-all domains ever resolve them?
No. A catch-all domain accepts every recipient by design, and checking it again next month produces the same non-answer. The first check is billed like any other result, because learning that a domain accepts everything is a real finding. Paying to run it again is the part that buys you nothing.
Related list problems
Measure your own list before you clean it
100 free checks a month, no card. The rows we could not get an answer on come back labeled rather than guessed at, and we never bill for them.