Suped

What is a good bounce rate percentage to aim for in email marketing?

Matthew Whittaker profile picture
Matthew Whittaker
Co-founder & CTO, Suped
Published 21 May 2025
Updated 26 May 2026
9 min read
Summarize with
A calm article thumbnail showing an envelope, return arrow, and bounce rate percentage badge.
A good bounce rate percentage to aim for in email marketing is under 2% total bounces for a normal campaign. Under 1% is strong. For hard bounces specifically, I want to see well under 1%, and I treat 0.5% or lower as a cleaner operating target. During IP warming, domain warming, or a first send to a risky list, I tighten that goal and aim for hard bounces below 0.1% to 0.3%.
The important caveat is that bounce rate is not judged like spam complaint rate. The commonly quoted 0.1% and 0.3% thresholds belong more naturally to complaint-rate discipline, not to a universal hard-bounce rule. Bounces still matter because they show list quality, stale addresses, acquisition problems, sender reputation risk, and sometimes authentication or routing failures.
  1. Excellent: under 1% total bounces, with hard bounces well below 0.5%.
  2. Healthy: 1% to 2% total bounces, assuming hard bounces are removed quickly.
  3. Investigate: over 2% total bounces or any sudden hard-bounce spike.
  4. Stop and clean: 3% or more hard bounces, repeated soft bounces, or evidence of trap hits.

The practical benchmark

I use 2% as the plain-English answer because it works well as an operational line. If a campaign is below 2% total bounces, most senders can keep sending while monitoring the causes. If a campaign crosses 2%, I want someone to inspect the list source, bounce codes, segments, and mailbox-provider split before the next send. If hard bounces approach 3%, I would rather pause that segment than keep testing the limit.
Bounce rate operating bands
Use these bands as working thresholds for campaign-level monitoring.
Excellent
Under 1%
Clean list, recent engagement, and fast suppression.
Healthy
1% to 2%
Acceptable for normal sends when hard bounces stay low.
Warning
2% to 3%
Review list source, bounce codes, and recent imports.
High risk
Over 3%
Pause risky segments and clean before the next campaign.
I do not like a single hard number applied to every send. A 2.2% bounce rate on an old reactivation file is not the same risk as 2.2% on a daily newsletter with recent openers. The first can be expected if it is controlled and isolated. The second says something broke in collection, validation, suppression, or data sync.

Situation

Good aim

Action line

Main concern

Regular campaign
Under 2%
Over 2%
List hygiene
Hard bounces
Under 0.5%
Over 2%
Invalid users
IP warming
Under 0.3%
Over 1%
Reputation
Reactivation
Under 3%
Over 5%
Old data
Suggested bounce rate targets by situation

How to calculate bounce rate

Bounce rate should be calculated against messages attempted or sent, not against delivered messages. Delivered messages exclude bounces, so using delivered as the denominator makes the metric look cleaner than it is. Keep the formula simple and use the same denominator each time so campaign comparisons are fair.
Bounce rate formulatext
total_bounce_rate = (all_bounces / sent_messages) * 100 hard_bounce_rate = (hard_bounces / sent_messages) * 100 soft_bounce_rate = (soft_bounces / sent_messages) * 100
For example, if you send 50,000 messages and 600 bounce, your total bounce rate is 1.2%. If 120 of those are hard bounces, your hard-bounce rate is 0.24%. That campaign is inside the normal operating band, but I would still suppress the hard bounces before any future send.
The main trap is comparing metrics across email platforms without checking definitions. One platform can count a policy block as a hard bounce. Another can split blocks into a separate category. A short primer on how bounce rates are calculated helps when you need consistent reporting across teams.
Use one denominator
Pick sent messages as the denominator for campaign reporting and keep it stable. If you switch between sent, attempted, accepted, and delivered, the trend stops being useful.

Hard bounces, soft bounces, and blocks

The target percentage depends heavily on what kind of bounce you are measuring. Hard bounces are permanent failures, usually invalid users or domains. Soft bounces are temporary failures, such as full mailboxes, rate limits, temporary DNS problems, or a receiving server that is unavailable. Blocks can look like bounces in logs, but they often point to reputation, policy, authentication, or content filtering.
Hard bounce handling
  1. Suppress fast: remove permanent failures before the next campaign.
  2. Trace the source: look for a form, import, partner feed, or stale segment.
  3. Treat spikes seriously: a sudden jump usually means the list changed.
Soft bounce handling
  1. Retry carefully: temporary failures can clear on a later attempt.
  2. Set a limit: suppress after repeated failures over multiple sends.
  3. Separate blocks: policy blocks need different work than full mailboxes.
This is why I do not treat every bounce as equal. A mistyped address is not good, but it is ordinary list decay. A spam trap, a repeated block from one mailbox provider, or a policy rejection tied to authentication has more serious consequences. For a deeper distinction, compare hard and soft bounces before setting suppression rules.

Type

Meaning

Response

Hard
Permanent fail
Suppress
Soft
Temporary fail
Retry
Block
Policy reject
Diagnose
Trap
Bad acquisition
Pause
Bounce types and response

Why 0.1 percent is the wrong universal target

The idea that hard bounces must always stay below 0.1% is too strict for normal marketing operations. I like that number as a warming goal, a high-risk acquisition goal, or a cleanliness goal for a mature program. I do not like it as a pass-fail rule for every campaign because legitimate mail to real subscribers still sees address churn.
Do not mix up bounces and complaints
A low spam complaint rate is a mailbox-provider expectation. Bounce rate is more of a list-quality and risk metric. Keep both low, but do not copy complaint thresholds directly into hard-bounce reporting.
A practical standard is stricter during warming because the sending identity has less reputation history. If you send a small warm-up batch and several recipients bounce, the percentage can look bad quickly. That does not mean every future campaign must hit 0.1%, but it does mean warming lists should be recent, consented, validated, and limited to people most likely to receive and engage.
How I separate bounce risk
The same total bounce rate can have very different risk based on its composition.
Hard
Soft
Blocks

