If a big part of your list hasn't clicked or bought anything in months, you don't need a new newsletter format. You need to ask those people, once and clearly, whether they still want your emails, and then stop emailing the ones who don't answer. Doing it once by hand is a start. The better version is a small automation that runs every week, so a dead half of the list can't build up again.
The usual manual version goes like this: you notice the open rate sliding, export the list, sort by "last opened", delete a few thousand rows and hope for the best. That removes some real customers, keeps some people who left long ago, and has to be repeated every year. The steps below replace it.
Decide who counts as inactive
Write the rule down before you build anything, because every later step uses it. A workable starting rule:
Joined the list more than 90 days ago
AND received at least 6 campaigns in the last 180 days
AND clicked no email in the last 180 days
AND placed no order in the last 365 days
The numbers are a starting point, not a standard. If you email once a month, stretch the windows; if you email twice a week, shorten them. The first line keeps new subscribers out, and the second keeps out people you've barely emailed.
Notice what's missing: opens. Apple Mail can load every email automatically, so someone who hasn't read anything in a year can still show as "opened". Brevo's help on Apple Mail Privacy Protection says those emails are marked as opened on delivery whether or not the person opened them. If your rule says "no opens", Apple Mail users may never match it. Clicks and orders are harder to fake, so build the rule on those. If opens are behaving strangely across your whole account, what to measure instead of open rates goes through it.
The opposite worry comes up too: someone reads every email with images blocked and never clicks, and you remove a real reader. That can happen. The re-engagement emails below are there for exactly that person: one click and they stay.
Keep your buyers out of it
A customer who bought from you in the last year but doesn't click newsletters is still a customer. Leave them out of the inactive segment (the last line of the rule does that). If you want to email them less, put them in a "buyers, low engagement" group that gets only your bigger announcements, rather than removing them.
The re-engagement emails
Three short emails over two weeks. Each has one job: get a click on "keep me on the list".
Email 1, day 0. Subject: "Do you still want emails from [your shop]?" Two or three sentences: what you send, how often, and that you'd rather stop emailing them than fill their inbox. One button: "Yes, keep me subscribed". If your platform has a preferences page, add a second link: "Send me less often".
Email 2, day 5. A useful email, not a nag: the most clicked guide, a new product line, or a short answer to a common customer question. Under it, the same button.
Email 3, day 12. Subject: "Last email unless you click". Say plainly that on [date] you'll stop emailing them, and that they can sign up again any time on your site. Same button.
Day 14: sort. Anyone who clicked anything in the three emails, or placed an order, goes back to the main list with a tag like reconfirmed-2026-10. Everyone else is removed (next section).
Should email 2 carry a discount? It can, but a discount brings clicks from people who want the code, not necessarily your emails. If you use one, count only clicks on the "keep me subscribed" button as the answer.
Remove them without losing the record
Unsubscribe or suppress the non-responders; don't delete them. A deleted contact can come back with the next import from your store or an old spreadsheet, and then they're on the list again with no history. Brevo's list-cleaning guide recommends blocklisting unengaged contacts instead of deleting them for this reason: a blocklisted contact can't be re-imported by accident, and you keep their data.
Tag them as well (sunset-2026-10), so you can tell later why someone stopped getting emails.
Make it run on its own
After the first clean-up, turn the same steps into an automation so the list doesn't drift back to half inactive:
- Entry: the contact matches your inactive rule. If your platform can start an automation from a segment, check how often it re-checks who is in it.
- Emails 1 to 3 with the delays above.
- Exit: a click on any email or an order. They leave the automation and stay subscribed.
- End: no exit after email 3, so the automation unsubscribes or suppresses them and adds the tag.
Then exclude the inactive segment from your regular campaigns, so people inside the sequence don't also get your sale emails. In Brevo, for example, contacts carry an Engagement status, and the same list-cleaning guide shows how to exclude "Unengaged" contacts at the recipient step of a campaign; the definition of unengaged is a setting you can change. Check what your own platform calls this before you rebuild anything.
What changes after the clean-up
Your list gets smaller, and your open and click rates go up. Don't read the rates as proof that more people are reading: the same readers are now divided by a smaller number. To check that nothing real was lost, compare the number of clicks and orders per campaign for the next month with the month before. If those hold steady, the people you removed weren't contributing.
If your emails were already landing in spam when you started, work through why a newsletter goes to spam as well; removing inactive contacts helps, but it isn't the only thing to check.