Why your cold emails bounce, and how to check them before you send
Short answer: Bounces happen because the email address is wrong, outdated, or was never real to begin with, usually from a list built by guessing or scraping rather than verifying. Run your list through an email verification tool before sending, not after. A standalone checker like ZeroBounce does this one job well; Amplemarket does it as part of a broader enrichment and database platform, which is more useful if you're also sourcing the leads there in the first place.
Your emails are bouncing and you're worried about what that's doing to your domain's reputation, not just losing one lead at a time.
I'm Ranjit, and I run Blur Studio: 15+ years building software, 120 apps taken live, and clients who have gone on to raise $10M+. I build AI systems and processes that help businesses do a lot more with a lot less time. I also work differently from most of what else is out there, more on that further down this page. Say hello.
This page may contain affiliate links from which Blur Studio earns commissions.
A bounced email isn't just a missed opportunity with that one contact. Every bounce is a signal to email providers (Gmail, Outlook and the spam filters behind them) that your sending domain might be sloppy or, worse, spammy. Enough bounces in a short period and your domain's reputation drops, which means even your good, valid emails start landing in spam for everyone, not just the bad addresses. This is the actual cost people underestimate: it's not the lost lead, it's the damage to every email you send afterward, including the customer and vendor correspondence that has nothing to do with your cold campaign at all.
The fix is a verification tool, run your list through one before you send, not after. ZeroBounce is a focused, standalone checker built for exactly this one job, feed it a list and it tells you which addresses are valid, invalid or risky. Amplemarket is another option worth knowing about, it bundles that same kind of verification into a broader data enrichment and database platform rather than selling it on its own, which is more useful if you're also sourcing or enriching leads there in the first place. I walk through both causes and that specific comparison in more detail below.
Why this happens in the first place
Bounces come from a short list of causes, worth knowing so you can tell which one you're dealing with:
- The address never existed. Common with guessed email patterns (firstname.lastname@ assumed without checking) or scraped lists where a typo got copied along with everything else.
- The person left the company. A once-valid email that's now dead because the person moved on and the address was deactivated. This is the most common cause on any list older than a few months.
- The domain itself changed or stopped accepting mail. Rarer, but it happens after a company rebrand, merger or shutdown.
- A catch-all domain masking the real answer. Some company mail servers accept anything sent to their domain without actually confirming the address exists, which can make a bad email look temporarily valid until the message actually fails later or lands in a dead mailbox forever.
| Bounce cause | How common | Caught by verification before sending? |
|---|---|---|
| Address never existed (guess or typo) | Very common on scraped lists | Yes, reliably |
| Person left the company | Most common on any list over a few months old | Yes, reliably |
| Domain changed or shut down | Rare | Yes, reliably |
| Catch-all domain accepting everything | Common at larger companies | Partially, flagged as risky rather than confirmed |
That last row is the one worth understanding properly, since it's where a verification tool can't fully protect you. A catch-all domain will often say "yes" to any address format you throw at it, including a wrong guess, which means a "valid" result from a basic checker on a catch-all domain isn't the same guarantee it is on a normal mail server. A more thorough verification tool will flag these separately rather than marking them simply valid, which is worth checking for in whichever tool you use.
How to actually check, before you send
- Run your full list through a verification tool before your first send, not after you've already sent to it once and watched what bounces. Checking first costs you nothing in reputation; checking by sending does.
- Treat "risky" or "unknown" results differently from "valid" and "invalid." Most verification tools return a middle category for catch-all domains or addresses they can't fully confirm. Don't bulk-send to this category the same way you would to confirmed valid ones; consider a smaller, slower test batch instead.
- Re-verify a list before reusing it, even one you checked a few months ago. Email addresses decay at a meaningful rate every month as people change jobs, so a list that was clean in spring isn't guaranteed clean by autumn.
- Warm up a new sending domain gradually regardless of how clean your list is. Sending a large volume from a brand-new domain looks suspicious to spam filters on its own, independent of your actual bounce rate.
ZeroBounce vs. Amplemarket for this specific job
ZeroBounce is a standalone checker: you feed it a list, it tells you which addresses are valid, invalid or risky, and that's the whole product. It's a focused, cheaper option if verification is genuinely the only thing you need, your list already has emails on it and you just want to confirm them before sending.
Amplemarket bundles verification into its broader data enrichment and database platform: it checks existing emails on your list and can also fill in new verified contacts for rows that don't have one yet. The steps are laid out in how to add emails to a spreadsheet of leads. That combination is more useful specifically if you're also sourcing some of your leads through Amplemarket's database rather than only verifying a list you built somewhere else. If verification is your only need and your list is already built, a standalone checker is the cheaper, more targeted tool for the job.
A worked example: what does a bad bounce rate actually cost you?
Say you send a cold campaign to 1,000 unverified addresses and 8% bounce, 80 emails. That bounce rate alone can be enough to trigger a reputation warning from major providers, and the real cost isn't the 80 failed sends, it's that your remaining 920 valid sends now have a meaningfully worse chance of reaching an inbox instead of a spam folder for weeks afterward, since providers remember recent sending behavior. Verifying that same list first, at a cost of a fraction of a cent per address through most verification tools, would have caught most of those 80 before you ever sent to them, protecting the deliverability of the other 920.
This is why checking first is cheap insurance rather than an optional extra step: the cost of verification is trivial compared to the cost of a damaged sending reputation, which can take weeks of clean sending to repair even after you fix the underlying list.
A second scenario: recovering from a bad send, not just preventing one
Everything above assumes you're catching this before you send. If you're reading this after the damage is already done, meaning you've already sent to an unverified list and bounce rates are climbing, the fix is different and slower. First, stop sending immediately to anything unverified, even leads you were planning to contact today. Second, pull your actual bounce data from whatever platform you sent through and separate hard bounces (permanent failures) from soft bounces (temporary, often a full mailbox or a server hiccup), since only hard bounces need removing from your list; treating a soft bounce as a dead contact wastes a good lead. Third, resume sending at meaningfully lower volume, to your best, most-engaged segment first, for at least a week or two before returning to normal volume. Providers watch recent sending behavior, not just your long-term history, so a clean week of smaller sends genuinely helps rebuild trust faster than going quiet entirely.
A specific number worth knowing: once your bounce rate on a domain crosses roughly 5%, major providers start treating that domain with real suspicion, and once it's past 10%, you're likely to see entire sends landing in spam regardless of how good any individual message is. Amplemarket states its platform-wide average bounce rate across customers at under 3%, which is the kind of number worth comparing your own sends against; if you're well above that, the list is the problem, not the copy. Keep a simple weekly log of your bounce rate by domain while you're in a recovery period, since a single bad day can look like noise on its own, but a week of gradually declining bounce rates is the actual signal that your sending reputation is recovering.
What I'd actually tell you
If you're already seeing real bounce damage, stop sending to the unverified portion of your list immediately, don't wait to finish the campaign first. Run what's left through verification, and treat the next few sends as a reputation-repair period: smaller volumes, to your most-engaged segments first, rather than resuming at full volume right away. Once sending is healthy again, you can follow up on cold emails without doing it by hand.
If you haven't sent yet and you're reading this proactively, you're in the better position: verify before the first send and you avoid this problem entirely, rather than fixing it after the damage is done.
Common mistakes that make this worse
The mistake I see most often is treating email verification as a one-time setup step rather than a recurring habit. A list verified in January and reused unverified in October has had ten months to decay, and the owner is often genuinely surprised when the bounce rate on a "clean" list comes back high. The second mistake is sending the full volume of a campaign the moment verification finishes, rather than ramping. Even a perfectly clean list sent all at once from a domain that doesn't usually send that volume can trigger the same spam-filter suspicion as a dirty list, since volume and pattern matter to providers independent of actual validity. The third, more subtle mistake: using a single sending domain for both cold outreach and normal business email. If your cold campaign damages your domain's reputation, you've also put your everyday customer and vendor emails at risk of landing in spam, which is a much bigger problem than one failed campaign. A dedicated sending domain or subdomain for cold outreach, separate from your main business domain, contains that risk to the campaign it belongs to.
When to skip the tool, and when it's worth a custom build
A standalone checker is cheaper if list cleaning, not lead sourcing or CRM enrichment, is genuinely all you need. Don't pay for a full enrichment platform's verification feature if that's the only piece of it you'll ever use.
Where it's worth building further: if you're pulling leads from several different sources, a form, a database tool like Amplemarket, a CRM export, and want every one of them verified automatically before they ever reach your outreach tool, it's worth wiring verification into that pipeline directly rather than running manual checks before each campaign. I build this kind of automated, pre-send verification step for clients sending regular cold outreach at volume, usually alongside domain-health monitoring so a rising bounce rate gets flagged automatically rather than discovered three days into a damaging send.
Questions people ask
What's a normal bounce rate for cold email?
Most deliverability guidance treats anything under 2% as healthy and anything over 5% as a real reputation risk. If you're seeing 8% or higher, stop sending to the unverified portion of your list and verify before continuing.
Does one bad campaign permanently damage my sending reputation?
Not permanently, but it can take weeks of clean, smaller-volume sending to repair, since providers weight recent sending behavior heavily. The faster fix is to never send the bad batch in the first place by verifying first.
What does 'risky' or 'unknown' mean in a verification result?
Usually a catch-all domain that accepts mail to any address without confirming it actually exists, or an address the tool couldn't fully verify either way. Treat these differently from confirmed-valid addresses, with a smaller test batch rather than a full send.
How often should I re-verify a list I've already checked?
Before every reuse, even if you checked it a few months ago. Email addresses decay at a meaningful rate as people change jobs, so a list clean in spring isn't guaranteed clean by autumn.
Is ZeroBounce cheaper than Amplemarket for just verification?
Likely yes if verification is genuinely all you need. ZeroBounce is a standalone checker with no broader platform cost attached; Amplemarket bundles verification with database search and enrichment, which is worth paying for if you need those too, not if you only need checking.
Can I verify emails without sending a test campaign first?
Yes, that's the whole point. Run your list through a verification tool before your first send rather than using an actual campaign as your test; checking costs nothing to your reputation, sending to a bad list does.
Can email verification be automated across multiple lead sources?
Yes, by wiring a verification step directly into your pipeline wherever leads enter it, rather than running manual checks before each campaign. Worth building once you're pulling leads from several sources regularly.
What's the difference between a hard bounce and a soft bounce?
A hard bounce is permanent, the address doesn't exist or the domain is dead, and should be removed from your list. A soft bounce is temporary, often a full mailbox or a brief server issue, and doesn't mean the contact is bad; treating every bounce as permanent wastes otherwise good leads.