What changes the right target

The right bounce target changes with list source, send history, recipient mix, and the type of campaign. I still start with the 2% total-bounce goal, but I move the internal action line based on the risk profile.
A flowchart showing when to keep sending, investigate, or pause a segment based on bounce rate.
A flowchart showing when to keep sending, investigate, or pause a segment based on bounce rate.
  1. List age: older lists need stricter pre-send checks and smaller test batches.
  2. List source: organic opt-ins should bounce far less than imported or purchased data.
  3. Mailbox mix: one provider blocking mail is different from random invalid users.
  4. Warming stage: early sends should use the cleanest, most active recipients.
  5. ESP labels: compare how your platform separates hard bounces, soft bounces, and blocks.
The worst mistake is chasing a neat percentage while ignoring the cause. A 1.5% bounce rate caused by a single bad import needs cleanup. A 1.5% rate caused by temporary deferrals during a high-volume sale can need throttling and retry logic. Same number, different fix.

What to do when bounce rate rises

When bounce rate rises, I want the fix to start with classification, not guesswork. Pull the raw bounce codes, group them by provider, separate permanent failures from temporary failures, and look for a new list source or segment that explains the change.
If the increase is tied to blocks or policy rejections, test a real message path. A practical next step is to run a message through an email tester and compare the result with the bounce logs. That helps separate content, authentication, and DNS issues from simple invalid addresses.

Email tester

Send a real email to this address. Suped opens the report when the test is ready.

?/43tests passed
Preparing test address...
I also check the sending domain itself. A domain health checker can show whether SPF, DKIM, DMARC, DNS, or other domain-level problems are present. For ongoing protection, DMARC monitoring helps identify authentication drift before it becomes a deliverability problem.
  1. Segment the spike: break bounces down by campaign, provider, source, and age.
  2. Suppress permanent failures: remove hard bounces before any future send.
  3. Retry temporary failures: use a short retry window, then suppress repeated failures.
  4. Inspect policy blocks: check authentication, reputation, throttling, and message content.
  5. Pause risky sources: stop sends to imports or partners causing abnormal failures.
If bounces come with signs of reputation trouble, check blocklist (blacklist) status as well. Blocklist monitoring is useful when blocks appear across campaigns, when shared IP reputation changes, or when a mailbox provider starts rejecting mail that used to pass.

Where Suped fits

Suped does not replace the bounce logs inside your email platform. Those logs are still the source for hard, soft, and block counts. Suped is the best overall fit when you need the domain-authentication and reputation context around those bounces in one workflow: DMARC, SPF, DKIM, hosted SPF, hosted DMARC, hosted MTA-STS, blocklist (blacklist) monitoring, and real-time alerts.
Email tester sample report showing total score, email preview, issue summary, and per-section results
Email tester sample report showing total score, email preview, issue summary, and per-section results
The practical workflow is simple. If bounce rate rises because of invalid addresses, clean the list and fix the acquisition source. If bounce rate rises because of policy rejections, use Suped to confirm whether the sending source is authenticated, whether DMARC is passing, whether SPF is close to lookup limits, and whether reputation checks show new blacklist exposure.
ESP bounce report
  1. Shows outcomes: hard bounces, soft bounces, blocks, and retries.
  2. Lists recipients: which addresses failed and which segment they came from.
  3. Drives suppression: what to remove before the next send.
Suped workflow
  1. Shows causes: authentication, DNS, source, and reputation context.
  2. Flags drift: DMARC, SPF, DKIM, and policy changes that affect delivery.
  3. Gives steps: issue detection, alerts, and clear remediation guidance.

Views from the trenches

Best practices
Track hard and soft bounces separately, then review provider-level patterns after each send.
Use a tighter bounce target during IP warming, especially on first sends to older data.
Treat bounce rate as a list-quality signal, then confirm causes with bounce codes.
Common pitfalls
Copying complaint-rate thresholds into bounce reporting creates unrealistic hard-bounce goals.
Counting policy blocks as invalid addresses hides authentication and reputation problems.
Letting repeated soft bounces retry forever slowly damages engagement and deliverability.
Expert tips
A 2% total-bounce target works best when hard bounces are suppressed immediately.
A single trap or block pattern can matter more than a neat campaign-level percentage.
Different ESP labels change the metric, so normalize categories before comparing teams.
Expert from Email Geeks says bounces are best used as an internal compliance and list-quality signal, not as a fixed mailbox-provider rule.
2024-10-03 - Email Geeks
Expert from Email Geeks says hard bounces above 2% deserve caution, while 3% should trigger cleanup or a pause for that segment.
2024-10-03 - Email Geeks

A clean target to use

For most email marketing programs, I would set the visible target at under 2% total bounces per campaign. I would set a stricter internal hard-bounce target at under 0.5%, then use 0.1% to 0.3% for warming, sensitive domains, and lists that should already be exceptionally clean.
The percentage is only the starting point. A healthy process removes hard bounces immediately, retries soft bounces with limits, separates policy blocks, watches provider-specific patterns, and checks authentication when blocks appear. That is how bounce rate becomes useful instead of just another dashboard number.
Recommended target
Aim for under 2% total bounces, under 0.5% hard bounces, and immediate investigation when any campaign crosses 2% or changes sharply.

Frequently asked questions

DMARC monitoring

Start monitoring your DMARC reports today

Suped DMARC platform dashboard
What you'll get with Suped
Real-time DMARC report monitoring and analysis
Automated alerts for authentication failures
Clear recommendations to improve email deliverability
Protection against phishing and domain spoofing