Email Marketing Deliverability

Email Bounce Management: Hard vs Soft Bounces

What each bounce class means, the thresholds that trigger provider action, and the suppression rules to automate.

4 min read 6 of 10 in this topic Updated August 2026

On this page

The short version

  • Hard bounces must be suppressed on the first occurrence, permanently and automatically. Sending again to a confirmed unknown address is one of the clearest quality signals a provider can read.
  • Soft bounces need a rule with a count and a window, not indefinite retrying. Repeated soft bounces from the same address are usually a hard bounce being reported politely.
  • Bounce rate above about two percent on a routine send means the list has a source problem, not a delivery problem.

A bounce is the receiving server declining a message and saying why. The reasons divide into permanent and temporary, and the two require opposite handling — which is why treating all bounces the same is how lists quietly accumulate addresses that will never work.

Handling is mostly automatic in any competent platform. What is not automatic is checking that it is working, and noticing when the rate says something about where your addresses come from.

Hard and soft

A hard bounce is permanent: the address does not exist, the domain does not exist, the mailbox is closed. A soft bounce is temporary: the mailbox is full, the server is busy, the message is too large. The receiving server signals which through a response code, and platforms classify from that.

What each bounce means and what to do

The action column is the whole of bounce management
BounceMeaningAction
Unknown userHard — no such mailboxSuppress permanently, first occurrence
Domain not foundHard — the domain does not resolveSuppress permanently, and check for typos at capture
Mailbox fullSoft — temporaryRetry; suppress after repeats over a window
Message too largeSoft — but it will recurFix the message, not the address
Blocked by policySoft in form, reputational in substanceInvestigate — this is a placement signal
GreylistedSoft — deliberate delayRetry; normal, no action
Spam-related rejectionReputationalStop and diagnose before the next send

The last two rows are the ones that get lost in a bounce total. A policy or spam rejection is a message about your reputation wearing the costume of a delivery failure.

A soft bounce rule that works

Soft bounces need a count and a window rather than indefinite retries. A workable default: suppress after five consecutive soft bounces across a fourteen-day period, on the reasoning that a mailbox full for a fortnight is a mailbox nobody is reading.

The important part is that a rule exists. Without one, soft-bouncing addresses stay on the list forever, contribute nothing, and depress every ratio you are scored on — the same cost as an unengaged subscriber, with an added delivery attempt each time.

What the rate is telling you

On a routine send to an established list, bounce rate should be low — well under two percent, and often a fraction of one. A rate materially above that is almost never a delivery problem. It is a source problem.

Typos at capture, an import from an old system, a purchased or appended list, or a form with no validation are the usual causes. Each has a different fix and all of them are upstream of the send.

A sudden spike on a list that was previously clean is worth treating as an incident: check whether a new acquisition source was switched on, whether an import happened, and whether something changed in the form.

When the rate jumps

  1. Separate hard from soft

    A soft spike is often a single receiving domain having a bad day and needs no action. A hard spike is a list problem and needs one.

  2. Group by receiving domain

    If the bounces concentrate at one provider, you are looking at a placement or blocking issue there rather than at address quality.

  3. Group by acquisition source and date

    Bounces clustering in addresses added the same week points straight at what changed. This is why recording a source and a date at capture pays off — without it this step is impossible.

  4. Read the actual response text

    The server's own message distinguishes a policy rejection from a genuine unknown user. Platforms bucket these into hard and soft and the detail is where the diagnosis lives.

Bounce handling check

  • Hard bounces suppress permanently on first occurrence
  • Suppression has been verified by looking, not assumed
  • A soft bounce rule exists with a count and a window
  • Suppression is respected by every tool that sends, not just the main one
  • Bounce reasons are grouped by receiving domain and by source
  • Policy and spam rejections are surfaced separately from ordinary bounces
  • New addresses are validated at capture

Frequently asked questions

What bounce rate is acceptable?

Under two percent on a routine send, and a well-maintained list on an established source is usually far below that. Anything higher is worth tracing to a source rather than tolerating.

Should I re-verify addresses that hard bounced?

No. A confirmed unknown user is settled, and re-verifying invites putting it back on the list. Verification belongs at capture and before an import, not after a bounce.

Does a high bounce rate directly hurt reputation?

Yes, and it also correlates with the things that hurt more — a list with many invalid addresses usually has many disengaged ones and sometimes has spam traps.