Email List Hygiene
How to Clean and Verify an Email List Before a Campaign
Remove who you already know you should not email, verify what remains, then decide what to do with risky and inactive contacts.
❓
5
questions before every send
✅
4
verification results to act on
📋
6
steps in the cleaning order
Anastasiia Kosianchukby Anastasiia Kosianchuk · Last updated: 2026-09-28

How Should You Clean and Verify an Email List Before a Campaign?

Leave a bird feeder outside for a few rainy days and… something interesting happens.

From the kitchen window, it can still look full. Get closer, though, and you’ll find empty husks, damp clumps, bits the birds have ignored and food that probably shouldn’t stay there much longer.

Email lists can be surprisingly similar.

A database might show 40,000 contacts, but that doesn’t mean you have 40,000 people you should email. Some addresses no longer exist, while others belong to people who unsubscribed months ago. Then, some are technically valid but haven’t engaged with anything you’ve sent in a year. A few will sit somewhere in the frustrating middle: not clearly bad, but not reliable enough to treat like your best contacts.

New to list building? Start with our guide to what an email list is, then come back to this one.

Before a campaign, clean your list in layers.

  1. First, remove contacts you already know you shouldn’t email.
  2. Then, verify the addresses that remain and separate clearly undeliverable records from uncertain ones.
  3. Finally, use engagement data to decide what to do with inactive subscribers. A verified address isn’t automatically a campaign-ready contact.

Quick context: Mailsoftly connects to Bouncer with a limited API key. Verify any contact list, then tag, remove or suppress the results in Mailsoftly before your next campaign goes out. Start free, no credit card.
Start sending to a cleaner list →

Key Takeaways

  • Remove unsubscribes, complaints, suppressed records and duplicates before you verify anything.
  • Verification answers one narrow question: can this address receive mail?
  • “Risky” is a prompt to look at the reason, not another word for “invalid.”
  • Inactive contacts are an audience-quality problem, not an address-quality problem.
  • Verify again when uncertainty rises: old lists, big imports and long gaps between sends.

The easiest way to keep those decisions straight is to ask five different questions:

Mix them together and list cleaning gets messy. Keep them separate and deciding what to do with invalid, risky and inactive contacts becomes much easier.

What should you remove before verifying your email list?

It’s tempting to export the CRM, upload everything to an email verification service and start cleaning from there.

That isn’t always the best first step.

Your own systems already contain information an email verifier doesn’t need to rediscover. If somebody has unsubscribed, for example, finding out that their mailbox is technically deliverable doesn’t make them eligible for your next marketing campaign.

The same applies to known spam complaints and contacts already sitting on an internal suppression list. Previous hard bounces should also be reviewed before you spend time checking the rest of the database.

This is often also a good moment to deal with duplicates. They often creep in after CRM imports, event uploads, form integrations or years of different teams creating records in slightly different ways. Our email list management best practices cover how to keep them from coming back.

Don’t pay to verify an address you already know you won’t email.

That’s why we’d rather call the first stage “campaign eligibility”.

Once you’ve removed the obvious no-send records, you have a much more useful list to work with.

What should email verification tell you?

Email verification answers a narrower question than many marketers expect: how confident can we be that an email address can receive mail?

A proper verification process can examine the structure of an address, its domain and mail records, then query the receiving mail infrastructure without sending an actual campaign email.

Tools such as Bouncer’s email verification service then return more than a simple yes or no.

Bouncer, for example, groups results into four main statuses: deliverable, risky, undeliverable and unknown.

Bouncer email verification results showing deliverable, risky, undeliverable and unknown addresses for a list
A verified list in Bouncer, split into deliverable, risky, undeliverable and unknown results.

It can also provide additional signals such as whether an address belongs to a catch-all domain, uses a disposable provider or has a full mailbox.

Those details are really important because email addresses don’t divide neatly into two piles called “good” and “bad.” Verification also has limits.

It doesn’t tell you whether somebody gave permission to receive a particular campaign. Also, it doesn’t know whether the contact is still interested in your product. It doesn’t turn an old, disengaged subscriber into an active one. And it can’t guarantee that a message will reach the inbox rather than a spam folder.

Think of verification as one layer in the decision… not the decision itself.

What should you do with each verification result?

The safest response depends on what the verifier actually found.

