Why Bounces Matter More Than Most People Realize
Most cold emailers obsess over open rates and reply rates. Bounce rates? They treat those as a footnote. That's a mistake that will cost you your sending domain - sometimes permanently.
Every time an email bounces, your ESP registers it. Enough bounces and you're getting throttled, flagged, or banned outright. And it doesn't take a catastrophic list to trigger the damage. A few hundred bad addresses in a 10,000-send campaign can quietly erode the reputation you spent weeks building during warmup.
Here's the compounding effect nobody talks about: a single hard bounce signals poor list hygiene to inbox providers. A pattern of hard bounces triggers throttling, then spam folder placement, then domain-level blocking. By the time your open rate collapses, the damage to your sender reputation may already require weeks of recovery work.
So before you touch another campaign, you need to understand the two types of bounces - what they mean, why they happen, and what your actual next move is for each one.
What Is a Hard Bounce?
A hard bounce is a permanent delivery failure. The email is never going to reach that address, no matter how many times you retry. The receiving server sends back a definitive rejection - usually a 5xx SMTP error code - and that's the end of it.
Common causes of hard bounces:
- Invalid or non-existent email address - the most common cause. A typo like jsmith@acmecorp.con instead of .com, or someone who simply doesn't work at that company anymore and whose account was deleted.
- Domain doesn't exist - the company shut down or rebranded, and the domain is gone.
- Recipient's server has permanently blocked your IP or domain - this is rarer but happens when your sender reputation is already damaged.
When you get a hard bounce, remove that address from your list immediately. There is no scenario where resending makes sense. Retrying wastes resources and signals to ISPs that you're not managing your list. Leaving hard-bounced addresses on your list is like mailing to a demolished building - your postal carrier (the ISP) is going to get sick of you fast.
What Is a Soft Bounce?
A soft bounce is a temporary delivery failure. The email actually reached the recipient's mail server - but the server couldn't deliver it at that moment for a fixable reason. Most sending platforms will automatically retry delivery over the next 24-72 hours before giving up.
Common causes of soft bounces:
- Full inbox - the recipient's mailbox hit its storage limit. Might clear up on its own; might mean the account is abandoned.
- Server temporarily down or overloaded - DNS issues, maintenance, or a misconfigured mail server on the receiving end.
- Message too large - you crammed a massive image or attachment into the email and it exceeded the server's size limit.
- Content or spam filter triggered - something in your email body or subject line set off the recipient's server-level filters.
- Rate limiting - the receiving server is throttling inbound mail from your IP. It's saying "not now, try later" - not "never."
- Poor sender reputation - the receiving server deferred your message because your domain or IP looks questionable.
- Greylisting - some servers temporarily reject mail from unknown senders on first attempt as an anti-spam measure. A legitimate sending server will retry and usually succeed.
Soft bounces don't require the same immediate panic as hard bounces. But don't ignore them either. If the same address soft bounces across multiple campaigns, ESPs will start treating it like a hard bounce - and so should you.
Free Download: Email Verification Guide
Drop your email and get instant access.
You're in! Here's your download:
Access Now →Hard Bounce vs Soft Bounce: Side-by-Side
Here's the core distinction laid out simply:
- Hard bounce = permanent failure, 5xx SMTP code - remove immediately, no exceptions
- Soft bounce = temporary failure, 4xx SMTP code - monitor, retry, remove if it keeps happening
The SMTP error codes tell you which you're dealing with. Hard bounces are 5xx codes - the receiving server is telling you the message will not be accepted, period. Soft bounces are 4xx codes - the server is saying "not now, try again later." Your sending platform should classify these automatically, but knowing the codes helps you diagnose deeper infrastructure issues when something looks off.
One nuance worth understanding: not all 4xx codes are created equal. A 452 error (mailbox full) on the same address across three consecutive campaigns is a signal that the mailbox is abandoned. The account still technically exists, but nobody is checking it - so the inbox fills up and never clears. After two or three consecutive soft bounces of this type, treat it like a hard bounce and suppress it. It's effectively dead.
SMTP Bounce Codes Explained
Your ESP abstracts most of this for you, but when you need to go deeper into delivery logs, here's what the codes actually mean:
4xx Soft Bounce Codes
- 421 - Service temporarily unavailable. The receiving server is overloaded, down for maintenance, or rate-limiting your IP. Your platform should retry automatically.
- 450 - Mailbox unavailable (temporary). The account exists but can't accept mail right now.
- 451 - Local processing error on the receiving server. Usually resolves on retry.
- 452 - Insufficient storage. The mailbox is full. Watch for this on repeat - if it keeps happening, the account is likely abandoned.
5xx Hard Bounce Codes
- 550 - The most common hard bounce. "User does not exist." Suppress immediately.
- 550 5.7.1 - Policy or reputation block. This one is different from a standard 550 - it doesn't just mean the address is invalid, it means your sending domain or IP has been flagged. This requires sender reputation investigation, not just address suppression.
- 553 - Relaying denied. Your IP or domain may be on a blocklist.
- 554 - Transaction failed. Can indicate content rejection or a spam filter trigger at the server level.
- 556 - Domain no longer accepts mail. When you see this, suppress not just the specific address but all contacts you have at that domain - nobody there can receive your email.
One important distinction: the 500-504 range points to a configuration problem on your side, not a list quality problem. If you're seeing those codes, check your sending infrastructure before suppressing recipient addresses.
ESPs sometimes classify the same underlying code differently. One platform might call a 550 5.7.1 a "hard bounce" while another labels it a "reputation bounce" or "blocked." The raw SMTP code is what actually matters for diagnosing the root cause - so if your platform gives you access to bounce logs, use them.
What Bounce Rates Are Actually Acceptable?
The widely accepted benchmark for cold email is to keep your total bounce rate under 2%. But the real picture is more granular than a single number.
Here's a practical framework:
- Under 2% - healthy. You're doing it right.
- 2-5% - warning zone. Your data quality or infrastructure has a problem worth investigating now.
- Above 5% - red flag. Your data source is almost certainly the root issue. Stop sending at volume until you clean the list.
- Above 10% - danger. You risk getting blocked, throttled, or blacklisted. Some ESPs will suspend your account automatically at this level.
Keep your hard bounce rate specifically under 0.5% if you want to stay in the safe zone. A 4% total bounce rate made up mostly of soft bounces from temporary server issues is a very different problem than a 4% total bounce rate with 3% of that being hard bounces. The first is annoying. The second is a list quality emergency.
For context on where most senders actually land: the average bounce rate across cold email campaigns sits in the 7-8% range across the industry. That's far too high. Top-performing senders keep their bounce rate under 1.5% - they do that by verifying emails before sending, not after they've already taken the reputation hit.
One more number to watch alongside bounce rate: your spam complaint rate. Keep it under 0.3% - cross that threshold and your domain gets flagged by Gmail and Microsoft. Bounces and complaints compound each other. A high bounce rate lowers inbox placement, which leads to more spam folder placements, which leads to more complaints, which further damages your domain. The damage is exponential, not linear.
If you want a real-time view of where your campaigns stand, the Cold Email Tracking Sheet I put together tracks bounce rates alongside reply rates and meetings booked in one place - worth using if you're running multiple sequences.
Need Targeted Leads?
Search unlimited B2B contacts by title, industry, location, and company size. Export to CSV instantly. $149/month, free to try.
Try the Lead Database →Why Your List Quality Is the Real Issue
Most hard bounces are data failures, not technical failures. You're sending to bad addresses because your list is bad. This happens for a few reasons:
- You scraped or bought a list without verifying it
- Your contacts changed jobs and their old addresses went dead
- You haven't cleaned the list in months and it's gone stale
- Your data source just isn't accurate
B2B contacts decay fast. Average B2B contact data decays somewhere between 22.5% and 30% per year - and in fast-moving sectors like tech startups, the decay rate is even higher because employee tenure tends to be shorter. A list that was clean six months ago has already degraded. This is why verification isn't a one-time task. It's part of every campaign workflow.
There's also the catch-all problem. Catch-all domains are configured to accept any email address format, which means your validation tools will mark those addresses as "valid" - but they carry a meaningfully higher bounce risk. Standard verification tools often can't tell you whether a specific address at a catch-all domain is real or not. Elite senders either avoid catch-alls entirely or treat them as a separate, riskier segment that they approach at lower volumes.
Nearly half of all bounces come from bad email data. Fix the data, and you fix the bounce problem at the source - before it ever damages your sending reputation.
Before you send anything at scale, run your list through an email validator. This email verification tool checks addresses against live mailboxes to flag invalids, catch-alls, and high-risk entries before they ever hit your sending queue. Tools like Findymail also do solid verification on the front end if you're pulling contacts from LinkedIn.
For a deeper walkthrough on what to check before every send, take a look at the Email Verification Guide - it covers the full process from list sourcing to final validation.
How to Actually Fix Your Bounce Problems
For Hard Bounces
Remove immediately and don't look back. Create a suppression list in your sending tool and make sure those addresses never get contacted again. Most platforms like Instantly and Smartlead handle this automatically - verify your bounce handling settings are active before launching any new sequence.
Then diagnose where the bad addresses came from. If one specific segment or data source is generating disproportionate hard bounces, cut it. Your data provider may just not be accurate for that niche or geography. If you're seeing a cluster of 556 errors from a single domain, suppress all contacts at that domain - not just the one that bounced.
One special case: if you're seeing a lot of 550 5.7.1 codes, that's not a list problem - that's a sender reputation problem. It means receiving servers are actively blocking mail from your domain, not just rejecting individual invalid addresses. That requires a different response: check your blacklist status, review your authentication records, and slow down sending volume while you diagnose.
For Soft Bounces
Watch, don't panic. Most soft bounces resolve within 72 hours as your platform retries. What you're looking for is patterns:
- Same address soft bouncing on multiple campaigns = treat it like a hard bounce, remove it
- Spike in soft bounces across your whole list = check if your sending IP or domain got flagged, or if a major recipient domain had server issues
- Soft bounces concentrated on one domain = that company's server may have blocked your sending IP or is rate-limiting you
- 452 errors recurring on the same addresses = those mailboxes are abandoned, suppress them
Fix Your Authentication First
A surprising number of soft bounces - and some hard bounces - come from broken email authentication. SPF, DKIM, and DMARC are non-negotiable now. Gmail and Yahoo actively reject mail from non-compliant domains. Microsoft followed with equivalent enforcement requirements. If your authentication records are missing or misconfigured, you can soft-bounce or hard-bounce a large percentage of your emails to those providers, regardless of how clean your list is.
Check your records using MXToolbox or Google's own Postmaster Tools. If you haven't set these up properly, do it before anything else. Authentication failures show up as 550 5.7.26 or similar 5.7.x codes in your bounce logs - those are fixable on your side, not your list's side.
What to Do When Your Bounce Rate Spikes Mid-Campaign
If you're mid-campaign and your bounce rate suddenly climbs past 5%, here's the recovery sequence:
- Pause the campaign immediately. Don't keep sending while the domain is bleeding reputation.
- Re-verify your remaining list before resuming. Run every uncontacted address through verification.
- Resume at 50% of your previous send volume with only verified addresses.
- Monitor for 48 hours before ramping back up.
The instinct is to push through and let the campaign finish. Resist it. Continuing to send against a damaged domain makes the hole deeper. Pausing and cleaning takes a day - recovering a blacklisted domain takes weeks.
Protect Your Primary Domain
Send cold email from secondary domains, not your main business domain. If a cold email campaign tanks your sender reputation, you want that to stay contained. Running outreach from alex@alexberman.com instead of a dedicated sending domain like alex@alexb.co is a single point of failure that can wipe out all your transactional and marketing email too.
Distributing sends across multiple domains within a properly built infrastructure prevents any single domain from being overloaded and triggering spam filters. The general guidance is to start new sending domains slow - 5-10 emails per day initially, then gradually increasing over several weeks - so inbox providers learn to trust the domain before you scale.
The full infrastructure setup - domains, inboxes, warmup, sending limits - is something I break down inside my Cold Email Tech Stack guide. Worth reading before you scale anything.
How Your ESP Handles Bounces (And Where to Check)
Most cold email platforms handle bounce classification and suppression automatically - but the defaults aren't always set up correctly out of the box, and they don't all behave the same way.
In Instantly, bounce handling is managed at the campaign level. Hard-bounced addresses get removed from active sequences automatically. Check that "remove bounced contacts" is turned on in your campaign settings, and review your bounce report after the first few hundred sends in a new campaign.
In Smartlead, the platform tracks bounce rates per sending account. If a specific inbox starts generating high bounces, Smartlead will flag it. You want to be watching this dashboard, not just the campaign-level metrics.
The key thing to verify in any platform: are hard bounces being added to a master suppression list that applies across all your campaigns? Or are they only suppressed in the campaign where they occurred? A contact that hard bounced in Campaign A should never be contacted in Campaign B either. If your platform isn't handling cross-campaign suppression automatically, you need to manage a master suppression list manually and import it into every new sequence.
If you're using a CRM like Close alongside your email tool, make sure bounce data is flowing back into your contact records there too. Nothing is more frustrating than having a rep call a prospect whose email already hard bounced - it's a data hygiene signal that the contact record itself may be stale.
Free Download: Email Verification Guide
Drop your email and get instant access.
You're in! Here's your download:
Access Now →Start With Better Data to Avoid the Problem Entirely
The best time to catch a bad email address is before you send, not after. If you're building prospecting lists from scratch, the quality of your source determines your bounce rate before your first email goes out. Campaigns sent to verified email lists achieve roughly double the reply rate of unverified lists - the bounce reduction is one part of it, but inbox placement and sender reputation benefits compound across every future campaign too.
When I'm building lists, I use a combination of approaches: pull contacts from a verified B2B database, enrich with live email verification, and only send to addresses that pass a real mailbox check (not just format validation). ScraperCity's B2B email database lets you filter by title, seniority, industry, location, and company size - so you're targeting the right people from the start and not burning your domain on contacts that were never going to be valid. You can also use Reply.io for prospecting combined with built-in validation workflows.
If you're sourcing contacts from Apollo and want to export them cleanly for verification, the Apollo Scraper pulls that data into a format you can immediately run through a validator - skipping the manual export headaches.
For finding emails for specific prospects you've identified but don't have contact details for yet, an email finding tool can surface verified addresses directly rather than pulling from a static database - which means the data is fresher and less likely to bounce.
The Catch-All Domain Problem (And How to Handle It)
Catch-all domains are a specific bounce risk that most guides don't address directly. A catch-all configuration means the mail server accepts every inbound email, regardless of whether the specific address exists. This is common at smaller companies where IT teams set it up to avoid missing emails during address changes.
The problem for you as a sender: standard email verification tools can't tell whether john.smith@smallcompany.com is a real active inbox or a black hole that accepts mail but delivers to nobody. The verification check comes back "valid" because the server accepted the SMTP probe - but the actual address may not exist.
Practical options for managing catch-alls:
- Send to catch-all addresses at reduced volume first to test deliverability before including them in full campaigns
- Use a verification tool that specifically flags catch-all domains so you can segment them separately
- Some senders exclude catch-alls entirely - this reduces your list size but produces significantly lower bounce rates on what remains
Elite teams that remove catch-all addresses entirely report meaningfully lower bounce rates on their cleaned lists. The trade-off is a smaller sendable universe - but a universe where your domain reputation stays intact is worth more than a larger list that's eroding your deliverability with every campaign.
The Bottom Line on Soft vs Hard Bounces
Hard bounces are dead ends - remove them immediately, no exceptions, and find out where your bad data is coming from. Soft bounces are temporary - monitor them, let your platform retry, and only remove addresses that keep failing.
Both types chip away at your sender reputation over time if you ignore them. The fix is the same in both cases: start with clean, verified data, protect your sending infrastructure, keep your authentication locked down, and run list hygiene before every campaign - not after you've already done the damage.
The practical sequence every time before a new campaign goes out:
- Verify every address through a live mailbox check - not just format validation
- Segment and handle catch-alls separately
- Confirm SPF, DKIM, and DMARC are all passing
- Make sure hard bounces from previous campaigns are in your suppression list
- Start new sending domains at low volume and ramp gradually
Bounce management is part of a larger deliverability system. Get the fundamentals right and your campaigns will land consistently. Ignore it and you'll be rebuilding domains and negotiating with ESPs to get your account reinstated - a conversation nobody wants to have.
If you want help putting this entire system together - not just the bounce handling piece but the full outbound infrastructure and campaign strategy - I cover it inside Galadon Gold.
Ready to Book More Meetings?
Get the exact scripts, templates, and frameworks Alex uses across all his companies.
You're in! Here's your download:
Access Now →