Skip to main content
Email marketing

How to clean an email list

Remove inactive, unengaged, and invalid contacts from your email list to protect deliverability and sender reputation.

Time: 2 hoursDifficulty: Intermediate

List hygiene is the single biggest deliverability lever for established senders. A list that hasn't been cleaned in over a year almost always contains a meaningful fraction of dead addresses, role accounts, and spam-trap addresses that quietly damage your sender reputation. This guide walks through a complete cleaning pass.

Prerequisites

  • Admin access to your email platform
  • Optional: a list-verification service (Kickbox, NeverBounce, BriteVerify)

Steps

  1. 1

    Take a baseline snapshot

    Before cleaning, record current open rate, click rate, bounce rate, and spam complaint rate. You'll want to compare these after the clean to confirm impact.

  2. 2

    Suppress all previously hard-bounced contacts

    Most platforms do this automatically, but verify. Filter contacts by 'last bounce' status hard-bounce and confirm they are suppressed from sending. If not, suppress now.

  3. 3

    Identify inactive contacts

    Filter for contacts with zero opens and zero clicks in the last 90 days. This is your inactive segment. On a list older than two years, this typically represents 30-60 percent of contacts.

  4. 4

    Send a re-engagement campaign to the inactive segment

    One last-attempt campaign: 'Still want to hear from us?' with a clear CTA to confirm. Set a 14-day window. Anyone who opens, clicks, or confirms stays. Everyone else moves to the next step.

  5. 5

    Run unverified addresses through a verification service

    Optional but recommended for older lists. Run the remaining inactive (and any addresses you can't verify) through Kickbox or NeverBounce. Anything flagged as invalid, role account, or risky should be suppressed.

  6. 6

    Suppress (don't delete) the remaining inactive contacts

    Don't hard-delete contacts. Suppress them — that way they're excluded from future sends but you keep the historical record. If someone later returns and signs up again, the platform sees the history.

  7. 7

    Set up an ongoing hygiene workflow

    Build an automation that suppresses any contact with no engagement for 180 consecutive days. This catches list rot continuously instead of letting it accumulate again.

  8. 8

    Re-measure after 30 days

    After your next 30 days of sending, compare open rate, click rate, and bounce rate to the baseline. Expect noticeable improvements across all three.

Notes

  • Don't 'clean' by switching to a smaller list — that just hides the problem. Suppression of inactive contacts is the real fix.
  • Re-engagement campaigns themselves can damage reputation if the inactive segment is enormous. Send in small batches (5,000 at a time) over a week if you have hundreds of thousands of inactives.

Ready to do this for real?

Webanto Email Marketing

Related guides

Browse all guides

See every how-to guide we've published — across email, SEO, ecommerce, and social media.

Newsletter

Stay Ahead

Occasional, engineering-led notes on applied AI — what we're building, running, and learning in production.