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:
- a full mailbox;
- a receiving server that is temporarily unavailable;
- a temporary rate limit;
- a message that exceeds a size limit;
- a security or reputation block that may change;
- a temporary routing, DNS, or authentication problem.
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:
2xxmeans the request succeeded;4xxmeans a temporary failure and is usually classified as a soft bounce;5xxmeans a permanent failure and is usually classified as a hard bounce.
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:
- acquisition owns the quality of new addresses;
- CRM owns targeting and sending pressure;
- engineering or deliverability owns DNS and authentication;
- creative owns template-specific content and weight.
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
- use confirmed opt-in when address quality matters more than raw list growth;
- block spaces and obviously invalid formats;
- ask customers to confirm an address when they create an account;
- store the signup source and permission record;
- do not buy or rent email lists.
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
- verify when the file was last used;
- start with recent contacts whose status and source are known;
- send to a small, engaged group first;
- monitor bounces by batch and stop if invalid addresses accumulate.
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.
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 →