Clean Your Email List Before a Campaign: A Pre-Send Checklist

By Swiftools Team · Published October 18, 2025 · 7 min read

Glowing neon envelope symbol representing email

Most "deliverability problems" aren't deliverability problems. They're list hygiene problems wearing a deliverability mask.

A list that hasn't been touched in nine months will have somewhere between 8% and 25% of its addresses go stale, depending on how it was collected. Send a campaign to that list and the bounce rate alone can be enough to get you flagged - or, in the worst case, rate-limited by Gmail and Outlook. The checklist below is the one we use ourselves before any send larger than about 500 recipients.

The minimum acceptable bounce rate

Industry guidance is consistent across the major ESPs: keep hard bounces under 2% per send. Mailchimp's documentation is explicit that exceeding 2% sustained is grounds for account review. Google's bulk sender guidelines set a spam complaint cap of 0.1% and effectively penalize anything above 0.3%.

Those numbers sound small until you do the math. On a 50,000-person send, 0.3% complaints is 150 people hitting the spam button. That's enough signal to nudge your future emails from "Primary" to "Promotions" or worse, for an extended period.

The pre-send checklist

1. Verify any address that hasn't been engaged in 6+ months

Engaged means opened, clicked, or replied. If an address hasn't done any of those in six months, the deliverability signal it carries is already weak; if the address has also gone stale (person left the company, mailbox was disabled), sending to it is actively harmful.

Run those addresses through a verification service to separate "still valid" from "hard bounce risk." This is what tools like our own VerifyEmail Google Sheets add-on are built for - take the column, run the check, then segment the list based on the result.

2. Segment by engagement, not just by status

"Subscribed" is not the same as "engaged." Build three segments before any major send:

  • Active: opened or clicked in the last 90 days. Send freely.
  • Lapsing: 90 to 365 days since last engagement. Send with a re-engagement strategy.
  • Stale: over 365 days, or never engaged at all. Either run a final win-back campaign, or remove.

The "remove" decision feels brutal but it's correct. Sending to a stale segment depresses your engagement rate, which depresses your inbox placement, which depresses your active segment's performance. Pruning the bottom helps the top.

3. Suppress role accounts unless you have a specific reason

Addresses like info@, contact@, support@, sales@ almost never represent a single human reader. They get distributed to whoever happens to be on rotation, and they're disproportionately likely to generate spam complaints because the recipient didn't sign up themselves.

For most campaign types, filter these out entirely. The few campaigns where role accounts make sense (e.g. partner notifications) are obvious enough to know about.

4. Re-confirm explicit consent

For any list segment that hasn't received an email from you in 12+ months, treat it as if it never consented. Either run a single re-permission email asking them to confirm interest, or remove them. GDPR and CAN-SPAM both have provisions that effectively make stale consent unreliable.

5. Authenticate the sending domain

SPF, DKIM, and DMARC should already be set up. Before a major send, re-verify them. Use MXToolbox or your ESP's diagnostic. A misconfigured DMARC record is the single most common cause of sudden deliverability collapse - and the diagnosis takes 30 seconds.

Since February 2024, both Gmail and Yahoo require DMARC for any sender pushing more than 5,000 messages per day to their mail systems. If you haven't audited yours since then, that's the first action item.

6. Warm up gradually if the list is new or the volume is much larger than normal

If your usual send is 2,000 messages and you're about to send 40,000, that's a deliverability event. Mailbox providers watch for sudden volume spikes from a sending domain and treat them as suspicious.

Split the send into batches over 24 to 48 hours - 10% on day one, 30% on day two, the rest on day three. Watch the bounce and complaint rates after each batch; if either spikes, pause and diagnose before continuing.

7. Send to a seed list before the real send

Keep a "seed list" of 5-10 addresses across the major providers (Gmail, Outlook, Yahoo, your own corporate domain, maybe a private domain you control). Send your campaign to the seed list first. Verify:

  • It lands in the Primary inbox (not Promotions or Spam) on Gmail
  • Images load without "click to download"
  • The unsubscribe link works and goes to the right place
  • The plain-text version is readable, not garbled

This is a 10-minute check that has caught more "send-day disasters" than any other single practice we use.

What the cleanup actually buys you

Better deliverability, lower complaint rates, and more accurate analytics are the obvious wins. The less obvious one is decision quality. When your engagement rate is honest - because the list is clean - you can actually tell whether a subject line worked, whether a segment is responsive, whether the time of send mattered. Dirty lists turn marketing into superstition; clean lists turn it into measurement.

The work above is not glamorous. It's the kind of thing that doesn't show up in a quarterly review. But the campaigns that follow it perform measurably better, and the sender reputation built on it compounds for years.

Sources & Further Reading