Email bounce rates explained: hard bounces, soft bounces, and what to do about them
You hit send on a campaign. A few seconds later your platform logs start filling with bounce notifications. Some are permanent. Some might be temporary. Most senders glance at the number, shrug, and move on — and that's exactly how sender reputations erode quietly over months.
A 3% bounce rate doesn't feel catastrophic. It also happens to be the threshold where Mailchimp will suspend your account and Gmail will start treating you as a risky sender. The gap between "fine" and "blocked" is much narrower than most marketers realise.
Email bounce rates are one of the most misunderstood metrics in marketing. They look like a single number, but they're really two very different problems bundled together — each with different causes, different consequences, and different fixes. This guide separates them clearly, explains what inbox providers actually measure when they judge you, and gives you a practical process for keeping bounces under control.
What is an email bounce?
A bounce happens when the receiving mail server rejects your email and sends back an error message to your sending server. The email never reached the recipient's inbox — and your platform recorded why.
That error message includes an SMTP status code. The code tells you whether the rejection is permanent or temporary, which is the critical distinction.
Bounce rate is calculated as:
(Number of bounced emails ÷ Number of emails sent) × 100
If you sent 1,000 emails and 18 bounced, your bounce rate is 1.8%.
Hard bounces vs. soft bounces
Hard bounces
A hard bounce is a permanent delivery failure. The address does not exist, the domain does not exist, or the receiving server has permanently blocked you. There is no retry that will fix this.
Common causes:
- Typo in the email address (e.g.
@gmial.cominstead of@gmail.com) - The address was deleted or deactivated
- The domain is no longer registered
- The recipient's server has permanently blocked your sending domain
What to do: Remove hard-bounced addresses from your list immediately and permanently. Sending to them again damages your sender reputation with every attempt. No reputable email platform will retry hard bounces — and neither should you.
Soft bounces
A soft bounce is a temporary delivery failure. The address exists and is valid, but something prevented delivery at that moment.
Common causes:
- The recipient's mailbox is full
- The recipient's mail server was temporarily unavailable or overloaded
- Your message exceeded the recipient's message size limit
- The recipient's server applied a temporary rate-limit on your IP
What to do: Most platforms will automatically retry soft bounces over 24–72 hours. You generally don't need to intervene immediately — but if an address soft-bounces repeatedly over several campaigns, treat it like a hard bounce and suppress it.
The third category: blocks
Some platforms separate blocks from soft bounces. A block means the receiving server rejected your email based on content, IP reputation, or a blocklist entry — not because the address is bad. Blocks are soft in technical terms but signal a deliverability problem that list hygiene alone won't fix.
What bounce rates does your provider allow?
Email service providers set maximum tolerated bounce rates before they suspend your account. These thresholds exist to protect the shared sending infrastructure.
| Provider | Hard Bounce Threshold |
|---|---|
| Mailchimp | 3% per campaign |
| SendGrid | 5% cumulative |
| Klaviyo | 5% cumulative |
| Postmark | 10% total (aggressively suppressed) |
| Amazon SES | 5% (soft), 10% (hard) before probation |
These are the limits that trigger warnings or suspensions. Your actual target should be far lower.
What's a healthy bounce rate?
According to Mailchimp's benchmark data and industry guidance from Postmark and Validity:
- Under 0.5% — excellent
- 0.5%–1% — acceptable; investigate any trend upward
- 1%–2% — elevated; begin list hygiene immediately
- Over 2% — serious problem; pause new sends until root cause is addressed
Gmail and Yahoo's bulk-sender guidelines (mandatory since February 2024) treat bounce rates above 2% as a deliverability risk signal. Staying comfortably below 1% is the working standard for professional senders.
Why bounce rates matter beyond the number itself
A high bounce rate is not just a vanity-metric problem. It directly damages your ability to reach anyone's inbox — including subscribers who are real, engaged, and happy to hear from you.
Here's the chain:
- High bounces → lower sender reputation. Inbox providers track bounce rates by domain and IP. High rates signal either a poorly maintained list or a compromised account.
- Lower reputation → increased spam filtering. Gmail, Yahoo, and Microsoft route mail from low-reputation senders to spam by default.
- Spam filtering → lower engagement. Opens, clicks, and replies drop because fewer people see the mail.
- Lower engagement → further reputation damage. Engagement is one of the strongest signals inbox providers use to calibrate their filters.
The loop is self-reinforcing. A bounce-rate problem left unaddressed becomes a deliverability problem within weeks. The good news is that it's one of the most tractable metrics to fix — because the fix is almost always about list quality, not technical setup.
The most common causes of high bounce rates
1. Old or purchased lists
Lists decay. According to HubSpot, roughly 22% of email addresses become invalid every year — people change jobs, abandon old accounts, and switch providers. A list that was clean 18 months ago may have a 5–10% invalid-address rate today.
Purchased lists are worse. They are typically assembled from scraped sources, never had opt-in consent, and include honeypot addresses that ISPs plant specifically to catch senders who don't have permission. One spam trap hit from a purchased list can land you on a blocklist.
2. No email validation at signup
Without validation, your signup form accepts anything: typos, fake addresses, placeholder text like test@test.com, and role accounts like info@ that some servers reject. A real-time email validation integration at the point of capture catches the majority of these before they ever enter your list.
3. Infrequent sending to dormant segments
If you haven't sent to a segment in 12+ months, a significant percentage of those addresses will have gone stale. Re-engagement campaigns to cold segments are a common source of bounce spikes.
4. Sudden volume spikes
Sending a large one-off blast to your full list after a period of low-volume sending looks like a compromised account to receiving servers. Some will apply temporary rate-limits or soft-bounce a portion of the traffic.
5. Domain or MX record problems on the recipient's side
A soft bounce that says "no MX records found" for an address that used to work typically means the recipient's company stopped paying for their domain or migrated their email infrastructure. Treat these as permanent failures.
How to reduce your bounce rate
Step 1: Suppress hard bounces immediately
Every serious email platform maintains a suppression list — addresses that will never be sent to again. Ensure your platform adds hard bounces to suppression automatically, and check new imports against that list before sending.
Step 2: Add real-time email validation at the point of capture
Services like ZeroBounce, NeverBounce, and Kickbox offer API integrations that validate email addresses at the moment someone submits a form. They check for syntax errors, disposable domains, known spam traps, and whether the domain has an active MX record. Catching bad addresses before they enter your list costs far less than repairing reputation damage after they cause bounces.
Step 3: Run a validation pass before sending to dormant segments
Before reactivating a cold list segment — anything you haven't mailed in 6+ months — run it through a bulk validation tool. Most services charge fractions of a cent per address.
Step 4: Set up a sunset policy
A sunset policy automatically suppresses subscribers who haven't engaged within a defined window — typically 6 to 12 months. Disengaged addresses are more likely to be stale, repurposed as spam traps, or actively ignored. Removing them reduces bounces, improves engagement rates, and protects reputation simultaneously.
Step 5: Use confirmed opt-in for new signups
Confirmed opt-in sends a verification email after signup; the address is only added to your active list once the link is clicked. This eliminates typos, fake signups, and addresses entered by bots. The trade-off is a slightly smaller list — the benefit is a list where every address has already proven it can receive email from you.
Step 6: Monitor by segment and campaign type
Bounce rates vary by list segment, source, and campaign type. Track at the segment level, not just overall, so you can identify which sources or segments are causing problems.
Reading bounce error codes
When a bounce occurs, your sending platform logs an SMTP status code. The three-digit codes follow a standard:
- 4xx — Temporary failure (soft bounce)
- 5xx — Permanent failure (hard bounce)
Common codes you'll encounter:
| Code | Meaning |
|---|---|
| 421 | Service temporarily unavailable — retry later |
| 450 | Mailbox temporarily unavailable |
| 452 | Mailbox full |
| 550 | Mailbox does not exist (hard bounce) |
| 552 | Message size exceeded |
| 553 | Mailbox name invalid |
| 554 | Transaction failed — often a content or reputation block |
Your email platform's bounce report typically translates these into plain English, but the codes are useful when you're troubleshooting a pattern that plain-English labels don't adequately describe.
What to do when your bounce rate spikes suddenly
A sudden spike is a different problem from a gradual drift upward.
If it's a single campaign:
- Check the segment you sent to — was it cold, dormant, or recently imported?
- Look at whether a new list was added without validation
- Check whether bounce codes cluster on specific domains
If it's across multiple campaigns:
- Check for recently imported contacts from an unusual source
- Check whether any large segment hasn't been sent to in over a year
- Run your sending domain through MXToolbox or Postmaster Tools for blocklist appearances
Bounce rates in cold outreach vs. marketing lists
Bounce rate management looks different in cold outreach contexts. You can't use confirmed opt-in as a quality gate, so the alternatives are:
- Email verification tools run before sending — verify addresses against SMTP before you ever attempt delivery
- Smaller initial sends to new batches, so a high-bounce batch gets caught before it scales
- Dedicated sending domains separate from your primary domain, so a reputation hit doesn't contaminate your brand
Tools like Doxiefy, which handles AI-assisted cold email sequences, build bounce handling directly into the send logic — hard bounces are suppressed automatically and sequence steps skip addresses that have returned permanent errors. If you're running cold outreach at any volume, that kind of automated handling protects your infrastructure without requiring manual intervention.
Final thoughts
A bounce rate is a diagnostic, not just a metric. When it's clean, your list is well-maintained and your sending infrastructure is trusted. When it's elevated, it's telling you something — about where your contacts came from, how old they are, or how well your validation process is working.
The fix is almost never technical. It's procedural. Validated signups. Automated suppression. Regular list hygiene. A sunset policy that removes addresses before they become a liability. Build those four habits into your sending process once and your bounce rate stays healthy without you having to think about it.
If you're running multi-step sequences to cold or warm audiences, handling bounces automatically at the platform level removes the manual work entirely. That's part of what Doxiefy is built for — campaigns that adapt to delivery signals in real time, so your reputation stays intact while your outreach scales. Join the waitlist to see how it handles list health for you.