For cold email, a good bounce rate is under 1% hard bounces, and 2% is the point where you stop and fix the list. Newsletters and transactional mail should sit lower still.
"Bounce rate" also names a web analytics metric. This page covers the email one, and the table below separates the two.
Key takeaways
- Bounce rate is bounced emails divided by emails sent. Send 1,000, get 15 bounces, and it is 1.5%.
- Track hard bounces (permanent failures) apart from soft bounces (temporary ones). Only hard bounces call for removing the address.
- Under about 1% hard bounces is good for cold outreach. Above about 2%, pause and clean the list.
- On LeadOcean the lever is the
emailStatusfilter. Counting by status is free, so you size a list before you send.
What it is
Email bounce rate is the percentage of messages you sent that the receiving server refused to deliver.
A bounce is a refusal at the mail server, not a missing reply. The SMTP standard (RFC 5321) splits server refusals into two classes. A 4xx code is a temporary failure and a 5xx code is a permanent one (RFC 5321, September 2026).
That split gives you two kinds of bounce. A soft bounce is the 4xx class: a full mailbox, a server that is down, or a rate limit. A hard bounce is the 5xx class: the mailbox does not exist or the domain is dead.
How it works
Your sequencer or mail platform records the server reply for every message. The rate comes from those replies.
- Send a campaign and collect the server reply for each message.
- Count the replies that are permanent failures. These are hard bounces.
- Count the temporary failures separately. These are soft bounces.
- Divide each count by the number of emails sent and multiply by 100.
- Compare the hard bounce rate to your target, then remove the hard-bounced addresses.
Worked example, with placeholder numbers: you send 2,000 emails to a list pulled for Acme-style SaaS companies. 12 hard bounces and 18 soft bounces come back.
hard bounce rate = 12 / 2,000 x 100 = 0.6%
soft bounce rate = 18 / 2,000 x 100 = 0.9%The hard rate of 0.6% is inside the target. The soft rate needs a second look only if the same addresses keep soft-bouncing across campaigns. Tools differ on the denominator (sent or delivered), so check how yours divides.
What counts as good
No mailbox provider publishes a bounce threshold. Google's sender guidance sets a number only for spam complaints: keep the spam rate below 0.10% and never reach 0.30% (Google Workspace Admin Help, September 2026). Yahoo's guidance gives 0.3% for the same measure and tells senders to monitor hard and soft bounces (Yahoo Sender Hub, September 2026).
So the bounce targets below are working rules, not provider limits. For cold outreach, LeadMagic's guide puts the alarm line at about 2% hard bounces, with strong teams well under 1% (LeadMagic, September 2026). We use the same line.
| Send type | Hard bounce target | What a miss means |
|---|---|---|
| Cold outreach | Under 1%, alarm at 2% | The list was not filtered by email status |
| Newsletter or nurture | Lower than cold | Hygiene has slipped, since people opted in |
| Transactional (receipts, resets) | Close to zero | A typo at signup or a broken form |
Google also asks senders to unsubscribe recipients who have multiple bounced messages, and to reduce volume if messages start bouncing (Google Workspace Admin Help, September 2026).
What pushes it up
Check the list before the message. Three list problems push the rate up.
- Stale records. People change jobs and companies close, so a mailbox that worked last year may be gone. Data is refreshed monthly on LeadOcean, and each record carries its own
fetched_atdate. - Unconfirmed addresses. Guessed or pattern-built addresses and catch all domains give no proof the mailbox exists.
- Typos and fake sign-ups. Forms collect mistyped or invented addresses, which matters most for transactional and newsletter lists.
Email bounce rate vs website bounce rate
The two metrics share a name and nothing else. One measures mail that failed to arrive. The other measures visits that did not engage.
| Email bounce rate | Website bounce rate (GA4) | |
|---|---|---|
| What it measures | Messages the server refused | Sessions that were not engaged |
| Unit | Emails sent | Sessions |
| Good means | Low, under 1% for cold email | Context dependent, no universal number |
| Cause | Dead mailbox, bad domain, full inbox | Short visit, no key event, under 2 pageviews |
| Fix | Verify and filter addresses | Improve the page or the traffic match |
| Where to read it | Your sequencer or ESP | Google Analytics |
In GA4 the bounce rate is the opposite of the engagement rate. A session counts as engaged if it lasts 10 seconds or more, has a key event, or has at least 2 pageviews (Google Analytics Help, September 2026). Nothing in that definition touches email.
When it matters
Before a cold campaign
A new list is where bounce rate is decided. Verified addresses bounce rarely, and unconfirmed ones carry the risk. Filter by email status before the first send, not after the first spike.
When you add a new sending domain
A fresh domain has no reputation to absorb mistakes. A high bounce rate in the first sends signals poor list hygiene to providers. Start with your verified group and a low volume.
When a campaign suddenly pauses
Many sequencers pause sending when bounces climb. Check your own platform's settings for its threshold. A paused campaign costs pipeline, and a clean list prevents it.
When you buy or export data
A data provider can give you the status of each address up front. LeadOcean does not refund or credit bounced emails. Reading the status before you send is your protection, so build the check into every pull.
How LeadOcean handles it
Every people search row carries email_status, and the emailStatus filter takes one or more of 13 values, such as verified, catch_all_valid, catch_all, risky and invalid. Passing emailStatus replaces the default mailable set (verified, catch_all_valid and catch_all), so you choose the risk you accept.
Sizing is free. Send count=true as a query parameter with limit=1, and the response has meta.total and an empty data array (LeadOcean OpenAPI, September 2026).
curl -X POST "https://api.leadocean.io/v1/people/search?count=true&limit=1" \
-H "x-api-key: $LEADOCEAN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"emailStatus": ["verified"], "jobLevel": ["VP"], "country": ["US"]}'On 2026-10-01, leadocean_count_leads returned 32,393,985 people with emailStatus set to verified (worldwide, no other filters). It returned 4,726,035 people with emailStatus set to risky. Both are counts by email status, not mailable counts. Search does not carry per-address verification history, so treat the verified figure as an upper bound. Enrichment confirms the status per address.
Send the verified group first and treat risky as a separate, small test batch, or skip it. The same filter works in the MCP server through leadocean_count_leads and leadocean_search_leads, and in the Exports page of the app at app.leadocean.io, which shows the record price before you start.
For the full cleanup routine, read how to clean an email list and cut your bounce rate. The definition of the permanent kind is in the hard bounce glossary entry, and the longer view is in the email bounce rate guide.
Pricing is two plans: Free (1,000 records, one-off, no card) and Pro at $499 a month. See pricing.
FAQ
What is a good bounce rate for cold email?
Under 1% hard bounces is good, and about 2% is the line to stop at. Pause the campaign, remove the hard-bounced addresses and filter the next batch by email status.
Is a 5% bounce rate bad?
Yes. At 5%, one in 20 messages hits a dead end. Stop sending, find out whether the cause is a bad list or a sending setup problem, and fix it before the next send.
What is the difference between a hard and a soft bounce?
A hard bounce is a permanent failure, such as a mailbox that does not exist. A soft bounce is temporary, such as a full inbox. Remove hard-bounced addresses at once and retry soft ones a limited number of times.
Does a catch all address raise my bounce rate?
It can, because the server accepts the message and nobody confirmed the mailbox. We have not run a bounce test, so this page gives no rate. See catch all emails explained for how to send to them.
Does LeadOcean refund bounced emails?
No. LeadOcean gives no refund or credit for bounced emails. Read email_status on every row and send to the verified group first. More guides are in the blog hub.
Size your verified list before you send and keep bounces under 1%
Free to start. No credit card. 1,000 records to spend whenever you like.
Get your free API key →