Email list cleaning is the part of deliverability nobody wants to do, because it means deliberately mailing fewer people. Authentication is a one-time setup and the Gmail and Yahoo sender rules are a checklist, but list hygiene is a habit: deciding, every month, which subscribers have stopped reading and what to do about them. This article explains why inactive subscribers cost you inbox placement even when they never complain, how to define "inactive" honestly, and how to run a sunset policy that stops mailing them without throwing away anyone who might come back.
Why a list full of silent subscribers hurts you
Mailbox providers do not score your email, they score your domain. Gmail, Yahoo and Outlook watch how their users react to everything you send: opens, replies, moves to the inbox, deletes without reading, and above all spam complaints. A subscriber who has ignored your last forty emails is not neutral. Every unread message is a small vote that your mail is not wanted, and enough of those votes push the whole domain toward the promotions tab first and the spam folder next.
Inactive addresses also carry two sharper risks. Abandoned mailboxes get recycled: after a period of inactivity some providers turn dead addresses into spam traps, and one hit on a trap tells the provider you are mailing people who never asked for it. And the subscribers who have stopped reading are exactly the ones most likely to hit "report spam" instead of "unsubscribe" when a subject line finally catches their eye at the wrong moment. Since 2024, Gmail requires bulk senders to keep the spam rate reported in Postmaster Tools below 0.3 percent, and the practical operating target is 0.1 percent. With a 20,000 subscriber list that is 20 complaints per send before you are in trouble. Inactive subscribers are where those complaints come from.
What "inactive" actually means
Most email list hygiene advice says "remove anyone who has not opened in six months". That was reasonable advice in 2018. Today opens are the weakest signal you have: Apple Mail Privacy Protection preloads images and reports an open whether or not a human looked, while many corporate gateways and privacy-focused clients block tracking pixels entirely and report nothing even when the email was read. Cleaning on opens alone removes real readers and keeps phantom ones.
Build the definition from stronger signals, in this order:
- Clicks. A click requires a human decision. Anyone who clicked anything in your window is engaged, full stop.
- Purchases. For a store, a customer who ordered recently is engaged whether or not they touch your email. Never sunset a recent buyer.
- Site visits. If your tracking snippet saw them browsing last month, they know who you are. Keep them.
- Opens. Use opens as a tie-breaker to rescue people, not as the sole reason to keep them.
The window depends on how often you send. A rough rule: inactive means no engagement across your last 15 to 20 sends. Weekly senders land around 120 days, daily senders can be tighter, and a store that mails twice a month should stretch toward 180 days. Below 90 days you are cutting people who simply had a busy quarter. Also exclude anyone who subscribed recently: a subscriber from three weeks ago has not had a fair chance to become inactive yet.
A sunset policy in three steps
A sunset policy is the standing rule for what happens to subscribers who go quiet. Writing it down turns list cleaning from an anxious yearly purge into a boring monthly routine, which is what you want.
- 1. Identify. A segment that matches your inactivity definition, recalculated automatically as behaviour changes. Subscribers move in when they go quiet and move out on their own the moment they click or buy.
- 2. Ask once. Send the segment a single re-permission email: "Still want to hear from us?" with one button that clicks them straight back to engaged. Plain design, honest subject line, no discount. The goal is a click, and a coupon just teaches people to ignore you until you pay them.
- 3. Stop. Everyone who did not click within two to four weeks is set to inactive. They stop receiving campaigns, but the record stays so you never re-import them by accident and you can still see their history.
Notice what the policy does not do. It does not delete anyone, and it does not try a fourth, fifth and sixth "we miss you" email. If you want to win back lapsed customers, run a proper win-back flow targeted at people who bought before, and keep that separate from list hygiene, which is about the readers you never had.
How to build the sunset segment in MailingPlatform
Segments are dynamic filters with engagement, store and website conditions, and every behavioural condition takes an optional "in the last X days" window. A sunset segment for a weekly sender looks like this, with all rules joined by AND:
- Status equals active
- Subscription date more than 90 days ago
- Opened email zero times in the last 120 days
- Clicked email zero times in the last 120 days
- Placed order zero times in the last 180 days
- Active on site zero times in the last 90 days
Opens and clicks in segment conditions already exclude the bot and scanner traffic the platform filters out of your statistics, so a security scanner clicking every link in every email does not keep a dead address "engaged". Drop the order and site rules if you run a newsletter without a store, and shorten the windows if you send daily.
Send your re-permission campaign to this segment. Anyone who clicks leaves the segment automatically, because they now have a click inside the window. For the rest, the simplest enforcement is to stop choosing the full list as your campaign audience: send to your engaged segments instead, and the sunset candidates simply stop receiving mail. If you want the decision recorded on the profile, export the segment as CSV after the grace period and set each remaining subscriber to inactive, from the profile or through the PUT /subscriber-api endpoint. Inactive subscribers never receive campaigns or automations and the status is enforced on every send, so a forgotten campaign audience cannot undo the cleanup. Bounces and spam complaints are handled for you: hard bounces and complainers are suppressed automatically the moment the feedback arrives, so the sunset segment only ever has to deal with the quiet ones.
The same segments, pointed the other way
The engagement filters that find your inactive subscribers also find your best ones, and the second use is worth more than the first. Every account starts with "Engaged (30 days)", "Engaged (60 days)" and "Engaged (90 days)" segments. Use them to tier your sending: your most engaged readers can hear from you twice a week, the 60 to 90 day tier gets your best campaign of the month, and nobody outside those tiers gets promotional volume at all. That alone lifts open and click rates, which mailbox providers read as a domain people want, and it gives new domains the safest possible warm-up audience.
Five list cleaning mistakes that make things worse
- Deleting unsubscribed and complained contacts. Those records are your protection: they stop the address from coming back with the next import. Deleting them is how people end up mailing someone who reported them for spam. Keep the status, remove nothing.
- Reactivating "cleaned" subscribers later. If someone was sunset in March, they do not become fair game in November because you have a big sale. Inactive means inactive until they act.
- Cleaning once, then never again. A list decays at roughly 20 to 30 percent per year through job changes, abandoned inboxes and lost interest. Hygiene is a monthly rhythm, not a project.
- Using a "list cleaning" service instead of your own data. Third-party verification tools can catch invalid syntax and dead domains, which is useful before an import. They cannot tell you who reads your email. Only your engagement data does that.
- Judging the result by list size. The number that matters is not how many subscribers you have but how many of them you can reach. A 12,000 subscriber list that lands in the inbox beats a 40,000 subscriber list that lands in spam, every single send.
Where list hygiene fits in the deliverability picture
Think of inbox placement as three legs. SPF, DKIM and DMARC prove you are who you say you are. The Gmail and Yahoo bulk sender rules set the protocol requirements and the complaint ceiling. List hygiene is what keeps you under that ceiling month after month, because it removes the subscribers most likely to complain before they get the chance. The platform covers the first two for you through guided DNS setup, one-click unsubscribe headers and automatic suppression, and hands you the engagement segments for the third; the deliverability page shows how the pieces fit together. The only thing it cannot do is decide, on your behalf, that fewer subscribers who read is better than more who do not. That part is a policy, and now you have one.