Result or signalWhat it tells youWhat to consider before a campaign
DeliverableThe mailbox appears able to receive emailKeep it if the contact is also eligible and relevant to the campaign
UndeliverableThe address can’t reliably receive mailSuppress it from the send
RiskyThe address may work, but one or more signals reduce confidenceLook at the reason instead of automatically keeping or deleting it
UnknownThe mail server didn’t provide a conclusive answerHold, retry or treat cautiously based on the campaign
Catch-allThe domain accepts mail without confirming every individual mailboxUse additional context, especially for B2B contacts
DisposableThe address comes from a temporary email serviceDecide whether temporary addresses make sense for your use case
Full mailboxThe mailbox may exist but currently has a delivery problemConsider holding or checking the contact again later

Undeliverable contacts are the simple part. The interesting decisions start with everything between clearly deliverable and clearly undeliverable.

Should you delete every risky email address?

No.

“Risky” is a warning to make a decision, not another word for “invalid.”

Imagine you’re preparing a campaign for 3,000 B2B leads and several hundred addresses belong to catch-all corporate domains. A catch-all mail server may accept verification attempts for addresses at that domain without confirming that each individual mailbox exists.

Deleting every one of those contacts could throw away legitimate prospects. Treating all of them exactly like your most reliable addresses creates a different kind of risk.

Context is more important than you think here.

Where did the address come from? Has the contact replied to you before? Did they fill in a form themselves? Is the domain connected to an active customer account? Is this an older prospecting database acquired through several imports?

The same principle applies to other risky results.

A full mailbox isn’t the same problem as a disposable address. A catch-all address with recent engagement isn’t the same as a catch-all address from a three-year-old spreadsheet nobody remembers importing.

Look at the underlying reason rather than collapsing every uncertain result into one bucket. For example, you might allow recently engaged catch-all contacts into a normal campaign, isolate older catch-all records into a smaller segment and suppress disposable addresses from campaigns where temporary signups have little value.

The exact rule can vary, but the crucial part is knowing why the rule exists.

What should you do with inactive contacts?

Inactive contacts are where list cleaning often gets confused with list verification.

An inactive contact can have a perfectly valid mailbox.

They may simply have stopped opening, clicking or replying to your messages. Perhaps they changed roles. Maybe they still read some emails without generating an engagement signal you can see. Or, they signed up for one thing and have no interest in everything else you send.

Whatever the reason, verification alone can’t solve the problem.

This is a should we send? question rather than a can we send? question.

Instead of deleting every subscriber who crosses an arbitrary inactivity threshold, look at the relationship you actually have with them.

Someone who bought from you recently but hasn’t clicked a newsletter in months is different from a lead who downloaded one ebook two years ago and has ignored every message since.

Likewise, an inactive contact whose address now also returns a risky verification result deserves more caution than a recently engaged customer using the same type of mailbox.

A sensible segmentation model might separate contacts into recent engagement, declining engagement, long-term inactivity and contacts that have never meaningfully engaged.

From there, you can decide who belongs in the main campaign, who should enter a re-engagement sequence and who should be removed from regular sends.

The important distinction is this:

Invalid contacts create an address-quality problem. Inactive contacts create an audience-quality problem.

They overlap sometimes, but they aren’t the same thing.

What order should you clean an email list in?

The process becomes easier when you stop treating “list cleaning” as one giant action.

Instead, build your sequence using these steps:

  1. Start with campaign eligibility. Remove unsubscribes, known complaints, existing suppression records and anything else you already know shouldn’t enter the campaign.
  2. Clean the database itself. Deal with duplicates, obvious formatting problems and records created through messy imports.
  3. Verify the addresses that remain. Separate deliverable, undeliverable, risky and unknown results.
  4. Review uncertain results instead of treating them all alike. Catch-all, disposable and full-mailbox signals deserve different decisions.
  5. Add engagement context. Identify contacts who may be technically deliverable but no longer belong in every broadcast.
  6. Build the actual campaign segment. Only now do you have a list that reflects eligibility, address quality and audience relevance.

Notice how far down the sequence the actual campaign segment appears.

That’s intentional.

Your CRM acts as a database, but your campaign audience is a decision. The two shouldn’t automatically be the same thing.

Running steps 3 and 4 inside Mailsoftly? The Mailsoftly and Bouncer integration verifies any contact list and sends each result back as a tag, a removal or a suppression, with no CSV exports.

