How Often Should You Clean Your List? | BounceZero
| List Hygiene | 9 min read | | 801 views

How Often Should You Clean Your List?

Email lists go stale faster than most teams assume. This guide gives a verification cadence based on send frequency, list source and how much deliverability risk you can tolerate.

If you verified your list six months ago, a large share of it is no longer safe to mail. In BounceZero's re-verification study of 826,000 addresses, 19.2% were still valid after more than 90 days. The question is not whether to re-verify, but how often and which segments come first.

This guide gives a cadence based on send frequency, source and deliverability risk, with the measured data behind it.

How fast email lists go stale (the measured data)

BounceZero re-verified 826,000 addresses and compared the result with the earlier check.

Time since the last checkStill valid
31 to 90 days44.9%
More than 90 days19.2%

The rest of each row is invalid, catch-all, role or unknown. Unknown means the receiving server would not give a clear answer, not that the mailbox is dead. Treat unknown as its own segment: hold it out of cold volume, re-check after a week and use a second channel in the meantime.

The practical reading is not to wait 30 days. It is that a list verified before the last campaign has already started to move, and a quarterly sweep leaves most of a quarter's decay in place. The full email list decay study is the source for both rows.

Decay risk by list source

The measured decay study does not break down by source, so the table below is a risk ranking, not a set of measured rates. The cadence column is the operational rule.

SourceRiskRe-verify
Double opt-in newsletterLowerBefore every send, at least monthly
Single opt-in newsletterHigherBefore every send
CRM, engaged contactsMediumMonthly
CRM, stale 12+ monthsHighFull sweep before any send
LinkedIn or Sales Navigator exportHighBefore every send
Finder output (Hunter, Apollo, Clay and similar)High: 10 to 25% of finder output does not verifyBefore every send
Purchased B2B listHighest: database exports ran 10 to 25% invalid in the measured studiesSample test, then verify every row before the first send
Lead magnet or gated contentMedium to highBefore every send

The unifying pattern: lists where the address was actively confirmed and recently used decay slowest. Lists built from scraped, purchased or one-time-collected data decay fastest, and that difference shows up in the first verification result.

The cadence framework

Three rules cover almost every sender.

1. Before every send. No list goes into a campaign unverified. This is the only rule that directly controls bounce rate.

2. At least monthly for active segments. A segment that is mailed regularly gets a full re-verification at least once a month, and again before any high-stakes send.

3. Event triggers override the calendar. Re-verify after any import, after a change of source, before any re-engagement campaign and before a CRM migration.

In practice: cold outreach verifies every send; newsletters verify monthly plus before every send; transactional streams still need a monthly sweep because the addresses change even when the sending pattern does not.

Copy-Pasteable Calendars by Use Case

Cold outreach (1K to 10K sends a week)

Day 0: verify the campaign list 24 hours before send.

Day 0: send, watch the bounce rate and pause above 2%.

Day +1: pull the bounce report, suppress hard bounces in every tool.

Weekly: re-verify any catch-all segment before the next batch.

SaaS newsletter (5K to 50K subscribers, weekly send)

Week 1: full list re-verification.

Week 1: remove invalid, hold catch-all and unknown out of the main send.

Every Monday: send to the verified segment only.

Monthly: full re-verify, including addresses added since the last pass.

Quarterly: a re-engagement attempt for subscribers inactive 90+ days, verified first.

E-commerce broadcast (50K to 500K subscribers, two to three sends a week)

Monthly: full re-verification of the active list.

Weekly: verify new signups before adding them to the broadcast segment.

Per send: watch the bounce rate and suppress hard bounces immediately.

Quarterly: a re-engagement attempt for inactive subscribers, verified first.

Transactional only

Monthly: a full pass over the active-user list.

Per signup: verify in real time.

Per send: suppress hard bounces from the report.

The Re-Engagement Decision

Subscribers inactive for 90+ days are a special case. They're not bouncing (yet) but they're not engaging either. Two paths:

Path 1: Re-engagement campaign

Send a 'we miss you' email asking them to confirm they still want to hear from you. a minority click yes. The rest get suppressed.

Pro: keeps some subscribers, signals to mailbox providers that you respect engagement.

Con: a re-engagement send to 10K inactive subscribers can spike your bounce/complaint rate temporarily.

Path 2: Silent suppression

Move inactive subscribers out of active sending lists without any send. Keep them in CRM for future re-engagement opportunities (purchase, support ticket, web visit).

Pro: zero risk to current sending reputation.

Con: lose the chance to recover some who were just busy.

Recommended hybrid: For B2C, run a re-engagement campaign once per quarter (path 1). For B2B, silent suppression (path 2) and re-engage only when you have something genuinely new to say.

What to Do With the Decay (the suppression list)

When you verify and find invalids, don't just delete them. Build a suppression list:

