Verify your email list before a cold campaign
Learn why you must verify email list before sending a cold campaign, the bounce rate that threatens your sender reputation, and where verification fits.
A cold campaign lives or dies on the quality of the list behind it, and nothing damages a freshly warmed sending domain faster than a wave of bounces on day one. The fix is boring and it works: verify email list before sending, every time, so dead addresses are caught before they ever touch your mailboxes. This article covers why an unverified list wrecks deliverability, what bounce rate should actually worry you, and exactly where verification sits in a MailFleet campaign.
Why verify your email list before sending
When you send to an address that does not exist, the receiving server hands back a hard bounce. Mailbox providers read your bounce rate as a proxy for how well you know the people you are mailing. Senders who contact real, current contacts rarely bounce. Senders working from scraped, bought or year-old lists bounce constantly, so a high bounce rate is one of the clearest spammer signals a filter can read, and it is tracked per sending domain and per mailbox.
That matters most at exactly the moment cold senders are weakest: the first few weeks of a new domain. You spend time warming a mailbox so providers learn to trust it, then a single unverified import can undo that work in an afternoon. Bounces also burn your daily sending budget, because every dead address is a send slot that reached nobody. List quality is one of the core reasons mail lands in spam, which we cover in full in why cold emails go to spam.
Verification sidesteps all of this by testing an address before you send to it. A verifier checks the syntax, confirms the domain can receive mail, and probes whether the specific mailbox exists, all without delivering a real message to the person. For the full picture of what happens under the hood, see how email verification works. The point for a cold sender is simple: do the checking against someone else's infrastructure, not against your warmed mailboxes and your reputation.
What bounce rate is actually dangerous
There is no single number a provider publishes for bounces. Gmail is explicit that you should keep spam complaints below 0.3%, but it does not name a bounce threshold, and neither do Outlook or Yahoo. What the industry has settled on are rough rules of thumb, and they are worth treating as hard lines because the cost of crossing them is reputation damage that takes weeks to repair.
| Hard bounce rate | What it signals | What to do |
|---|---|---|
| Under 2% | A healthy, well verified list | Keep sending |
| 2% to 5% | The list is going stale or was never verified | Pause, verify, clean |
| Above 5% | Reputation damage is likely already underway | Stop, verify everything, let the domain recover |
MailFleet draws the line at the same place. A campaign whose bounce rate climbs over 2% shows that number in dark red, and on a mailbox's health ring "Bounce above 2%" is surfaced as the first thing to fix. It is worth knowing that MailFleet separates a hard bounce (a bad address) from a block (an email refused as spam or on policy, where the address is fine). A clean list is how you keep the hard-bounce number down. The other causes of poor delivery, such as missing authentication, are separate problems with separate fixes, covered in SPF, DKIM and DMARC for cold email.
The verification statuses and what to do with each
A good verifier does not just split a list into "valid" and "invalid". It returns a status that tells you why an address is risky, so you can decide what to send to. These are the statuses MailFleet reports and how a cold sender should treat each one.
| Status | What it means | Send to it? |
|---|---|---|
| Verified | The mailbox exists and accepts mail | Yes, this is your core list |
| Catch-all | The domain accepts every address, so it cannot be confirmed | Your call, higher risk than Verified |
| Role email | A shared inbox like info@ or sales@ | Usually skip for one-to-one outreach |
| Unknown | No clear answer from the server | Hold back, or recheck later |
| Inbox full | A real mailbox that is temporarily full | Hold and retry later |
| Invalid | The address does not exist | Never |
| Disabled | The mailbox has been turned off | Never |
| Disposable | A throwaway address | Never |
| Spam trap | An address planted to catch senders | Never |
| Couldn't check | The check kept failing, no credit was used | Recheck before you send |
The judgement calls live in the middle rows. Catch-all domains accept every address, so a verifier cannot prove the exact mailbox is real, which means catch-alls carry more bounce risk than Verified addresses even though many of them deliver fine. Role addresses reach a shared inbox rather than a person, so they rarely suit personalized cold outreach. The clear-cut rows are easy: invalid, disabled, disposable and spam-trap addresses should never see a cold email, and MailFleet refuses to import them during a verified import no matter which boxes you tick.
Where verification fits in the MailFleet workflow
MailFleet has list verification built in, so you do not need a separate tool or a second subscription to clean a list before you load it. Verification is included on Pro, which gets 300 checks a day, and on Scale, which gets 1,000 a day. Basic and the free trial do not include verification, so on those plans you verify elsewhere first. You spend one credit per address checked, an address your workspace checked in the last 30 days is free to check again, a malformed address is marked Invalid for free, and the daily allowance refreshes at midnight UTC. The cost always shows before a check starts.
There are three natural places to verify, and the right one depends on where your list is:
- Before import, from the Email Verification page. Start a check by uploading a CSV, pasting addresses (up to 5,000 at a time), or pulling from your existing leads. When the results come back, use Add To A Campaign or Save As Lead List and tick which statuses are allowed through. Only Valid is ticked to begin with, which is the safe default.
- During import, in one step. In the Import CSV dialog, tick Verify emails before importing and choose which statuses to let in. Verified is selected by default, and you can add Catch-all, Role email or Unknown if you want them. Invalid, disabled, disposable, full and spam-trap addresses are never imported, whatever you pick, and an import into a campaign adds the passing leads automatically once the check finishes.
- On a list you already have. Open a list on the Leads page and click Verify emails. Every lead then carries its status, and the table gains an Email status filter so you can act on the results.
MailFleet also protects you in the background. On import it strips out duplicates, unsubscribes and any address that bounced before, and a suppressed lead keeps that status if a stale CSV tries to add it back, so verification is a front-line clean on top of guardrails that are always on. One thing to keep in mind: MailFleet does not skip anyone by email status on its own, by design. Verification tells you the risk, and you decide what sends.
A simple pre-send routine
Verification is one item on a larger list, and it works best in sequence with the rest of your setup. The order we use is: authenticate the domain, warm the mailboxes, verify the list, then send at a measured pace. Fold verification into that flow and it stops being a chore you forget and becomes the gate every list passes through before a campaign goes live. The full ordered version is in the cold email deliverability checklist, but the list-quality step is always the same: no address enters a campaign until it has been checked, and the risky statuses are a deliberate choice rather than an accident.
The habit pays for itself quickly. A verified list means your bounce rate stays under the line, your warmed domain keeps the trust you built, and the opens and replies you measure reflect real people rather than a list half full of ghosts.
FAQ
What bounce rate is too high for cold email?
There is no official provider number, but a practical rule of thumb is to keep hard bounces under 2%. Between 2% and 5% your list is going stale or was never verified, and above 5% you should assume reputation damage is already underway. MailFleet flags any campaign bounce rate over 2% in dark red so you catch it early.
Do I need to verify a list I bought or scraped?
Yes, and more than any other kind. Bought and scraped lists are the ones most likely to be full of dead, role and trap addresses, which are exactly what triggers the bounces and complaints that burn a domain. Verify every address before it enters a campaign, and expect to drop a meaningful share of a purchased list.
Does MailFleet verify emails automatically?
Verification is built in but it is never silent. You run a check from the Email Verification page, verify during a CSV import, or verify a list from the Leads page, and you choose which statuses are allowed through. MailFleet does not skip leads by email status on its own, so the clean list is always a decision you make rather than something that happens behind your back.
How long does an email verification result stay valid?
Treat a verification result as a snapshot, because mailboxes are created and closed every day. Roughly 2% of a B2B list goes stale each month as people change jobs, so a list checked six months ago is no longer trustworthy. In MailFleet an address checked within the last 30 days is free to check again, which makes it cheap to re-verify an older list before you mail it.