Proper bounce handling protects your sender reputation. Continuing to send to addresses that have bounced signals poor list management and damages deliverability.
Understanding Bounce Types
Hard Bounces
Permanent delivery failures that will never succeed:
- Address does not exist (550 User unknown)
- Domain does not exist
- Mailbox closed or deleted
- Permanent rejection by server
Action: Remove immediately after first occurrence.
Soft Bounces
Temporary delivery failures that may resolve:
- Mailbox full
- Server temporarily unavailable
- Message too large
- Temporary server issues
Action: Retry, then remove after 3-5 consecutive failures.
Most ESPs Handle This Automatically
If you use an email service provider like Mailchimp, SendGrid, or similar, they typically suppress hard bounces automatically. Check your platform's settings to confirm this is enabled and understand their specific policies.
Bounce Removal Process
Step 1: Identify Bounces
- Review bounce reports after each send
- Categorize by hard vs. soft bounce
- Note the bounce reason codes
- Export bounced addresses for processing
Step 2: Remove from Active List
- Mark hard bounces as undeliverable immediately
- Flag soft bounces and track consecutive failures
- Remove soft bounces after threshold reached
- Update your database status fields
Step 3: Add to Suppression List
- Create a permanent suppression list
- Add all hard bounced addresses
- Check against suppression list before any import
- Check before any re-subscription attempt
Step 4: Prevent Re-Addition
- Block bounced addresses from signup forms
- Filter imports against suppression list
- Validate addresses before adding
Handling Soft Bounces
| Consecutive Failures | Action |
|---|---|
| 1 | Keep active, monitor |
| 2 | Keep active, consider verification |
| 3 | Move to at-risk segment |
| 4-5 | Remove from active sending |
| 5+ | Treat as hard bounce, suppress |
Soft Bounce Recovery
Unlike hard bounces, soft bounced addresses can sometimes recover:
- If a soft bounce delivers successfully, reset the counter
- Consider reducing email size for "message too large" bounces
- Wait a reasonable time before retry for server issues
Creating a Suppression System
What to Include
- All hard bounced addresses
- Soft bounces that exceeded retry threshold
- Addresses that unsubscribed
- Spam complainers
- Manually removed addresses
Implementation Options
ESP Built-In
Most email platforms maintain suppression lists automatically. Verify it is enabled and understand its scope.
Database Field
Add a status field to your subscriber database:
- Active
- Hard bounced
- Soft bounced
- Unsubscribed
- Complained
Separate Suppression Table
Maintain a dedicated suppression table that all systems check before sending.
Never Delete Bounce Data
Do not delete bounced addresses entirely. Keep them in a suppression list. If you delete them, they may be re-imported and cause the same bounce again. Suppression prevents this cycle.
Cleaning After Import
When importing new addresses:
- Before import: Check against your suppression list
- Remove matches: Do not import previously bounced addresses
- Validate new addresses: Use email verification service
- Import remaining: Add only clean, verified addresses
- Monitor: Watch bounce rates on first send to new addresses
Bounce Rate Monitoring
| Bounce Rate | Status | Action |
|---|---|---|
| Under 0.5% | Excellent | Maintain current practices |
| 0.5-2% | Acceptable | Monitor, review acquisition |
| 2-5% | Concerning | Investigate sources, clean list |
| Over 5% | Critical | Stop sending, full list cleaning |
Preventing Future Bounces
- Validate at signup: Check syntax and domain validity
- Use double opt-in: Confirm address works before adding
- Regular list cleaning: Verify list periodically with validation service
- Monitor by source: Track bounce rates by acquisition channel
- Send consistently: Infrequent sending leads to more decay between sends