Why suppress, not delete:

  • Same addresses can re-appear from different sources (CRM imports, form re-submissions)
  • You need to permanently never-send to these to avoid re-triggering bounces
  • Regulatory: some jurisdictions require keeping a 'do not contact' list for compliance audits
  • How to structure:

    ``

    Suppression table columns:

    email | the address

    reason | invalid_syntax / hard_bounce / spam_complaint / unsubscribed

    date_added | when it landed on suppression

    source_campaign | which campaign first triggered

    permanent | true/false (manual review can flip back)

    ``

    Integration:

  • Every send pipeline should cross-check sender list against suppression
  • Re-imports from CRM should be auto-filtered against suppression
  • Allow manual override for special cases (e.g., a customer who replied 'unsubscribe' but later signed up again with explicit consent)

Most ESPs support suppression lists natively (Mailchimp, SendGrid, Mailgun all have this). Use it.

The hidden decay: catch-all transitions

Catch-all is a property of the domain, not the address. A domain can be verifiable today and accept everything tomorrow, after a migration, a hosting change or a new administrator. When that happens, every address at the domain becomes uncertain at once.

The corpus shows how much is at stake: catch-all ran 2.3% of non-freemail addresses and 9.4% on business-domain-only lists. Catch-all is not a small edge case, and it never shows up as a bounce.

Detection is domain-level. Re-verify the domains that carry the most contacts, and treat any address on a catch-all domain as its own risk tier rather than as verified.

Cost of different cadences

Verification costs credits; decay costs deliverability. The comparison below uses a 50,000-contact newsletter mailed monthly and BounceZero's $3 per 1,000 rate (2,000 credits for $6).

CadenceCredits a yearCost a yearWhat it leaves in place
Every send (monthly)600,000$1,800Very little; bounce risk stays near the floor
Quarterly200,000$600Most of a quarter's decay, including the first 90 days when loss is fastest
Annually50,000$150The whole curve, plus the reputation damage from the sends in between

The difference between monthly and quarterly is $1,200 a year. A single campaign that trips the 2% bounce limit costs more than that in wasted send volume, lost inbox placement and remediation time. The measured decay data makes the choice easy: the first 90 days are where the loss happens, so the cadence has to be shorter than 90 days.

Common Cadence Mistakes

1. Verifying right after sending instead of right before.

Verifying post-send is a hygiene action; verifying pre-send is a prevention action. Always verify within 24h BEFORE the send.

2. Only verifying invalids without re-checking valids.

Valids decay too. Mailboxes get deleted. Companies migrate to catch-all. Re-verify the entire list, not just the ones that bounced.

3. Treating catch-all the same as verified.

Catch-all addresses re-verify as catch-all because that's a domain property. They didn't 'decay' - they were always uncertain. Treat them as a separate segment.

4. Letting suppression lists grow without quarterly review.

Some addresses on suppression were temporarily over-quota (mailbox full) - they may now be deliverable again. Re-verify aged suppression entries quarterly; un-suppress if newly clean.

5. Not verifying after CRM imports.

Importing from Salesforce / HubSpot / external sources reintroduces stale data. Verify all imports before merging into active sending lists.

Frequently Asked Questions

Is monthly verification overkill for a small newsletter?

For a small newsletter, monthly verification is cheap in absolute terms and is the minimum cadence for an active segment. The measured decay data shows most of the loss lands inside the first 90 days, so a quarterly sweep is too slow. Verify before every send and at least monthly.

How do I verify only new signups efficiently?

Two approaches: (1) Real-time verification in the signup form - verifies every new address as it enters your system. Best UX, slightly slower form submission. (2) Daily batch - collect new signups, verify in a batch overnight. Faster signup, but invalids enter your CRM temporarily. Most teams do real-time at signup + monthly full re-verify.

Should I verify before or after sending a campaign?

Before. Verifying after lets bounces happen, damaging reputation. Verify within 24h of send. The exception: post-send analytics - pull bounce reports after sending and update suppression list for future sends.

Does Google Postmaster reputation help me know when to re-verify?

Yes - it's a leading indicator. When Gmail Postmaster shows your sender reputation dropping from High > Medium, that's a sign list quality is degrading. Re-verify immediately. Don't wait for it to drop to Low - recovery takes 30-90 days from there.

Set Up Your Verification Cadence

100 free credits per month covers small lists indefinitely. Larger lists from $3 per 1,000 (2,000 credits for $6) with no expiration. Real-time API + bulk + webhook on the same key.

Start Free
list hygiene email verification deliverability cadence list decay

Continue with related resources

Move from this article to the most relevant guide, tool, or evidence page.

AL

Written by

Ayoub Lebda

Founder, BounceZero - Email-infrastructure engineer

Ayoub built BounceZero's 5-stage validation pipeline, its dedicated sending infrastructure, and the high-availability database behind every verification. Previously built high-volume email delivery systems. Trained at 1337 Benguerir (École 42 network, 2019). Open-source: bgp_analyzer.