Email bounce rate: what it means and how to bring it down

Learn how to calculate your email bounce rate, tell hard from soft bounces, read SMTP bounce codes, and keep bounces low with suppression and list hygiene.

6 min read
On this page

Every email you send gets an answer from the receiving server. Most of the time the answer is "accepted". Sometimes it is "no", and that "no" is a bounce. A few bounces are normal. Too many, and inbox providers start to wonder whether you know who you are emailing.

This guide covers how to calculate your bounce rate, the difference between hard and soft bounces, what the most common bounce codes mean, what a healthy rate looks like, and how to keep yours low.

What is an email bounce rate?

A bounce is an email the receiving server refused to deliver. The server sends back a status code explaining why: the address does not exist, the mailbox is full, the message was blocked.

Your bounce rate is the share of emails you sent that bounced. It is one of the clearest signs of list quality you have, because unlike open rates, it is not distorted by privacy features. An address either accepts mail or it does not.

How to calculate your bounce rate

The formula is simple:

Bounce rate = bounced emails ÷ emails sent × 100

Send a campaign to 10,000 people, get 150 bounces, and your bounce rate is 1.5%. Some tools split this into a hard bounce rate and a soft bounce rate, which is more useful, since the two call for different actions. Measure per send and per segment: a 0.5% average can hide one imported segment bouncing at 8%.

Hard bounce vs soft bounce

A hard bounce has a 5.x.x code and means the address will never accept mail, so it is removed after the first bounce. A soft bounce has a 4.x.x code, is temporary, and is retried before being suppressed
The first digit of the code tells you which kind it is.

A hard bounce is permanent. The address does not exist, the domain does not exist, or the server will never accept mail for it. Its code starts with 5. Sending to it again will fail again, and every retry tells the provider you are not paying attention.

A soft bounce is temporary. The mailbox is full, the server is down, or the receiver is slowing you down for a while. Its code starts with 4. The sending server usually retries automatically for a period before giving up.

There is a third case worth separating: the block. A message refused for policy reasons (your reputation, your content, missing authentication) comes back with a 5.x.x code, but the address itself may be perfectly fine. Treating blocks as dead addresses hides the real problem.

Common bounce codes and what they mean

Bounce messages carry a three-digit SMTP reply code and, usually, an enhanced status code like 5.1.1. The first digit says permanent (5) or temporary (4); the rest narrows down the reason.

CodeTypeWhat it meansWhat to do
550 5.1.1HardThe mailbox does not existSuppress the address at once
550 5.1.2HardThe domain does not exist or has no mail serverSuppress; often a typo like gmial.com
452 4.2.2SoftThe mailbox is fullRetry; suppress if it persists
421 4.7.0SoftTemporary deferral, try laterLet the retries run; check your volume
550 5.7.1BlockRefused by policy, often reputation or contentFind the cause, do not just suppress
550 5.7.26BlockGmail: the message failed authenticationFix SPF, DKIM and DMARC
4.x.x (other)SoftA temporary problem of some kindRetry; watch for patterns

Wording varies between providers, and some return a full mailbox as a permanent 5.2.2. Read the text that comes with the code: it often names the exact reason, and sometimes links to the provider's own explanation.

What is a good email bounce rate?

Rough guide to bounce rate per send: under 1% is healthy, between 1% and 2% is worth watching, and above 2% calls for an investigation
A rough guide. Your own trend matters more than the exact number.

For a list built from real signups, a bounce rate under 1% per send is a good sign. The figure most often quoted as the limit is 2%: above it, stop and find out why before the next send. These are rough guides, not rules, and they vary by industry and list. A B2B list decays faster than a consumer one, because people change jobs and their work addresses die.

More useful than any benchmark is your own trend. A list that usually bounces at 0.4% and suddenly hits 1.5% has a problem, even though 1.5% looks acceptable on paper.

Why bounces hurt your sender reputation

A real person who signed up last month rarely has a dead address. So when a large share of your sends bounce, providers draw the obvious conclusion: the list is old, was bought, or was scraped. That lowers your sender reputation, and a lower reputation means more of your mail goes to spam, including the mail to perfectly valid addresses.

Dead addresses carry another risk. Some providers turn long-abandoned addresses into spam traps: after a period of rejecting mail, the address starts accepting it again, purely to catch senders who never clean their list. Hitting one is worse than a bounce.

