Every list has contacts who stopped opening. Removing them feels like throwing away reach, so most senders keep mailing and hope. The decision is easier once you separate two questions: when a contact counts as inactive, and what you actually do with them once they do.
The short version
Suppress rather than delete, and base the cut on a window that matches how often you send. For a weekly sender, 90 days without an open is a reasonable line. For a quarterly sender it is far too short. Run one win-back send before the cut, then stop mailing the people who ignore it.
What counts as inactive depends on your sending rhythm
There is no universal number of days. The window only means something relative to how often you send. Somebody who has not opened in 90 days has ignored roughly twelve emails from a weekly sender and perhaps one from a quarterly sender. Those are different situations and the second one is not evidence of anything.
A more reliable way to set the line is to count sends rather than days. Pick the number of consecutive campaigns a contact can ignore before you treat them as gone, then convert that to a date window.
| How often you send | Sends ignored before the cut | Rough window |
|---|---|---|
| Weekly | 10 to 12 | 90 days |
| Twice a month | 10 to 12 | 6 months |
| Monthly | 8 to 10 | 9 months |
| Quarterly | 4 to 6 | 12 to 18 months |
Open tracking is imperfect, and Apple Mail Privacy Protection inflates opens for some of your audience. If a large share of your list uses Apple Mail, a click-based rule will separate real engagement from automated opens more honestly than an open-based one.
Why the cut matters before the next big send
Spam complaints are measured as a percentage of what you sent. Google asks bulk senders to stay below 0.3% and names 0.1% as the level to aim at. Dormant contacts are the group most likely to report you, because they no longer remember subscribing, and they sit in the denominator either way.
There is a second reason that is harder to see from your dashboard. Abandoned mailboxes are sometimes recycled into spam traps. A list that has not been pruned collects them over time, and a trap hit is treated far more seriously than a complaint. You cannot identify them by looking, which is why a time-based rule does the work instead.

Suppress, do not delete
The difference sounds administrative and is not. Deleting a contact removes the record that says why they left. Six months later the same address arrives in a CSV from an old export or a form backup, gets imported, and starts receiving mail again. The complaint you avoided comes back.
| Action | What happens to the record | Can the address return? | Win-back possible later |
|---|---|---|---|
| Keep mailing | Stays active | Already receiving | Not needed |
| Suppress | Kept, marked do not send | No, suppression blocks it | Yes |
| Delete | Removed entirely | Yes, through any re-import | No history to work from |
Most sending platforms count suppressed contacts differently from active ones for billing, so suppression usually costs nothing to keep. Check your own plan before a large cut, because a few platforms still bill on total records.
Run one win-back send first
Before suppressing, send one email to the inactive segment alone. Keep it short, say plainly that you have noticed they have not opened in a while, and give one clear action. Anyone who clicks moves back to the active list. Anyone who does not gets suppressed on schedule.
Send it to the inactive segment by itself rather than mixing it into a normal campaign. If the complaint rate on that send is high, you want it isolated so the damage is contained and measurable, not blended into a send that also reached your buyers.
When not to cut
Do not run a suppression pass on a list you have barely mailed. Low engagement on a list that has received three emails in a year measures your sending, not their interest. Mail it properly for a few months first, then judge.
Seasonal businesses need the same caution. A customer who buys once a year is not inactive in the eleven months between purchases, and a rolling 90 day rule would remove the people who spend the most.
Frequently asked questions
How long should the inactivity window be?
Base it on sends rather than days. Ten to twelve ignored campaigns is a common line, which works out around 90 days for a weekly sender and closer to a year for a monthly one. Apply one rule consistently.
Will suppressing contacts hurt my revenue?
Rarely. Contacts who have ignored ten campaigns contribute very little, and keeping them raises the complaint rate that governs whether your mail reaches active buyers at all. Protecting delivery to buyers is usually worth more.
Should I suppress before or after a win-back campaign?
After. The win-back send is the last chance to move someone back to active, and it only works while they still receive mail. Suppress the people who do not engage with it, on a date you set in advance.
Do suppressed contacts still count towards my plan limit?
On most platforms, no. Suppressed records are usually excluded from the billable contact count, though a few still charge on total records stored. Check your own plan before running a large suppression pass.
Bottom line
Set the inactivity rule from how often you send, not from a number you read somewhere. Send one win-back email to that segment alone. Then suppress rather than delete, so the address cannot quietly return through an old import and undo the work.
Related reading
- Small engaged list vs large unengaged list: why a bigger list buys no extra allowance.
- Google’s bulk sender rules: what changes at 5,000 messages a day.
- Hard bounce vs soft bounce: when a soft bounce should be treated as hard.


