Bounce rate is the only cold email metric that mailbox providers see in near real time and score you on immediately. Open rate is noisy, reply rate lags by days, but every invalid recipient you hit gets logged by Google or Microsoft within seconds and folded into your sender reputation. That's why a campaign can look fine on Monday and be landing in spam by Thursday — the bounces did the damage long before anyone read the weekly report.
The short answer: keep your cold email bounce rate under 2%. Between 2% and 3% you have a list hygiene problem worth fixing this week. Above 5%, stop the campaign rather than throttling it. But the number alone isn't enough. A 6% bounce rate made entirely of "user unknown" errors is a data problem you can fix with verification. A 6% bounce rate made of policy rejections is a reputation emergency and verification won't touch it. Most dashboards show both as the same grey "bounced" bar, which is how people end up solving the wrong problem for two weeks.
Bounce rate bands and what to do at each
| Bounce rate | Status | What to do |
|---|---|---|
| Under 1% | Healthy | Nothing. This is what verified, recent data looks like. |
| 1–2% | Normal | Keep sending. Spot-check which domains are bouncing. |
| 2–3% | Warning | Re-verify the remaining leads in the campaign before the next batch goes out. |
| 3–5% | Risk | Pause new leads. Verify the whole list and check whether bounces are invalid-user or policy blocks. |
| Above 5% | Stop | Pause the campaign and the mailbox. Re-verify everything, then resume at half volume. |
| Above 10% | Damage done | Assume reputation impact. Expect two to four weeks of reduced volume before things normalise. |
These bands are operating limits, not published rules. No provider tells you the exact threshold at which they start throttling you, and it shifts with the rest of your sending profile. A mailbox with a year of clean history and strong reply rates will survive a 4% day. A three-week-old mailbox on a new domain probably won't.
Calculate it per campaign and per mailbox, not lifetime
Most tools default to a workspace-wide average, which is the least useful view available. A 90-day average of 1.8% can easily hide a single list import that bounced at 14% on a Tuesday afternoon. Mailbox providers don't average across your history — they react to the spike, on the day it happens, on the specific sending identity that caused it.
Track bounce rate per campaign per send day, so one bad import can't be diluted by four good ones. Track it per mailbox on a rolling seven-day window, because if one mailbox bounces at 9% while five others sit at 1% on the same list, your problem is that mailbox or its domain rather than your data. And track it per lead source: a scraped list, a CRM export, and a conference attendee list decay at wildly different speeds and deserve separate scores so you know which source to stop using.
The denominator matters too. Bounce rate should be bounces divided by emails attempted, not divided by emails successfully delivered. Some platforms quietly exclude soft bounces and retried sends from the calculation, which makes your number look better than the one Google is computing on its side of the connection. If your tool reports 1.4% and your raw log shows 3%, trust the log.
Hard bounces, soft bounces, and blocks are three different problems
Open the actual SMTP response behind a bounce and you'll usually find one of these:
- 550 5.1.1 / 550 5.5.0 — user unknown. The address doesn't exist. A hard bounce and a pure data problem. These hurt reputation most, because they're the clearest signal that you sent to a list you never verified.
- 550 5.7.1 / 554 5.7.1 — policy rejection. The address probably exists; the receiving server refused you. This is reputation or authentication, not hygiene. Re-verifying your list will not fix it.
- 452 / 552 — mailbox full or over quota. Soft bounce. The person may be reachable later, though a permanently full mailbox usually means an abandoned account.
- 421 4.7.0 — throttling. You're sending too fast for that receiving domain. Slow down; don't purge the addresses.
- 550 referencing Spamhaus or another blocklist. Your sending IP or domain is listed. Stop everything and deal with the listing before you send another email.
The practical rule: if more than a quarter of your bounces are 5.7.1 or blocklist-related, stop treating this as a list problem. Go and check SPF, DKIM, DMARC alignment and domain reputation instead — the cold email deliverability checklist walks the sequence in order.
Why 5% is the line
Mailbox providers use invalid-recipient rate as a proxy for how you acquired your list. Senders with permission-based lists bounce below 1% almost by definition, because the addresses came from people who typed them in themselves. Sending to a list where one in twenty addresses doesn't exist is a strong signal that the list was bought, scraped, or pattern-guessed, and filtering responds accordingly — first by routing you to spam, then by throttling your connection rate, then by rejecting outright.
The damage also isn't proportional. Drifting from 2% to 4% is survivable and recoverable. Jumping from 5% to 12% in a single day on a young domain can get that domain filtered for weeks. Reputation degrades fast and recovers slowly, which is exactly why the correct response above 5% is a full stop rather than a gentle slowdown. Finishing the batch to "see how it performs" is the most expensive decision in cold email.
Where high bounce rates actually come from
- Unverified imports. The single biggest cause. Verification costs well under a cent per address; a burnt domain costs you a month of pipeline.
- Pattern-guessed addresses. Tools that generate first.last@domain and label it "likely valid" routinely produce 10–20% bounce rates on their own.
- Stale data. B2B contact data decays at roughly 2% a month. A list verified in January is meaningfully worse by June. Anything older than 90 days should be re-verified before send.
- Catch-all domains. Typically 10–20% of B2B domains accept everything at the SMTP layer, so verification returns "unknown" rather than valid. They don't hard-bounce, which feels like good news, but they quietly consume volume and depress reply rate.
- Role addresses. info@, sales@, support@ often pass verification and then get rejected by policy or filtered on arrival.
- Companies that no longer exist. Small businesses fold, domains expire, and nobody goes back to update the CRM.
One related trap worth naming: a clean bounce rate does not prove people are reading you. Catch-all domains accept mail they never deliver to a human, and open tracking is distorted by security scanners — which is why open rates lie and bounce rate should always be read next to verified reply rate, not instead of it.
How to recover a mailbox that spiked
If you've just run a campaign at 8%, this is the sequence that works. Pause the campaign and the mailbox the same day — every additional invalid recipient adds to the signal, and there's no partial credit for finishing. Pull the full bounce log and sort by SMTP code before you do anything else, so you know whether you're fixing data or fixing reputation.
Then suppress every hard bounce permanently, and make sure suppression is workspace-wide so a future import can't resurrect the same addresses. Re-verify the entire remaining list rather than just the unsent portion: if 8% were invalid, a meaningful share of the "delivered" addresses are catch-alls or otherwise shaky. When you resume, run at 40–50% of previous daily volume for seven to ten days with warm-up traffic still active in the background, and watch reply rate rather than bounce rate. If bounces come back under 1% but replies have collapsed, the reputation hit landed and you're being filtered.
Expect two to four weeks before a Gmail or Microsoft 365 mailbox that took a real hit behaves normally again. If the domain itself got flagged, longer — which is a strong argument for keeping cold outreach off the domain your invoices and support tickets depend on.
The honest exception, and the opposite mistake
Some lists will bounce above 2% no matter how carefully you work. Event attendee lists from three years ago, high-churn SMB verticals, industries where half the companies rebrand annually. If you accept that trade-off, contain it: send those lists from a dedicated mailbox on a dedicated domain, cap daily volume hard, and never mix them with your good data. A 4% bounce rate confined to one sending identity is a manageable cost of doing business. The same 4% smeared across your entire infrastructure is not.
The opposite mistake is over-purging. Aggressively deleting every address that ever soft-bounced will shrink a perfectly good list for no reason, because 452 quota-full errors resolve themselves constantly. Suppress hard bounces permanently, retry soft bounces once after several days, and only suppress after two consecutive failures.
How Sendvanta handles this
Sendvanta scores bounces by type rather than lumping them into one bucket, so a policy rejection never looks like an invalid address in your reporting. Bounce rate feeds directly into the layered deliverability health score across mailbox, domain, DKIM, and IP — and when the rate crosses your risk threshold, sending slows or pauses automatically instead of completing the batch and telling you about it the next morning. Hard bounces enter workspace-level suppression permanently. Because you send through your own Gmail, Microsoft 365, or SMTP mailboxes and never a shared pool, the reputation you're protecting is genuinely yours.
You can test all of it on the free plan: $0 forever, no credit card, 1,000 active leads and 3,000 emails a month across up to 10 of your own SMTP mailboxes. Paid plans start at $29/mo. Before you import anything, read why you should verify every lead first — it remains the cheapest deliverability work available to anyone running outbound.
What is a good bounce rate for cold email?
Under 2% is healthy for cold outreach, and under 1% is what a properly verified, recent list looks like. Between 2% and 3%, re-verify before your next send. Above 5%, pause the campaign entirely rather than slowing it down.
Do soft bounces hurt sender reputation?
Far less than hard bounces. Soft bounces such as full mailboxes or temporary throttling are recognised as transient conditions. Invalid-recipient hard bounces are the ones that signal a poorly sourced list and drive real reputation damage.
How long does it take to recover from a high bounce rate?
Typically two to four weeks for a single mailbox, assuming you stop immediately, suppress hard bounces, re-verify the list, and resume at roughly half your previous volume with warm-up running. If the sending domain itself gets flagged, recovery takes longer.
Why is my bounce rate high even though I verified the list?
Check the SMTP codes. If they are 5.7.1 policy rejections rather than 5.1.1 user-unknown errors, the addresses are fine and you are being blocked on reputation or authentication grounds, which verification cannot fix. Stale verification is the other common cause, since B2B data decays around 2% a month.
Should I remove catch-all domains from my list?
Not automatically. Catch-all domains accept everything so they will not hard-bounce, but they may never deliver to a real person. Keep them in a separate segment, send at lower volume, and judge them on reply rate rather than bounce rate.
Methodology: the thresholds and recovery guidance here reflect current Gmail and Microsoft 365 filtering behaviour and Sendvanta's own campaign data as of February 2026. SMTP response codes are standard and stable, but provider tolerance shifts over time, so treat the bands as operating limits rather than published rules.
Ready to send outbound that lands?
Create your free Sendvanta workspace — no credit card required.
Start free