Email list cleaning — when and how to remove inactive subscribers
Google advises senders to consider unsubscribing subscribers who do not open or read their messages, and to automatically unsubscribe addresses with repeated bounces. Here is the difference between hard and soft bounces, re-engagement before removal, what seven email tools do on their own and why an inactive subscriber can show up on your bill.
A subscriber list goes stale even if you never touch it. Addresses are abandoned, people change jobs and interest fades. This page explains when and how to remove inactive subscribers and bouncing addresses, and every claim is read from Google’s own sender guidelines, the email tools’ own help pages or the text of the GDPR.
The short answer
Remove hard bounces and spam complaints immediately. All seven tools we compare do this automatically. Send inactive subscribers a re-engagement email first, and remove those who do not respond to that either. There is no fixed number of months: Google advises periodically confirming that subscribers want to stay on the list, and the tools’ own recommendations and selectable time limits range from three months to two years. If your tool charges by number of contacts, check at the same time whether an unsubscribed contact still counts towards the plan limit.
Why clean a list: Google’s sender guidelines
Since 1 February 2024, Google’s sender guidelines have required everyone sending to Gmail accounts to keep the spam rate shown in Postmaster Tools below 0.3%. The monitoring section of the same guidelines tells senders to keep the rate below 0.10% and to avoid reaching 0.30% at all. According to the guidelines, messages that are often marked as spam are more likely to go to spam in the future too, and over time the reports can weaken the reputation of the sender’s domain.
On list maintenance the guidelines are direct. Their subscription advice contains three points that concern cleaning:
- “Periodically send messages to confirm that recipients want to stay subscribed.”
- “Consider unsubscribing recipients who don’t open or read your messages.”
- “Automatically unsubscribe recipients who have multiple bounced messages.”
Hard and soft bounces
A bounce means the recipient’s server did not accept the message. Mailchimp’s help page divides bounces into two kinds: a hard bounce has a permanent cause, such as a typo or an outdated address, and a soft bounce a temporary one, such as a full mailbox. A hard-bounced address is usually removed straight away. A soft-bounced address stays on the list until enough bounces build up.
That “enough” is a different number in each tool. MailerLite treats three consecutive soft bounces as a hard bounce. GetResponse allows four soft bounces within 32 days. Mailchimp allows seven if the address has no previous activity, and up to 15 if the subscriber has engaged with messages before. Brevo’s help page points out that a soft bounce can also signal a poor sender reputation or content that has been read as spam. A rise in soft bounces is therefore a reason to look at the list, even if the tool has not removed anyone yet.
Inactive subscribers: re-engagement before removal
An inactive subscriber is an address that works but does not respond. MailerLite defines it as a subscriber who does not open, click or otherwise engage with campaigns, and advises considering a re-engagement campaign before removal. EmailOctopus’s help page describes the same process in three steps:
- Separate inactive subscribers into a segment. EmailOctopus’s example is 90 days without engagement, excluding new subscribers added within that period.
- Send them a re-engagement email. The message goes to this segment only, not to the whole list.
- Remove those who do not respond. According to the help page, waiting a few days is enough, after which those who did not open the message are unsubscribed.
The inactivity threshold is a tool’s recommendation, not a rule. MailerLite’s default is six months and more than ten messages received, GetResponse advises removing contacts that have been inactive for more than 3–6 months, and Brevo recommends cleaning at least once a year. If you send rarely, set the threshold according to how many messages a subscriber has actually had time to receive.
Do not trust opens blindly. According to Google’s guidelines, Google does not track open rates, and a low open rate does not necessarily indicate a deliverability problem. ActiveCampaign’s cleaning tool does not count opens generated by Apple Mail Privacy Protection as engagement, and Brevo excludes these contacts from its inactive segment. EmailOctopus’s help page notes for the same reason that the open rate is not always a reliable measure. That is why inactivity is worth judging by clicks as well, not by opens alone.
What seven tools do automatically
Bounce and complaint handling is automatic in all seven. Cleaning up inactive subscribers differs more: some have a dedicated tool, in others you do it yourself with a segment. Every cell in the table links to the tool’s own help page the information was read from.
| Tool | Bounces and complaints removed automatically | Built-in list cleaning |
|---|---|---|
| Systeme.io | Yes | No |
| EmailOctopus | Yes | No |
| Brevo | Yes | No |
| MailerLite | Yes | Yes |
| Mailchimp | Yes | Yes |
| GetResponse | Yes | Yes |
| ActiveCampaign | Yes | Yes |
← scroll →
Yes = the help page describes the feature. No = the help page says it is absent or points to an external tool. — = not found in the help pages; that does not mean the feature is absent.
Two details from the help pages are worth knowing before you remove anything. Actions taken with ActiveCampaign’s cleaning tool cannot be undone, and the help page recommends exporting all contacts before using it. Mailchimp, for its part, recommends archiving bounced contacts rather than deleting them, to avoid further bounces.
An inactive subscriber can show up on your bill
Most of the tools we compare price by number of contacts, so an inactive address can take up room within the plan limit. MailerLite’s help page says so itself: cleaning frees up room for more engaged subscribers. What counts as a contact, however, varies from provider to provider, and it is not stated on the price list. The rules below are read from each provider’s own help page.
The difference is in which cleaning step reduces the bill. At Mailchimp an unsubscribed contact counts towards the limit, so unsubscribing alone is not enough and the contact has to be archived. At MailerLite the period is counted cumulatively, so a removal only shows in the next billing period. Prices per tier are on, for example, the Mailchimp pricing page.
| Tool | Basis for the price | Does an unsubscribed contact count toward the limit | Source |
|---|---|---|---|
| Systeme.io | Number of contacts | Not read | the provider’s own help page |
| EmailOctopus | Number of contacts | No | the provider’s own help page, read 5 September 2026 |
| Brevo | Sending volume | Not applicable to this model | the provider’s own help page, read 3 September 2026 |
| MailerLite | Number of contacts | No | the provider’s own help page, read 5 September 2026 |
| Mailchimp | Number of contacts | Yes | the provider’s own help page, read 5 September 2026 |
| GetResponse | Number of contacts | Yes in the month added | the provider’s own help page, read 5 September 2026 |
| ActiveCampaign | Number of contacts | Yes on new accounts | the provider’s own help page, read 5 September 2026 |
← scroll →
The rules are read from the providers’ own help pages. “Not read” means the rule could not be opened in the original source — we do not guess it in either direction.
- Systeme.io. The plan limits are contact counts (free plan 2,000, Startup 5,000, Webinar 10,000). All nine contact-management articles in the help centre were read on 5 September 2026: none of them says which contact statuses count toward the plan limit. The guides advise cleaning the list, but the counting rule is not published. So we claim nothing either way until it can be read or has been asked from support.
- EmailOctopus. Unsubscribed contacts do not count toward the limit, nor do hard bounces and spam complaints, which are marked as unsubscribed automatically. Contacts awaiting double opt-in do not count either. One trap: the same address is counted separately for every list — an address on six lists is six contacts.
- Brevo. The price is set by monthly sending volume rather than contact count, so the question of counting unsubscribed contacts does not apply to Brevo the way it does to the others. The flip side is that the same list costs more the more often you write to it.
- MailerLite. The limit counts subscribers in Active status; unsubscribed and bounced do not count. One trap in the billing period: the period is counted cumulatively, so an address that was active at any point in the period counts toward the limit until the end of the period, even if you delete it immediately. Cleaning the list shows on the bill only in the next period.
- Mailchimp. An unsubscribed contact counts toward the monthly limit, as do non-subscribers who ended up in the account by other routes. Archived, cleaned and deleted contacts do not count, so lowering the bill takes a separate step: the contacts have to be archived, not just allowed to unsubscribe.
- GetResponse. Billing is set by two figures: the month’s highest number of active contacts and the total number of contacts added during the month, regardless of what later happens to them. The same address on several lists is counted several times. Exceeding the limit is not a one-off charge but recurs every billing period, on an annual contract too, and above 100,000 contacts the charge is $4 for every thousand started.
- ActiveCampaign. The rule depends on the account creation date. ActiveCampaign’s own help article gives two answers: on accounts created on or after 3 November 2025, all contacts count toward the limit regardless of status, i.e. unsubscribed, unconfirmed and bounced too; on accounts created on or before 2 November 2025, only active ones. A new account is therefore in the same group as Mailchimp in this comparison. The help page opens only in a browser (HTTP 403); the text was read through the help centre’s own API on 5 September 2026.
The price steps at three list sizes are in the comparison of email marketing software, and the cheapest email marketing tool comparison shows where a small list costs least. If your list is at the free plan limit, cleaning can keep it on the free plan for longer.
Data protection: minimisation and storage limitation
Article 5 of the GDPR sets no deadline for email lists, but three of its principles apply to a list directly. Under data minimisation, personal data must be “limited to what is necessary” in relation to the purposes of processing. Under accuracy, every reasonable step must be taken to ensure that inaccurate data are erased or rectified without delay. Under storage limitation, data may be kept in a form which permits identification “for no longer than is necessary” for the purposes. In Mailchimp’s words a hard-bounced address is “invalid”, so blocking it automatically also serves accuracy. Under paragraph 2 of the article, the controller must be able to demonstrate compliance with the principles.
A documented cleaning schedule is one way to show that the list is not kept longer than its purpose requires. Other data protection obligations, such as the processing agreement and data location, are covered in our guide to email marketing and GDPR.
What to do now
- Check the automatic blocking. Look at the status of bounced and complaining contacts in your tool. They no longer receive messages, and you do not need to remove them by hand.
- Look at the spam rate. If you send to Gmail accounts, Postmaster Tools shows the rate that Google’s limit applies to.
- Segment inactive subscribers and send a re-engagement email. Choose the time limit to suit how often you send, and look at clicks as well, not opens alone.
- Remove those who do not respond and document the schedule. Before your billing date, check whether the contact count goes down on removal, on unsubscribe or only on archiving.