When should you verify your list again?

You don’t need to invent a ritual where every contact gets reverified on the first Monday of every month.

It makes way more sense to connect verification to moments when so-called “uncertainty” increases.

An old list coming back into use is an obvious example. So is a large CRM import, a database merged after an acquisition, an event list that has been sitting untouched or a campaign targeting contacts you haven’t emailed for a long time.

Unexpected delivery problems can also be a reason to inspect list quality again.

You can go further and verify closer to the point of entry. Checking an address when someone submits a form or enters a workflow can stop obviously bad records from accumulating in the first place.

This changes how you should think about list hygiene: not as a one-off cleanup action, but as an ongoing process.

That’s usually easier than waiting until the morning before a major campaign and discovering that nobody quite knows what’s inside a 70,000-contact export.

How should you handle an old list before using it again?

Old lists deserve more scrutiny than fresh, consistently managed ones.

Start with provenance.

Do you know where the contacts came from? When were they last mailed? Were unsubscribes consistently synchronized between the systems that stored them? Has the company changed email platforms or CRMs since the list was active?

If nobody in your team can answer those questions confidently, verification is only one part of the investigation.

An address can still exist while the context around it has become useless.

Suppose an address verifies successfully but the contact entered the database four years ago, hasn’t engaged since and you can’t establish why they were subscribed to the campaign you’re planning now.

Technically deliverable doesn’t answer the bigger question.

This is also why an old list shouldn’t automatically be “reactivated” with one enormous send. Cleaning the technical failures is useful, but engagement and eligibility still need their own review.

When uncertainty stacks up, a smaller and better-understood audience is often more useful than preserving every possible record.

What should your final pre-send list look like?

There isn’t one ideal percentage of contacts you should keep.

In fact, trying to maximize the number that survives the cleanup is the wrong objective.

Your goal is to create an audience where you can explain why each category of contact is there.

A final list should have passed three tests:

  1. Can we send? The address has an acceptable verification status under your rules.
  2. Should we send? The contact has enough relevance, recency or engagement to belong in this campaign.
  3. Are we allowed to send? Your consent and suppression records don’t give you a reason to exclude them.

That framework also makes future decisions easier.

When somebody asks why 6,000 records from the CRM aren’t included in the campaign, you don’t need to answer, “The cleaning tool removed them.”

You can say 2,000 were suppressed before verification, 1,500 were undeliverable, 700 required more cautious handling and the remaining contacts were excluded because they no longer matched the campaign audience.

That’s a list you understand.

For the bigger picture on growing and looking after your audience, see our complete email list building and management guide.

Frequently Asked Questions

Should I remove every risky email address?

No. Risky doesn’t necessarily mean the mailbox is invalid. Look at the reason behind the result and combine it with the source, engagement history and purpose of the campaign before deciding what to keep.

Can an email address be valid but inactive?

Yes, absolutely. A mailbox can still receive email even if the person behind it hasn’t engaged with your campaigns for months. Verification measures address quality, while inactivity comes from your own engagement data.

Should I verify contacts who have already unsubscribed?

You generally don’t need to verify them for a marketing campaign you’re preparing because they’re already excluded from that send. A technically valid mailbox doesn’t override an unsubscribe or other suppression rule.

Does email verification guarantee inbox placement?

No. Verification helps you identify address-related problems before sending, but inbox placement depends on a wider set of factors, including your sending practices, authentication, reputation and recipient behavior. Our guide to email deliverability covers the rest.

When should I verify an email list?

Verify when the quality of the addresses is uncertain. Common triggers include older databases, large imports, long gaps between campaigns and lists assembled from several different systems.

Send your next campaign to a list you understandTry Mailsoftly free →
500 contacts, 2,000 emails per month with your Gmail, Outlook, Google Workspace or Microsoft 365 account. Free hands-on migration. No credit card. The Starter plan is $15 a month (billed yearly) for 1,000 contacts and 10,000 emails, and lets you send from your own domain.

Anastasiia Kosianchuk
Anastasiia Kosianchuk
Marketing Manager at Bouncer
Anastasiia Kosianchuk is a Marketing Manager at Bouncer, an email verification and deliverability platform. She works across marketing, partnerships, and content, helping brands build healthier email lists and get more from their email campaigns.