Email Bounce Rates: What They Mean and How to Fix Them
Your emails are bouncing. Maybe 3%, maybe 8%. You might not even know the exact number — most senders don't check until something breaks. By then, the damage is done: your sender reputation is tanked, your open rates have cratered, and Gmail is quietly routing your messages to spam.
Bounce rates are the silent killer of email deliverability. Unlike spam complaints, which are loud and obvious, bounces accumulate in the background. By the time you notice, you've already lost weeks of sending reputation that took months to build.
This article explains what bounce rates actually mean, what email providers do when yours gets too high, and how to fix the problem before it wrecks your deliverability.
Hard Bounces vs. Soft Bounces
Not all bounces are created equal. The distinction matters because email providers treat them very differently.
Hard Bounces
A hard bounce is a permanent delivery failure. The email cannot and will not be delivered — not now, not ever. Common causes:
- The mailbox doesn't exist. The address was mistyped (
jaen@company.cominstead ofjane@company.com), the account was deleted, or the person left the company. - The domain doesn't exist. There are no MX records, no mail server, nothing. The domain expired or was never configured for email.
- The mail server explicitly rejected delivery. Some servers return a permanent
550error — "user unknown" or "mailbox not found."
Hard bounces are the most damaging type. Every hard bounce signals to inbox providers that you're sending to addresses without verifying them first — a hallmark of spammers and careless senders. You should immediately remove any address that hard-bounces. Sending to it again only makes things worse.
Soft Bounces
A soft bounce is a temporary delivery failure. The address exists (probably), but something prevented delivery right now:
- Mailbox full. The recipient hasn't cleaned their inbox in months.
- Server temporarily unavailable. The mail server is down or overloaded.
- Message too large. The email exceeds the recipient's size limits.
- Temporary policy rejection. The receiving server is rate-limiting your sends or applying greylisting.
Soft bounces aren't immediately dangerous, but they become a problem if they persist. If the same address soft-bounces across 3–4 consecutive campaigns, it's effectively dead — treat it like a hard bounce and remove it.
What Email Providers Do With Your Bounces
Gmail, Outlook, Yahoo, and other major inbox providers track your bounce rate as a core component of your sender reputation. Here's what happens when that number climbs.
Gmail (Google Postmaster Tools)
Google's guidelines are explicit: keep your bounce rate below 2%. They publish this threshold directly in their Bulk Sender Guidelines. Here's the escalation:
- Below 2%: Normal sending. Your emails reach the inbox based on other reputation signals.
- 2%–5%: Warning territory. Gmail starts applying more aggressive spam filtering to your messages. Your inbox placement drops.
- Above 5%: Serious trouble. Gmail may defer or reject your emails outright. Recovery takes weeks of clean sending.
Since February 2024, Gmail enforces stricter requirements for senders pushing more than 5,000 messages per day — bounce rate is one of the key metrics they monitor.
Microsoft Outlook / Hotmail
Microsoft uses its Smart Network Data Services (SNDS) to track sender reputation. While they don't publish exact bounce rate thresholds, their filtering becomes noticeably more aggressive above 3–5% bounces. Outlook also weighs spam trap hits heavily — and old, dead email addresses often get recycled as spam traps.
Yahoo / AOL
Yahoo's sender guidelines mirror Google's in spirit: maintain list hygiene, keep bounces low, authenticate your email. They don't publish a specific percentage, but the industry consensus is that exceeding 2% is risky on any major provider.
The Compound Effect
Here's the part most senders miss: reputation damage compounds. A 4% bounce rate doesn't just hurt the current campaign — it degrades your domain and IP reputation for future sends. Inbox providers use historical data. One bad campaign can lower your deliverability for weeks, even if every subsequent send is clean.
Why Your Bounce Rate Is High
High bounce rates don't happen randomly. They almost always trace back to one of these causes.
1. Poor List Hygiene
This is the number one cause. Email addresses decay over time. People change jobs, abandon old accounts, switch providers. Industry data shows that email lists degrade by roughly 22–30% per year. If you haven't cleaned your list in 12 months, a quarter of your addresses might be dead.
2. Purchased or Scraped Lists
Buying email lists is the fastest way to destroy your sender reputation. Purchased lists are filled with invalid addresses, spam traps, and people who never consented to hear from you. Bounce rates on purchased lists routinely hit 20–40%. One send to a bought list can get your domain blacklisted.
3. No Validation at the Point of Collection
If your signup form accepts any string that vaguely looks like an email address, you're collecting garbage from day one. Typos (gmial.com, yahooo.com), fake entries (test@test.com), and disposable addresses all enter your list and bounce later.
4. Stale Contacts
That webinar attendee list from 2021? Those trade show badge scans from 2019? If you haven't emailed these contacts in years and suddenly add them to a campaign, expect a spike. Mailboxes that were valid then may not exist now.
5. Catch-All Domains Changing Policy
Some companies configure their mail servers to accept all incoming email (catch-all). When they switch that off — which companies do regularly during IT infrastructure changes — every address at that domain suddenly starts bouncing.
How to Measure Your Bounce Rate
The Formula
Bounce rate is straightforward:
Bounce Rate = (Bounced Emails ÷ Total Emails Sent) × 100
If you send 10,000 emails and 350 bounce, your bounce rate is 3.5%. That's already in the danger zone for Gmail.
Where to Find It
Every email service provider (ESP) reports bounce rates. Here's where to look:
- Mailchimp: Campaign reports → "Bounced" column
- SendGrid: Activity feed or Statistics → Bounces
- Postmark: Message activity → filter by bounce type
- Amazon SES: CloudWatch metrics →
Bouncemetric → set up alerts for anything above 2% - Brevo (Sendinblue): Campaign statistics → Bounces (hard + soft breakdown)
What to Track
Don't just look at the aggregate number. Break it down:
- Hard bounce rate — This is the critical metric. Should be as close to 0% as possible. Anything above 0.5% is a problem.
- Soft bounce rate — Less urgent but still important. Monitor trends over time.
- Bounce rate per segment — An old re-engagement segment will bounce more than your active subscribers. Knowing which segments are dragging up your average helps you target your cleanup efforts.
- Bounce rate per domain — If you see high bounces concentrated on one domain, something specific changed there (catch-all disabled, company went under, etc.).
How to Reduce Your Bounce Rate
1. Validate Emails at the Point of Collection
Stop bad addresses before they enter your list. Real-time email verification on your signup forms catches typos, blocks disposable addresses, and rejects invalid domains — before they cost you anything.
# Verify during signup with MailProbe
curl -X POST https://mailprobe.dev/api/v1/verify \
-H "Authorization: Bearer mp_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"emails": ["newsubscriber@example.com"]}'
If the result comes back undeliverable, reject the submission and ask for a valid address. This single step eliminates the majority of hard bounces for new contacts.
2. Verify Before Bulk Sends
Before every major campaign, run your list through a verification API. Remove any address flagged as undeliverable. This is especially important if:
- The list hasn't been used in more than 30 days
- You're sending to a re-engagement segment
- The list was imported from an external source
# Bulk verify up to 500 at a time
curl -X POST https://mailprobe.dev/api/v1/verify \
-H "Authorization: Bearer mp_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"emails": ["addr1@a.com", "addr2@b.com", "addr3@c.com"]}'
Filter by the status field: keep deliverable, remove undeliverable, and decide your tolerance for risky addresses based on how protective you are of your sender reputation.
3. Implement Double Opt-In
Double opt-in (confirmation email after signup) is the gold standard for list quality. It guarantees that:
- The email address is real and deliverable (they received and clicked)
- The person actually wants to hear from you (they confirmed)
- Typos are caught naturally (misspelled addresses never get the confirmation)
Double opt-in lists typically have bounce rates under 0.5% — well within safe territory for every inbox provider. The tradeoff is a 20–30% drop in signup completion rate. For most senders, the deliverability gains far outweigh that cost.
4. Clean Your List Regularly
Email decay doesn't stop. Set a schedule:
- Monthly: Remove hard bounces from the previous month (your ESP should do this automatically, but verify).
- Quarterly: Re-verify your full list through an API. Remove addresses that are now undeliverable.
- Bi-annually: Sunset contacts who haven't opened or clicked in 6+ months. If a re-engagement campaign doesn't bring them back, remove them.
5. Monitor and Set Alerts
Don't wait for your ESP to flag a problem. Set up alerts:
- Alert at 1% hard bounce rate — investigate immediately
- Alert at 2% total bounce rate — pause sends and clean the list before continuing
- Alert at 5% bounce rate — stop sending entirely, verify the full list, and identify the contaminated segment
Amazon SES lets you set up CloudWatch alarms for this. SendGrid has alert settings in the dashboard. If your ESP doesn't support automated alerts, check your bounce rate manually before every campaign.
6. Handle Bounces Programmatically
If you manage your own sending infrastructure, process bounces in real time. Parse bounce notifications (most ESPs provide webhooks), classify them as hard or soft, and automatically suppress hard-bounced addresses:
// Process bounce webhook
app.post('/webhooks/bounce', (req, res) => {
const { email, bounceType } = req.body;
if (bounceType === 'hard') {
// Immediately suppress — never send again
suppressEmail(email);
} else if (bounceType === 'soft') {
// Increment soft bounce counter
incrementSoftBounce(email);
// Suppress after 3 consecutive soft bounces
if (getSoftBounceCount(email) >= 3) {
suppressEmail(email);
}
}
res.sendStatus(200);
});
The Bottom Line
Bounce rates are a solved problem. Not in a theoretical sense — in a practical, you-can-fix-this-today sense. The tools exist. The process is straightforward:
- Verify at collection. Stop bad emails at the front door.
- Verify before sending. Clean your list before every major campaign.
- Monitor continuously. Know your numbers and set alerts.
- Remove dead weight. Sunset unengaged contacts on a schedule.
Every percentage point you shave off your bounce rate directly improves your inbox placement, your open rates, and ultimately your revenue from email.
MailProbe gives you an API that checks email deliverability in real time — syntax, MX records, SMTP verification, disposable detection, and more. Start with 100 free credits and clean your list before the next campaign goes out.
Ready to verify your email list?
Start verifying emails with a simple API call. 100 free credits included.
Get Started Free →