List hygiene is the cheapest deliverability upgrade most teams skip. Use this checklist monthly.
Remove immediately. Hard bounces signal invalid addresses; continued sending trains filters to distrust you.
Retry with limits, then suppress. Chronic soft bounces often mean full mailboxes or greylisting — still not “engaged subscribers.”
Define inactivity (e.g., no open/click in 90–180 days depending on frequency). Run a re-permission campaign once, then sunset non-responders. Your open rate will look “worse” temporarily and your inbox placement often improves.
Be careful with info@, admin@, and legal@ for marketing blasts. Use double opt-in when reputation is fragile. Catch typos at signup with confirmation.
Honor unsubscribes quickly and make the link obvious. Hidden unsubscribe is a short path to spam folder hell.
Tools differ in automation for suppression and sunset flows — that is a legitimate reason to pay for a stronger ESP. See our comparison.
Removing unengaged contacts feels like deleting an asset. It is not: those addresses were already not opening, and their presence drags the signals receivers use to judge you. Expect list size and total opens to fall and inbox placement, click rate and revenue per email to rise. Judge the change on revenue per send rather than on list size, or you will talk yourself out of it.
There is no universal window. A daily sender can reasonably call ninety days inactive; a monthly newsletter needs six to twelve months before the same judgement is fair. Set the definition against your frequency, write it down, and apply it on a schedule rather than in a panic before a big send.
Note that open rates are a blunter instrument than they used to be, because privacy features pre-load images and manufacture opens. Where you can, define engagement on clicks and purchases as well — they are harder to fake and closer to the thing you actually want.
Give inactive contacts one clear chance: a short message that says plainly you will stop mailing unless they act, with one obvious link. Do not disguise it as a newsletter. Send it once, wait, then sunset everyone who did not respond. Keep them suppressed rather than deleted, so a later import cannot quietly resurrect them.
Addresses like info@, admin@ and sales@ usually reach several people, any of whom can complain on behalf of all of them. Keep them out of marketing sends. The related hazard is a spam trap: an abandoned address that receivers reactivate specifically to catch senders who never clean. You cannot detect one, and the only defence is the discipline described above.
A visible unsubscribe link, a one-click header, and removal honoured within two days as the major providers now require. Every obstacle you put in front of an exit converts an unsubscribe — which costs you one address — into a spam complaint, which costs you reputation with every recipient at that provider. There is no version of hiding the link that pays.
Suppress hard bounces, review soft-bounce repeats, check complaint rate by campaign, re-permission the newly inactive, and confirm that suppression survived your last import. Twenty minutes, monthly, buys more deliverability than any subject-line experiment.
A short pass monthly and a full re-permission cycle every quarter or two suits most senders. What matters more than the interval is that it happens on a schedule rather than after a problem.
Suppress. Deleting lets a future import bring the same addresses back silently, which is how sunsetted contacts reappear and reputation damage repeats.
For a one-off clean of an inherited list, often yes. As a substitute for confirmed opt-in and prompt bounce handling, no — they detect invalid syntax and dead mailboxes, not disinterest.