Soft Bounce vs Hard Bounce: The Difference and Fixes
Understand soft bounce vs hard bounce: SMTP codes, retry logic, suppression lists and safe bounce-rate thresholds.
Soft bounce vs hard bounce: the difference
A hard bounce is a permanent delivery failure (the address does not exist, the domain is dead) after which you must delete the address for good. A soft bounce is a temporary failure (full mailbox, server unreachable, rate limit) that you can retry. You tell them apart by the SMTP reply code: 5xx means hard, 4xx means soft.
SMTP codes and what they mean
| Code | Type | Cause | Action |
|---|---|---|---|
| 550 5.1.1 | Hard | Mailbox does not exist | Delete permanently |
| 550 5.7.1 | Hard | Rejected by policy / blocked | Delete, check reputation |
| 552 5.2.2 | Soft* | Mailbox full | Retry, then suppress |
| 451 4.3.0 | Soft | Temporary server failure | Retry |
| 421 4.7.0 | Soft | Greylisting / rate limit | Retry later |
*Code 552 is technically 5xx, but many providers treat a full mailbox as temporary, so it is handled as a soft bounce with a capped retry count.
Retry logic for soft bounces
A soft bounce does not mean "delete" — it means "wait and retry". A sensible exponential-backoff schedule:
Attempt 1: +15 minutes
Attempt 2: +1 hour
Attempt 3: +4 hours
Attempt 4: +12 hours
Attempt 5: +24 hours
After 5 failures -> convert to hard, deleteIf an address soft-bounces for 72 hours straight, it is effectively dead — move it to the suppression list.
The suppression list: reputation insurance
A suppression list is a stop-list of addresses the system will never send to again: hard bounces, unsubscribes, complaints. It sits above every segment, so even an accidental re-import of an old file will not resend to a dead address. In YourTrend, hard bounces are auto-added to suppression, and you physically cannot email that address again.
Safe bounce-rate thresholds
- Below 2% — healthy for a clean list.
- 2–5% — a warning sign, review your address source.
- Above 5% — Gmail, Yahoo and Mail.ru start throttling or blocking your mail.
- Above 10% — near-certain spam placement and blocklist risk.
Blocks disguised as hard bounces
Not every 550 means a non-existent mailbox. Some are reputation blocks you must not treat by deleting the address, or you lose a real subscriber. Compare the wording:
550 5.1.1 <user@gmail.com> ... user unknown # true hard, delete
550 5.7.1 [IP] Our system has detected unusual rate # reputation block, do NOT delete
421 4.7.0 [TSS04] Messages temporarily deferred # Yahoo throttling, retryRule of thumb: if the text contains "rate", "reputation", "deferred" or "throttl", it is a sender problem, not an address problem. Lower your volume and warm up the IP.
What a bounce event looks like in a webhook
The platform delivers every bounce as structured JSON so your CRM can react automatically:
{
"event": "bounce",
"type": "hard",
"email": "user@example.com",
"smtp_code": "550",
"reason": "5.1.1 mailbox does not exist",
"suppressed": true,
"ts": "2026-07-29T10:22:11Z"
}The type field is already classified, and suppressed: true confirms the address will not receive mail again.
How to lower your bounce rate
- Validate addresses before sending with the free validator.
- Use double opt-in to catch typos at intake.
- Remove hard bounces immediately, not "maybe later".
- Clean inactive subscribers every 3–6 months.
- Configure DKIM and DMARC — some 550 5.7.1 rejections are authentication-related.
Monitoring and bounce alerts
A single bounce-rate value says little — the trend is what matters. Set an alert on a sharp spike: if one campaign jumps from 1% to 6% bounces, that almost always signals a bad segment or a stale import, and you should pause the send. It helps to break the metric down by provider: a rise on Gmail alone, while others stay normal, usually points to an authentication or reputation issue at Google rather than dead addresses. Track the soft-bounce share separately too — a rise there often precedes blocks and buys you time to react.
How YourTrend handles it
The platform parses the SMTP reply, classifies the bounce by code, queues soft addresses for retries with backoff, and automatically converts persistent failures to hard. Webhooks push every bounce event in real time, and the dashboard shows bounce rate per campaign. Event-handling details are in the documentation. Handling soft and hard bounces well is not about losing addresses — it is about protecting the deliverability of your whole list.
On this page
← All articlesOne click. It tells us what to write next.
No ratings yet — yours would be the first.
Comments
Comments are read before they appear.