[deliver]
Deliver article · 2026-07-16 · Charlotte Rodrigues

Soft bounce vs hard bounce: how to diagnose and fix email bounces

Short answer. A soft bounce is a delivery failure that may be temporary, such as a full inbox, a receiving server outage, or rate limiting. A hard bounce is treated as permanent, such as an address that does not exist or a domain that cannot receive mail. Suppress hard-bounced addresses from future sends. For soft bounces, read the SMTP response, look for patterns by inbox provider and acquisition source, and act on repeated failures instead of deleting every address after one incident.

An email marked as sent has not necessarily reached a mailbox. The receiving server can accept it, delay it, or reject it. When it rejects a message, it usually returns a status code and a diagnostic message.

That response is more useful than a single bounce-rate percentage. A spike in invalid-address errors after a list import points to a collection or data-quality problem. A cluster of temporary Gmail errors during a large campaign may point to sending speed, authentication, or reputation. The fix depends on the pattern.

This guide explains how to move from a bounce report to a practical decision.

Soft bounce vs hard bounce: the essential difference

An email bounce occurs when the receiving system does not deliver a message. Email service providers usually group bounces into two operational categories.

A soft bounce is usually temporary

The address may be valid, but the message could not be delivered under the current conditions. Common causes include:

Your email platform may retry delivery automatically. One soft bounce is not a reason to remove a known customer. Repeated soft bounces from the same address, domain, or inbox provider do require investigation.

A hard bounce is treated as permanent

A hard bounce indicates that another attempt to the same address is unlikely to work. The mailbox may not exist, the domain may be invalid, the account may have been disabled, or the receiving system may have issued a permanent policy rejection.

The address should be suppressed from future marketing sends. Continuing to send will not create revenue, and repeated attempts to invalid recipients can signal poor list hygiene to mailbox providers.

Situation Likely classification Immediate response
Mailbox is full Soft bounce Let the platform retry, then monitor repetition
Receiving server is unavailable Soft bounce Wait and check whether one domain is affected
Sending rate is temporarily limited Soft bounce Slow the send and review reputation signals
Recipient address does not exist Hard bounce Suppress the address from future sends
Recipient domain is invalid Hard bounce Suppress the address and audit its source
Permanent security or policy rejection Hard bounce Stop retrying and fix the sender-level issue

This classification helps operations, but the receiving server's full response remains the best diagnostic. Klaviyo also defines hard bounces as permanent and soft bounces as temporary in its official bounce guide.

How to read an SMTP bounce code

A rejection message often contains a three-digit SMTP response, an enhanced status code in the format x.y.z, and plain-language text. For example:

550 5.1.1 The email account that you tried to reach does not exist

The first digit gives you the broad class:

The IETF's RFC 3463 defines enhanced mail system status codes. The second and third digits narrow the subject and cause.

Code family What it usually describes First action
4.2.x Temporary mailbox condition Wait, then monitor repeat failures
4.3.x Temporary system condition Check whether a provider-wide issue exists
4.4.x Network or routing condition Allow retries and review affected domains
4.7.x Temporary security or policy condition Read the full text, slow sending, verify authentication
5.1.1 Invalid recipient address Suppress the address
5.2.x Permanent mailbox condition Suppress unless a verified correction exists
5.3.x Permanent system or message issue Fix the message or sending configuration
5.7.x Permanent security or policy condition Identify the policy before sending again

Do not diagnose from 550 alone. The same generic response can describe an invalid address or a policy rejection. Google's current Gmail SMTP error reference shows why the enhanced code and server text matter.

Common hard bounce causes and what to do

The email address does not exist

Form typos, fake coupon signups, old imports, and employee turnover all create invalid addresses. A common temptation is to change gmal.com to gmail.com automatically. That can send marketing to a different person without a reliable basis.

Action: suppress the address. Correct it only when the customer provides a verified replacement or confirms the typo.

The domain cannot receive mail

The domain after the @ may have expired, may not exist, or may not have a valid mail exchanger.

Action: suppress the address and inspect its source. A cluster from the same form, partner file, or acquisition campaign points to a process problem rather than isolated mistakes.

The mailbox has been disabled

An employee may have left a company, an account may have been closed, or a provider may have disabled the mailbox.

Action: do not guess a replacement address. In B2B, find a current contact through a legitimate channel and collect the appropriate permission and preferences.

A permanent policy block applies

The receiving provider may reject the sender because of authentication, domain or IP reputation, content, or a local security rule.

Action: look for a shared pattern. If many addresses at one provider return 5.7.x, the issue is probably not each recipient. Review SPF, DKIM, DMARC, sending reputation, complaints, content, and volume before trying again.

Common soft bounce causes and what to do

The mailbox is full

A full mailbox may become available later. One occurrence does not justify immediate suppression. An address that remains full across several sends is less likely to become an engaged contact again.

Action: let your platform handle normal retries, then exclude chronic soft bounces from campaigns before they damage performance.

The receiving server is temporarily unavailable

Maintenance, network failures, and capacity problems can affect an entire domain.

Action: compare the time of the spike with the providers involved. If the issue disappears at the next send without a change on your side, it may have been external. If it continues, give your email platform the raw SMTP responses, not just a screenshot of the bounce rate.

The provider is rate limiting your mail

A receiving server may accept fewer messages than you are attempting to send. This can happen after a sudden volume increase, an aggressive warm-up, or a deterioration in reputation.

Action: reduce the sending rate, prioritize engaged recipients, and resume gradually. Gmail's sender guidelines and SMTP error reference identify temporary authentication and rate-limit failures that require sender-level changes.

The message is too large or is being filtered