How to handle bounces with a suppression list

A suppression list is the list of addresses you must never email again: hard bounces, spam complaints, unsubscribes. Every send checks it first. It is the single most important habit for keeping bounces low.

How a bounce is handled: the receiving server replies with a status code, the code is checked, a 5.x.x permanent failure is suppressed at once and a 4.x.x temporary failure is retried a few times before stopping
Hard bounces are suppressed at once, soft bounces get a few more chances.
  1. 1
    Capture every bounce. Your sending service reports bounces by webhook or in its logs. Make sure they reach your contact list, including bounces that arrive minutes after the send.
  2. 2
    Read the code. Sort each bounce into hard, soft or block from the status code and its text.
  3. 3
    Suppress hard bounces after the first one. No second attempt. The address is dead.
  4. 4
    Count soft bounces. Suppress an address after several consecutive soft bounces, across sends or days.
  5. 5
    Investigate blocks. A wave of 5.7.x codes from one provider is a reputation or authentication problem, not a list problem.
  6. 6
    Keep the suppression list forever. Re-importing an old CSV must never bring suppressed addresses back.

How to reduce your email bounce rate

  • Use double opt-in. A confirmation email proves the address exists and belongs to the person who typed it.
  • Catch typos at signup. Suggest gmail.com when someone types gmial.com, and reject addresses with no valid domain.
  • Verify imported lists before sending. Any list you did not collect yourself recently deserves a check first.
  • Never buy or rent lists. They are full of dead addresses and traps, and the people on them never asked for your mail.
  • Send regularly. A list you mail every month stays fresh. A list left alone for a year comes back bouncing.
  • Sunset the inactive. Addresses that have not engaged in months are the ones most likely to die next. See email list hygiene.
  • Fix your authentication. Blocks for failed SPF, DKIM or DMARC look like bounces in your reports. Check them with the deliverability setup checker.

Check an address before you send

Unsure about a single address, or a few from a sales lead? Check whether the domain accepts mail and whether the address looks deliverable.

Try it: Free Email CheckerOpen the full tool

Verification lowers bounces, but it cannot replace consent. An address that exists and never asked for your email is still a complaint waiting to happen.

Keep going

Bounces are the visible tip of list quality. To clean the rest, read the email list hygiene guide. To see how bounces fit with complaints and engagement, read sender reputation and the broader email deliverability guide. And if the bounces are blocks, start with your authentication: SPF, DKIM and DMARC.

FAQ

Frequently asked questions

What is a good email bounce rate?
For a list of people who opted in, a bounce rate under 1% per send is a good sign, and staying under 2% is the commonly cited limit. Above 2%, look for the cause before your next send. Benchmarks vary by industry and by how old the list is.
What is the difference between a hard bounce and a soft bounce?
A hard bounce is permanent, for example an address that does not exist, and comes with a 5.x.x code. A soft bounce is temporary, for example a full mailbox or a server that is busy, and comes with a 4.x.x code.
Should I remove soft bounces from my list?
Not after the first one. Retry, and suppress the address if it keeps soft bouncing across several sends or for more than a few days. A mailbox that has been full for weeks is usually abandoned.
Can a bounced address become valid again?
Sometimes, for example when a company recreates a mailbox. But it is rare, and an old address that comes back to life can be a recycled spam trap. Leave hard bounces suppressed unless the person signs up again themselves.
Do bounces affect deliverability?
Yes. Mailbox providers read a high bounce rate as a sign that you do not maintain your list or that you bought it, and they lower your sender reputation. That hurts placement for everyone on your list, not only the bad addresses.
Why did my bounce rate suddenly jump?
Usually one of three things. You sent to an old or imported segment, a provider started blocking you, which shows up as 5.7.x policy codes, or your authentication broke after a DNS change. The bounce codes tell you which one it is.
Is a blocked email a hard bounce?
It is a permanent rejection, but not because of the address. A 5.7.1 block says the receiver refused your mail for policy or reputation reasons. The address may be perfectly valid, so fix the cause rather than only suppressing contacts.

Turn your signups into customers with email

Connect Supabase and Stripe, let your agent draft your first flow, and send your first 1,000 emails for free.

Start with 1,000 free emails