Cold Email Bounce Rate: What's Normal, What Burns Domains, and How to Fix It
A good cold email bounce rate is under 2%. Between 2% and 3% your list is going stale. Between 3% and 5% inbox providers start to notice, and above 5% you are actively damaging the domains you send from. Those are the working thresholds most cold email teams use, and they are stricter than newsletter benchmarks for a reason: cold email goes to people who never signed up, so providers give you far less benefit of the doubt.
Below: a calculator to see where your campaign stands, the formula, hard vs soft bounces in plain words, a decoder for the bounce codes you actually see (like 550 5.1.1), and a step-by-step fix when the number is too high.
How to calculate your bounce rate
bounce rate = bounced emails ÷ emails sent × 100Send 1,000 emails, get 35 bounces, and your bounce rate is 3.5%. Two details that change the answer:
- Count per mailbox, not just per campaign. A campaign at 2% overall can hide one sending mailbox at 6% that is quietly getting burned while the others carry the average.
- Look at hard bounces on their own. Soft bounces are often temporary. Hard bounces are the ones that say your list is bad, and the ones providers weigh most. A total of 3% that is mostly soft is a different problem from 3% that is all hard.
Benchmarks: what's normal for cold email
| Bounce rate | Status | What to do |
|---|---|---|
| Under 2% | Healthy | Keep verifying every list before upload. Nothing else to change. |
| 2% to 3% | Watch it | Re-verify the remaining leads in the campaign before the next batch goes out. |
| 3% to 5% | Fix now | Stop adding leads from this source. Clean the list and lower daily volume on the affected mailboxes. |
| Over 5% | Pause | Pause the campaign. Something structural is wrong with the list or its source. |
Newsletter benchmarks often quote averages under 1%, because subscribers typed their own address and confirmed it. Cold lists come from databases, scrapers and pattern guesses, so some decay is normal. That's why 2% is the line to manage to, rather than an average to compare against.
Hard bounce vs soft bounce
| Hard bounce | Soft bounce | |
|---|---|---|
| Meaning | Permanent failure. This address will never work. | Temporary failure. It might work later. |
| Code starts with | 5 (for example 550 5.1.1) | 4 (for example 452 4.2.2) |
| Common causes | Mailbox doesn't exist, domain doesn't exist, domain refuses mail | Mailbox full, server busy, you're being rate-limited |
| What to do | Remove at once. Never retry. | Let your sending tool retry. If it soft-bounces again, remove it. |
| Damage to your domain | High. These are the bounces providers count against you. | Low, unless the cause is you (rate limits or blocks). |
The bounce code decoder
Every bounce carries a code. Most sending tools show it in the lead's activity or in the bounce message. The first digit tells you hard (5) or soft (4); the three-part code after it (like 5.1.1) tells you why.
| Code | What it means | Whose problem | Fix |
|---|---|---|---|
550 5.1.1 | The mailbox doesn't exist (left the company, typo, guessed wrong) | List | Remove; verify lists before upload |
550 5.4.1 | Microsoft 365: recipient rejected, not found in the company directory | List | Remove |
550 5.2.1 | Mailbox disabled or inactive | List | Remove |
5.1.2 | The domain can't be found or has no mail server | List | Remove the whole domain |
556 5.1.10 | The domain publishes a Null MX: it accepts no email at all | List | Remove the whole domain |
452 4.2.2 | Mailbox is full | Recipient | Retry later; remove if it repeats |
421 / 450 4.7.x | Try again later, often rate limiting | You | Lower daily volume per mailbox; spread sends out |
4.4.1 | Couldn't connect to the receiving server in time | Recipient's server | Let your tool retry |
550 5.7.1 | Rejected by policy: blocked as spam or by a filter rule | You | Stop sending to that domain; check content, volume and blocklists |
550 5.7.26 | Gmail: your message failed authentication (SPF, DKIM, DMARC) | You | Fix your DNS records before sending anything else |
5.1.x, 5.2.1 and 5.4.1 codes mean bad addresses: cleaning the list fixes them. The 5.7.x and 4.7.x codes mean a problem with how you send. No amount of list cleaning fixes a block or a failed authentication. If a big share of your bounces are 5.7, look at your domains, not your leads.Why cold email lists bounce
- People change jobs. B2B data goes stale every month as people leave, get promoted or companies shut. A list pulled six months ago and sent today will bounce more than the same list sent the week it was pulled.
- Guessed addresses. Many tools build emails from a pattern (
first.last@) when they can't find a real one. The pattern is often right, but often enough it isn't. - Catch-all domains. These accept every address during verification, so a guessed address can look fine and then bounce once a real message arrives.
- Dead and parked domains. Acquired, rebranded or closed companies whose domain no longer has a mail server.
- Typos and junk from forms, scraping and copy-paste:
gmial.com, trailing dots, two addresses glued into one cell. - Throwaway inboxes that existed for ten minutes when someone downloaded a lead magnet.
How to fix a high cold email bounce rate
1. Verify every list right before you upload it
Not when you buy or build it: right before it goes into a campaign. Run it through our free email verifier (no signup, up to 25,000 emails per run, and it keeps your CSV columns). It removes dead domains, domains without a mail server, Null MX domains, throwaway inboxes and broken formats, and fixes typos. Those are the addresses that cause most hard bounces on a cold list.
2. Remove hard bounces the moment they happen
Most sequencers stop the sequence for a bounced lead, but check yours does it for every step, and that the address is suppressed across all campaigns, not just the one it bounced in. Sending to a known-dead address twice is the most avoidable damage there is.
3. Put catch-all and unknown addresses in their own campaign
Don't throw them away; some of your best accounts sit behind catch-all domains and security gateways. But don't mix them into your main campaign either. Send them in small batches from separate mailboxes, and if that campaign bounces over 5%, stop it.
4. Leave out team inboxes
info@, sales@ and support@ rarely bounce, but they rarely reply either, and they get more spam complaints. Find the person instead. If you want to understand how to spot them and the other risky types, our guide on how to check if an email is valid walks through each one.
5. Cap volume per mailbox while you clean up
Bounce damage is per sending domain and mailbox. While you fix a dirty list, keep each mailbox at a modest daily volume (around 30 a day is a common ceiling) so one bad batch can't sink a domain. To see how many mailboxes and domains a target volume needs, use the cold email cost and ROI calculator.
6. Fix the source, not just the symptom
If one source keeps producing lists over 5%, verification is a bandage. Re-pull from fresher data, prefer found emails over pattern guesses, and add a recency filter (for example, people who changed roles or companies that posted jobs recently). Fresh, signal-based lists bounce less and reply more.
7. If the bounces are 5.7.x, fix your setup
Check that every sending domain has SPF, DKIM and DMARC set up, that domains are old enough to send at your volume, and that you aren't on a blocklist. The domain age checker shows age and the SPF, DKIM and DMARC records for any domain in one go. And check your copy with the spam word checker, because content is part of what policy blocks react to.
What a high bounce rate actually costs you
A bounce isn't just a lost lead. Inbox providers watch how many of your messages hit addresses that don't exist, because harvesting and guessing addresses is what spammers do. A sender with a high bounce rate looks like one. The result shows up later and somewhere else: your open and reply rates fall on the good addresses too, because more of your mail lands in spam.
That's the real reason to keep bounces under 2%. The bad addresses were never going to reply. The good ones still might, as long as you don't spoil the domain sending to them.
Clean your next list before it costs you a domain. Free, no signup, nothing uploaded.
Verify a list