Large attachments, heavy HTML, shortened links, or a suspicious destination can trigger a rejection.

Action: compare bounce categories by campaign and template. If one template concentrates failures, test a lighter version with no attachment and direct links to a domain you control.

Authentication or reputation is unstable

A temporary policy error is not harmless. It can be an early warning that the provider does not trust the message or sender.

Action: verify SPF, DKIM, DMARC, DNS, complaint rates, volume consistency, and the engagement quality of the audience. Changing the subject line alone will not fix an authentication failure.

A 30-minute bounce diagnostic

1. Separate hard and soft bounces

Calculate the count and rate for each category. Compare the result with recent campaigns and automated messages. A sudden change is often more useful than a generic benchmark.

2. Group by code and reason

Separate invalid address, mailbox unavailable, reputation, content, and technical causes. Each category has a different owner:

3. Group by inbox provider

Compare Gmail, Yahoo, Outlook, Apple-hosted domains, and business domains. If the issue is concentrated at one provider, investigate its codes before changing the entire database.

4. Group by acquisition source

Add signup source, import batch, partner, and collection date to the analysis. A single form, giveaway, or legacy file can explain most hard bounces.

5. Compare campaigns and automations

A problem limited to one campaign points toward its audience, volume, or content. A problem across every send points toward the domain, infrastructure, or list.

6. Record the decision

Document the code, likely cause, action, owner, and review date. This prevents the team from repeating the same investigation after every incident.

How Klaviyo handles email bounces

As of July 16, 2026, Klaviyo automatically suppresses an address after a hard bounce. It also suppresses an address after it soft bounces more than seven consecutive times, counting only soft bounces from the previous two years. Klaviyo documents these rules in its guide to suppressed email profiles.

That automation protects future sends, but it does not replace diagnosis. Waiting for repeated failures while one provider is rate limiting a large audience can still affect sender reputation. Conversely, manually suppressing every address after a single temporary outage can remove valid customers.

Klaviyo's Deliverability Hub can break down bounce information by type, provider, and category. You can also build a segment of chronic soft bounces and suppress those profiles earlier when the pattern is clear.

Prevent bounces at the source

Improve collection quality

In the United States, CAN-SPAM does not replace a permission-based acquisition strategy. It does require accurate headers and subject lines, a valid postal address, a clear opt-out method, and timely processing of opt-out requests. The FTC's CAN-SPAM compliance guide is the primary reference, and state or sector-specific rules may add requirements.

Control imports

Maintain the audience

Use engagement and purchase signals to reduce pressure on inactive contacts before their addresses become invalid. A clear CRM segmentation framework helps separate customers who need a different message from profiles that should no longer receive routine campaigns.

Keep the sending system stable

Authenticate the sending domain, maintain consistent volume, and increase volume in controlled steps. If bounces rise after a migration or major volume change, treat the timeline as part of the diagnosis.

Action plan by bounce pattern

Signal Within the hour Within seven days Prevention
Hard-bounce spike after an import Stop the batch and suppress rejected addresses Audit source, age, and permission status Validate collection and import recent data first
Soft bounces concentrated at Gmail Slow the send and read the codes Review authentication and provider diagnostics Keep volume consistent and target engaged profiles
Scattered full-mailbox errors Allow normal retries Exclude chronic cases Maintain an inactivity and sunsetting policy
5.7.x across several domains Pause the affected audience Review DNS, content, complaints, and reputation Monitor deliverability continuously
Bounces isolated to one template Stop that version Reduce weight and inspect links Add pre-send technical QA

The practical rule is simple: handle hard bounces at the contact level, soft bounces at the trend level, and policy errors at the sender level.

FAQ about soft and hard bounces

What is the difference between bounce rate and delivery rate?

Bounce rate measures rejected messages. Delivery rate measures messages accepted by receiving servers. An accepted email can still land in spam, so technical delivery does not prove inbox placement.

Should you remove an address after one soft bounce?

Usually not. Let the platform complete normal retries, then review repetition, the status code, and the provider. A chronic soft bounce may justify suppression, but a temporary outage does not make a valid customer permanently unreachable.

Can you resend after a hard bounce?

Do not resend to the same address unless you have a verified correction. If the customer provides a new address or confirms a typo, update the profile and keep a clean record of the change. Otherwise, leave the original address suppressed.

Is every 550 response a hard bounce?

It is generally a permanent failure, but the full text matters. A 550 response can describe an invalid mailbox or a policy rejection. Read the enhanced code and diagnostic message before assigning a root cause.

What is an acceptable bounce rate?

There is no universal number that replaces investigation. Aim for a low, stable trend and examine any unusual increase. Klaviyo currently recommends investigating list quality when successful delivery drops below 99 percent and bounce rate rises above 0.15 percent, but the cause and send volume matter more than the benchmark alone. See Klaviyo's KPI troubleshooting guidance.

Are unsubscribes bounces?

No. An unsubscribe means a recipient no longer wants marketing. A bounce means the receiving server did not deliver the message. Both statuses must be respected, but they describe different events and require different analysis.

Fix the cause, not just the percentage

A useful bounce report ends with a decision: suppress invalid addresses, repair a collection source, slow a send, fix authentication, or change an audience. Deliver can audit the full path from signup through provider response and help your team turn deliverability data into an operating process. Book an email deliverability diagnostic.

CR
Charlotte Rodrigues · CRM Lead at Deliver. Questions about this article? charlotte@agence-deliver.com

Want to apply this to your stack?

Spend 30 minutes with Charlotte to review your CRM setup, size the opportunity and leave with a practical action plan.

Book a 30-minute call →