Bounces: hard, soft, and what to do about them

The difference between a hard and a soft bounce, what a healthy bounce rate looks like, and why suppression is not optional.

In short

  • A hard bounce is permanent: the address does not exist. Never send to it again.
  • A soft bounce is temporary: a full mailbox or a busy server. Retry, then give up.
  • Keep total bounces under about 2%. Above 5% you are damaging your reputation.
  • Suppressing hard bounces is not politeness, it is the difference between a healthy sender and a blocked one.

Hard and soft

A hard bounce is a permanent failure. The mailbox does not exist, the domain does not accept mail, or the address is malformed. Nothing about retrying changes the outcome, and the address must never be sent to again.

A soft bounce is temporary. The mailbox is full, the server is busy, or the recipient’s provider is throttling you. The address is still valid, so a retry is appropriate.

Receiving servers signal which is which through SMTP response codes: 5xx for permanent, 4xx for temporary. In practice the codes are not always used correctly, so classification also relies on the enhanced status code and the text of the response.

SignalMeaningAction
550 5.1.1 user unknownHardSuppress immediately
552 5.2.2 mailbox fullSoftRetry, suppress after repeats
421 service unavailableSoftRetry with backoff
550 5.7.1 blocked for policyNeitherInvestigate, this is about you

That last row matters. A 5xx that says you were blocked is not a statement about the recipient’s address, and suppressing the recipient would be the wrong response. The problem is your reputation or your content.

Why a bounce rate matters so much

Receivers read a high bounce rate as evidence that you do not know who your recipients are, which is what a purchased list looks like. It is one of the fastest ways to lose inbox placement across every provider at once.

Rules of thumb: under 2% total is healthy for transactional mail, which mostly sends to addresses that just interacted with you. Above 5% you should stop and audit your signup flow before sending more.

What to do about them

  1. Suppress hard bounces on the first occurrence. No grace, no retries.
  2. Retry soft bounces with backoff, and stop after a handful of attempts across a few days.
  3. Escalate repeated soft bounces. A mailbox that has been full for two weeks is functionally dead.
  4. Fix the source. Most hard bounces on transactional mail come from typos at signup, so validate addresses at the point of collection rather than discovering them later.
  5. Never re-import a suppressed address because a customer asked you to try again. If they can receive mail, they can correct the address.

In Mailverick

The public event model does not use the words hard and soft. It reports what actually happened, and you can read the distinction from the reason:

Suppression is automatic. A hard bounce suppresses the address permanently, repeated failures put it in a cooldown, and later attempts come back as dropped rather than being sent. Every reason code is listed in the Email Events documentation.

Because dropped events happen before sending, they do not count against your bounce rate with receivers at all. They are Mailverick declining to spend your reputation on an address it already knows about.

Common mistakes

Retrying hard bounces. Sending again to an address that returned 5.1.1 is the single clearest signal of a badly managed list.

Keeping no suppression list. If suppression lives only in your sending platform and not in your own database, your next import re-adds every dead address.

Treating deferrals as failures. A deferred message has not failed. Alerting on deferrals produces noise and tempts people into re-sending, which makes throttling worse.

Suppressing on a policy block. 550 5.7.1 means you were blocked. Removing the recipient hides the symptom and leaves the cause.

Validating too late. A typo caught at signup costs nothing. The same typo caught at send time costs a bounce.

Sending to a list you have not used in a year. Addresses decay by roughly a fifth per year through job changes and abandonment.

FAQ

What is a good bounce rate?

Under 2% for transactional mail. Under 1% is normal when addresses come from verified signups.

Can a valid address hard bounce?

Yes, occasionally. Aggressive filtering sometimes returns a permanent code for a policy decision, which is why a 5.7.x reason is treated differently from 5.1.1.

Does a bounce cost me anything besides reputation?

It costs a send. More importantly, a bounce is a message a real person never received. If the address was a typo at signup, someone is waiting on a password reset that will never arrive.

Can I remove an address from suppression?

Only when you have positive evidence the mailbox works again, for example the customer signing in and confirming the address. Re-adding an address on request alone reproduces the bounce.

Do bounces affect my IP or my domain?

Both. Reputation is tracked per domain and per IP, and a bounce rate is one of the inputs on each. See why your emails go to spam.

Last updated: June 2026