List Cleaning Strategies: When and How to Prune
A cleaning routine with explicit rules, plus the pre-clean backup that saves you when a rule was wrong.
On this page
The short version
- Back up before every pass, and record what was removed and why. A removal rule that turns out to be wrong is only recoverable if you kept the list.
- Run the rules in order of confidence: the certain ones automatically, the arguable ones after a win-back and a decision.
- The most common mistake is cleaning on opens. A subscriber with no opens and regular clicks is engaged, and privacy pre-fetching makes opens the least reliable signal you have.
Cleaning is the maintenance task with the best return and the worst optics: it makes the headline number go down, immediately and visibly, in exchange for improvements that arrive over weeks.
That asymmetry is why it gets deferred, and why it helps to have the rules written down in advance — so the decision is made once rather than argued each quarter.
Rules, in order of confidence
| Rule | Confidence | When |
|---|---|---|
| Hard bounces | Certain | Automatic, first occurrence |
| Repeated soft bounces over a window | High | Automatic |
| Syntactically invalid addresses | Certain | At capture, and on import |
| Obvious domain typos | High | At capture, with a suggestion |
| Duplicates after normalisation | High | Quarterly |
| Role addresses that never engaged | Moderate | Quarterly, after a check |
| No engagement past your threshold | Judgement | Quarterly, after a win-back |
Clean on clicks, not opens
Privacy pre-fetching means a recorded open may involve no person at all, so a rule based on opens will keep addresses that have never been read and remove people who read without loading images.
Clicks are deliberate and unambiguous. A subscriber with no clicks across a long run of sends has told you something; a subscriber with no opens has told you about their mail client.
Where you want a softer signal than clicks alone, combine: no clicks and no opens over the window. That keeps anyone showing any sign of life and still removes the genuinely inert.
Check the tracking before trusting the data
Before any engagement-based removal, confirm that click tracking has actually been working across the whole window. A template change that broke link tracking for six weeks produces a cohort that looks completely disengaged and is not.
The tell is a segment or a period with near-zero engagement while everything around it looks normal. If a cohort from one source, or a run of sends in one month, shows a sharp discontinuity, investigate before removing.
This is the most consequential ten minutes in the whole process, because it is the difference between removing dead weight and removing a working segment.
Verification on import, not on your own list
Third-party verification services are worth running on an imported list or an offline batch, where address quality is genuinely unknown.
They are much less useful on an established list you have been mailing, because your own bounce data already tells you which addresses are dead — and it is more reliable, since it reflects actual delivery attempts rather than a probe.
Where you do use one, treat "unknown" or "risky" results as a segment to be careful with rather than as a removal instruction. Verification services are heuristic, and some correct addresses come back uncertain.
Record what you did
Date, rule applied, number removed, and the backup location. Four fields, kept in one place.
It matters for two reasons. Someone will eventually ask why the list shrank in March, and without a record the answer is a guess. And a rule that removed far more or far fewer than expected is worth knowing about — but only if the expectation was written down.
Cleaning pass
- Full backup taken, with source and engagement fields
- Click tracking verified across the whole window
- Rules run in order of confidence
- Engagement removals based on clicks, not opens
- A win-back ran before any judgement-based removal
- Verification used on imports, not on established addresses
- Date, rule, count and backup location recorded
- Complaint and bounce rates checked on the next two sends
Frequently asked questions
How often should a full cleaning pass run?
Quarterly for most lists, monthly if you acquire quickly or from mixed sources. Bounce suppression should be continuous rather than part of the pass.
Should role addresses be removed?
Only if they never engage. Some are genuinely read by a person and some become spam traps, so engagement is the deciding factor rather than the address shape.
What if cleaning removes most of the list?
Then it was mostly inactive, and mailing it was costing delivery to the rest. Take it in stages if the number is alarming, but the arithmetic does not change by being spread out.