Bounce rate is the most damaging deliverability metric because it compounds. One high-bounce campaign damages domain reputation, which reduces inbox placement for the next campaign, which appears to reduce open rate, which teams then try to fix with subject line changes - missing the root cause entirely. This guide starts at the root: what bounce rate is, what causes it, and how to bring it under control.
A permanent delivery failure. The address does not exist, the domain does not accept email, or the receiving server has permanently rejected the sender. Remove from your list immediately. Never retry.
A temporary delivery failure. Mailbox is full, server is temporarily unavailable, or message is too large. Worth retrying 1-2 times. After 3 consecutive soft bounces, treat as a hard bounce.
| Email type | Safe (<) | Warning zone | Emergency (stop sending) | Provider threshold |
|---|---|---|---|---|
| Cold email | 2% | 2-5% | 5%+ | Google Postmaster: domain reputation degrades at 1%+ |
| Newsletter | 0.5% | 0.5-2% | 2%+ | Mailchimp suspends account at 2%; Klaviyo flags at 0.5% |
| Transactional | 0.5% | 0.5-1% | 1%+ | SendGrid flags at 1%; Postmark at 0.5% |
| Re-engagement campaign | 3-5% | 5-8% | 8%+ | Expect higher bounces on old lists - verify first to set a lower baseline |
The most common cause. Every email data source returns 10-25% invalid addresses at export. Without verification, those invalids become bounces. Fix: verify before every campaign.
Email addresses decay at 2-3%/month. A list from 6 months ago has 12-18% more invalids than it did at export. Fix: re-verify any list older than 90 days before re-using it.
Third-party lists are notoriously inaccurate - often 30-50% invalid. The vendor has no incentive to maintain accuracy. Fix: verify 100% of any purchased list before sending a single email.
Catch-all domains accept all email at the server level regardless of whether the mailbox exists. The bounce happens days later when the individual mailbox rejects the message. Fix: use a tool that identifies and flags catch-all addresses (BounceZero does this).
One-time addresses that expire hours or days after creation. They bounce because the mailbox no longer exists. Common in signup forms. Fix: block disposables at form submission. BounceZero API validates in real-time.
If your sending domain or IP is blocklisted, messages bounce with “550 5.7.1 Message rejected” errors before ever reaching the inbox. Fix: check MXToolbox for blacklisting and submit delisting requests.
BounceZero removes invalid, risky, and catch-all addresses before they bounce. Upload your list, download a clean one. Takes minutes. 100 free credits, no card required.
Deep-dive guides on how email verification and inbox placement work
Continue through related topics