List hygiene is a set of rules, not an annual project
Nothing has gone wrong yet, which is the only sensible moment to set this up. Someone has noticed the list is four years old and nobody can say what is in it.
The alternative is the pattern most teams are stuck in: mail the list, watch the numbers get worse, panic-clean, repeat. Each cycle costs a bit of reputation that the next one starts from.
The order the work happens in
Suppress hard bounces automatically on first failure
Most platforms do this and some don't. Check yours rather than assuming, because a platform that retries a dead address three times is charging you three bounces for one bad record.
Write a sunset rule and let it run
Twelve months with no open, click or purchase, and the address stops receiving campaigns. It's the single highest-value rule here, and it needs no verification at all.
Verify on a schedule tied to sending, not the calendar
Before any send to data older than three months. A weekly newsletter surfaces its own decay and needs less; a list mailed twice a year accumulates a year of rot and delivers it in one campaign.
Deduplicate on every import
Gmail dots and plus-tags disguise one mailbox as several, and you pay to check the same person repeatedly. Normalizing before the check is free and always worth doing.
Put the numbers somewhere a person sees them
Bounce rate, complaint rate and the unresolved share, recorded per send. You can see a trend months before you cross a threshold, and nobody notices a trend that lives in an export.
What each result means here
The same four results and their flags, read against this job. A catch-all worth keeping in one situation is one to exclude in another.
| Result | What to do with it |
|---|---|
| Valid | Nothing. This is the working part of the list and the point of the exercise. |
| Invalid | Suppress permanently, with the date. Do not delete the record, because deleting it means re-importing it later from an old file. |
| Catch-all | Tag and keep mailing while engagement holds. Engagement is the only evidence available for these. |
| Unknown | Leave in place and re-check next cycle. A server that refused an answer today may answer next month. |
| Role flag | Segment rather than remove. Role addresses complain more, so they deserve their own frequency. |
| Disposable flag | Remove, and block the domain at your signup form so it stops arriving. |
How you know it is finished
The rules run without anybody triggering them, and the last three campaign reports show a bounce rate that is flat rather than climbing. Hygiene has no finish date, only a state you either hold or lose.
What this does not fix
Standing hygiene is a small recurring cost rather than a large occasional one. The 100 free credits a month cover spot checks, and credits never expire, so a quarterly rhythm does not lose you anything bought ahead of time.
Questions people ask
What is the difference between list hygiene and verification?
Verification is one step inside hygiene. Hygiene also covers your suppression rules, your sunset policy, deduplication and how often you send, and several of those cost you nothing.
How often should hygiene rules run?
Continuously for suppression and sunsetting, which are rules rather than tasks. Verification runs before sends to data older than about three months.
Does removing inactive contacts hurt reach?
It cuts the number of people you mail and usually raises the number who see it, because providers weigh engagement. Your smaller list that gets opened will beat your larger one that gets filtered.
Try it on the file in front of you
100 free checks a month, no card. Addresses we could not get an answer on come back labeled as unknown, and those are not billed.