Hard Bounces, Soft Bounces, and the Reputation Math of Cold Campaigns
Every bounce in a cold campaign does double damage: the message fails, and the mailbox provider takes a note about the sender who tried. Because cold B2B lists are researched rather than subscribed, bounces are your loudest early signal of list quality — and the fastest way to burn a sending domain if ignored. This guide sorts hard from soft bounces, gives concrete suppress-versus-retry rules, and shows the thresholds that keep an outreach program deliverable.
- Hard bounce = permanent failure (address doesn't exist): suppress immediately and permanently, no exceptions, no retries.
- Soft bounce = temporary failure (full mailbox, server down, greylisting): retry is fine, but repeated soft bounces on the same address should convert to suppression.
- Keep total bounce rate under 2–3% in cold campaigns; past 5% you are actively training filters to distrust your domain.
- Pre-send verification removes most hard bounces, but catch-all domains stay genuinely ambiguous — handle them as a separate risk tier.
- Some 'bounces' are actually blocks: policy rejections from spam filters are a deliverability alarm, not a list hygiene issue, and need a different response.
What a bounce actually tells you
A bounce is the receiving server's formal refusal, delivered back to you with an SMTP status code and usually a text explanation. The two families you know: 5xx codes are permanent failures — hard bounces — and 4xx codes are temporary failures — soft bounces. The convention is that hard means never retry, soft means try again later.
In cold outreach the diagnostic layer matters more than the plumbing. A subscribed newsletter list bounces when subscribers change jobs; a researched prospect list bounces when your data source is stale, your email-pattern guessing was wrong, or your verification step failed. That makes bounce rate the most honest quality score your list ever gets — it is the receiving infrastructure grading your research. A campaign that opens with a burst of hard bounces is telling you something about every other address from the same source, including the ones that technically delivered.
The second thing a bounce tells you is what mailbox providers now think of you. Providers track bounce rates per sending domain and IP as a core reputation input, because high bounce rates are the statistical signature of spammers working scraped or generated lists. Legitimate senders who happen to bounce a lot inherit the spammer's treatment. This is why bounce management in cold email is not cleanup after the fact — it is reputation defense.
Hard bounces: the permanent list
A hard bounce means delivery is impossible and will stay impossible: the address does not exist, the domain has no mail server or does not resolve, or the recipient's server categorically rejects the address. Typical wordings in the bounce text: 'user unknown', 'no such user', 'mailbox unavailable', 'domain not found'.
The rule is absolute: one hard bounce, permanent suppression. Remove the address from the active campaign, add it to a global suppression list that spans every campaign and every sending mailbox you operate, and make sure re-imports cannot resurrect it. Retrying a nonexistent address has zero upside and pure reputation cost — and repeatedly hitting dead addresses is exactly the pattern that walks a sender into spam traps, since providers and blocklist operators recycle long-dead addresses into traps precisely to catch senders who do not process bounces.
Do the forensics while the data is fresh. Cluster your hard bounces by source: which data vendor, which enrichment run, which pattern-guessing batch produced them. In practice a majority of hard bounces usually trace to one or two identifiable sources. Cut or re-verify those sources rather than tolerating a blended bounce rate that quietly stays elevated. A hard bounce on a prospect you genuinely need is also a research prompt, not a dead end — the person may have moved roles or companies, and finding their current address is a fresh, better-targeted contact.
Soft bounces: retry with a deadline
A soft bounce is a temporary refusal: the mailbox is full, the receiving server is down or overloaded, the message was too large, or the server is greylisting — deliberately deferring first-time senders on the assumption that real mail servers retry and spam cannon software does not. Your sending infrastructure will normally retry automatically over hours or a couple of days, and much soft-bounced mail ultimately delivers.
But 'temporary' has a shelf life, and cold senders should enforce it. An address that soft-bounces across multiple sends over several weeks is telling you its story: a mailbox that has been over quota for a month belongs to someone who left the company; a server that defers you forever is a server that has decided about you. The working rule: after two or three consecutive soft bounces on separate sends, treat the address as hard-bounced and suppress it.
The trap inside the soft category is the block disguised as a bounce. Some rejections come back with wording like 'message rejected due to policy', 'blocked using spam filter', or a reference to a blocklist. That is not a list hygiene event — the address is fine; the receiver dislikes your content, your IP, or your domain. Blocks require a different playbook: pause sending to that provider, check your domain and IPs against major blocklists, review authentication and message content, and fix the cause before resuming. Retrying into a block teaches the filter that you ignore its verdicts.
Reading a bounce line: '550 5.1.1 The email account that you tried to reach does not exist' — hard, suppress forever. '452 4.2.2 Mailbox full' — soft, retry, suppress after repeats. '554 5.7.1 Message rejected due to local policy' — a block: stop, diagnose your reputation and content, do not simply retry.
The thresholds and the math
The numbers that matter, drawn from sending practice rather than any official rulebook: a well-run cold campaign on a verified list bounces under 2%, often under 1%. Between 2% and 5% you are in the warning zone — deliverability may already be degrading and the next campaigns inherit the damage. Above 5%, mailbox providers are actively downgrading you, and above roughly 10% you should stop sending entirely and rebuild the list, because every additional send deepens the hole.
Small volumes make the math unforgiving in both directions. On a 200-recipient send, four hard bounces put you at 2% — so a single bad data batch can push a small, otherwise clean campaign into the warning zone overnight. The same smallness is your advantage: verifying 200 addresses before sending costs pennies and minutes, which is exactly why address-based outreach can and should hold itself to bounce standards mass senders only aspire to.
Reputation damage from a bounce spike is cumulative and sticky. Filters weight recent history, so one bad campaign shadows the next several clean ones. If you do take a spike, respond like it is an incident: halt the affected sequences, quarantine the list source, re-verify everything unsent, and restart at reduced volume on your cleanest segments to rebuild the statistics before scaling back up.
Prevention: verification and its blind spots
Most bounce management is done before the campaign, at the list-building stage. Pre-send verification — syntax checks, domain and MX lookups, and SMTP-level mailbox checks — removes the large majority of would-be hard bounces for a trivial cost. It should be as standard as spell-checking the copy.
Verification has one structural blind spot: catch-all domains, configured to accept mail for any address. A verifier cannot confirm a specific mailbox there — the server says yes to everything — so results come back 'accept-all' or 'unknown' rather than valid. These are not necessarily bad addresses; they are unverifiable ones, and they deserve their own risk tier rather than a place in the main send.
- Verify every address at most a few weeks before sending — verification results decay as people change jobs; a list verified last quarter is not verified.
- Send only 'valid' results in main campaigns; keep bounce rate headroom for the inevitable residue.
- Route catch-all and 'unknown' addresses to a separate low-volume sequence from a secondary domain, capping their share so even a worst case stays under threshold.
- Drop disposable addresses and be deliberate about role addresses (info@, office@) — in address-based outreach to named decision-makers they are usually a research failure anyway.
- Cross-check the person, not just the mailbox: a LinkedIn profile that still lists the company is cheap evidence the address is alive.
- Prefer data sources that timestamp their records, and weight recency when merging sources.
- Automate the loop: bounce processing should feed the suppression list without a human in the path, same day, every campaign.
A bounce-handling checklist for outreach programs
Pulled together as the operating procedure we run at LDM for every address-based campaign: verify the full list within weeks of launch and send only clean results in the main wave. Route unverifiable catch-alls to an isolated, capped sequence on a secondary domain. Suppress every hard bounce permanently and globally the day it arrives, and convert addresses with two or three repeated soft bounces to permanent suppression. Separate blocks from true bounces in reporting, and treat any policy-rejection cluster as a deliverability incident with its own diagnosis. Watch bounce rate per campaign, per list source, and per sending domain weekly — the per-source view is where problems become visible before they become expensive.
None of this is glamorous, which is exactly why it separates programs that keep landing in inboxes from programs that wonder why replies dried up. Bounce management is the maintenance schedule of cold email: skip it and the engine still runs — right up until it doesn't.
FAQ
What bounce rate is acceptable for a cold email campaign?
Aim for under 2%, and treat under 1% as the standard a verified list should hit. Between 2% and 5% consider it a warning to audit your list sources; above 5% pause and re-verify everything, because at that level mailbox providers are actively degrading your reputation with every send.
Should I ever retry a hard-bounced address?
No. A hard bounce is a permanent failure — the mailbox does not exist or the domain cannot receive mail. Retries cannot succeed and each attempt adds negative reputation data. Suppress the address globally. If the prospect matters, the productive move is research: find their current address or their successor in the role, and contact that instead.
How many soft bounces before I give up on an address?
Let your infrastructure run its automatic retry window for each send, but across sends apply a limit: two or three consecutive soft bounces on separate occasions and the address should be converted to permanent suppression. A mailbox that stays full or a server that defers you for weeks is a permanent problem wearing a temporary label.
Why did my email bounce if the address is valid?
Check the bounce text — you likely hit a block, not a true bounce. Rejections mentioning policy, spam, or a blocklist mean the receiving system objected to your sending reputation or content, not to the address. Pause sends to that provider, check your domain and IPs against major blocklists, verify SPF, DKIM and DMARC, and fix the underlying cause before resuming.
Do bounces hurt my domain reputation even at small volumes?
Yes — reputation is tracked as a rate, not a count, so small senders have no statistical cushion. Four dead addresses in a 200-email campaign is a 2% bounce rate, the same signal proportionally as 400 dead addresses in 20,000. The upside of small volume is that verifying the entire list before sending is fast and cheap, so there is no excuse not to.
How should I handle catch-all domains in my prospect list?
Treat them as a separate risk tier. Verification cannot confirm individual mailboxes on catch-all servers, so isolate these addresses in a low-volume sequence sent from a secondary domain, cap their share of any send, and let actual delivery results sort them. Corroborating evidence — a current LinkedIn profile, a listed team page — raises confidence enough to include high-value catch-all prospects deliberately.
Want to apply this to your outreach?
We will map it to your segment and product — before any work starts.
Talk to us