Bounce & Complaint Tracking with Automatic Email Suppression
Bounce & Complaint Tracking with Automatic Email Suppression
Full visibility into email deliverability health, with automatic suppression to protect your sender reputation when emails bounce or recipients mark them as spam.
📊 Bounce Rate & Complaint Rate Metrics
Two new metrics are now visible throughout the platform to help you monitor email list health.
In campaign analytics
The analytics dashboard now shows two additional metric cards:
- Bounce rate — Percentage of sent emails that failed to deliver, across all campaigns or filtered to a specific one
- Complaint rate — Percentage of recipients who marked your email as spam
Both metrics work with the existing campaign filter. Select a specific campaign to see its individual rates, or leave it at "All campaigns" for aggregated data.
Per sender email
The Email settings table now shows each sender address's deliverability history:
| Column | Description |
|---|---|
| Emails sent | Total sent from this address |
| Bounce rate | Bounce % for this sender. Shows — until first send |
| Complaint rate | Spam complaint % for this sender. Shows — until first send |
This lets you spot if one sender address is accumulating a poor reputation, so you can pause or replace it before it affects your campaigns.
🚫 Automatic Email Suppression
When AWS SES reports a bounce or complaint, the system now automatically suppresses that address to prevent future sends. This protects your sender reputation and keeps you compliant with email deliverability standards.
Hard bounce → Global suppression
When an email permanently bounces (the address doesn't exist, the domain is invalid, or the mailbox is permanently unavailable), the address is added to a global suppression list that spans all brands on the platform.
- No email will ever be sent to that address again from any brand
- This is irreversible by design — sending to known-bad addresses is the fastest way to destroy deliverability
Soft bounce → Suppressed after repeated failures
When an email experiences a transient bounce (temporary issue like a full inbox or server outage), the system tracks how often it happens. After 3 soft bounces within 30 days for the same address, the address is suppressed to prevent continued attempts against a persistently unreachable mailbox.
Spam complaint → Brand-level suppression
When a recipient reports your email as spam, they are suppressed for your brand specifically. Other brands on the platform are unaffected.
- The suppression is immediate upon receiving the complaint event from AWS SES
- The recipient will not receive any future email campaigns or automated Fanzly emails from your brand
👁️ Visibility in the Recipients Table
Suppressed and bounced recipients remain visible in the analytics table so you can see what happened — but their rows are not clickable.
Status column
The recipients table now shows a Status chip for each row with the following states:
| Status | Color | Meaning |
|---|---|---|
| Marked as spam | Yellow | Recipient reported the email as spam |
| Not delivered | Red | Email bounced |
| Clicked link | Blue | Recipient clicked at least one link |
| Opened | Cyan | Recipient opened the email |
| Delivered | Green | Email reached inbox but wasn't opened |
| Sent | Grey | Sent but delivery not yet confirmed |
Opted-out contacts also appear but are non-clickable, for the same reason — no future sends will go to them.
🔍 Bounce & Complaint Details in the Activity Drawer
Click any recipient row (when clickable) to see detailed delivery information in the activity drawer.
What's new in the drawer
- "Not delivered" badge — Shown in the header if the email bounced
- "Marked as spam" badge — Shown in the header if a complaint was reported
- Delivery summary row for bounces — Shows the bounce timestamp and reason (e.g., "Permanent: General", "Transient: MailboxFull")
- Delivery summary row for complaints — Shows the complaint timestamp
The bounce reason is formatted into plain language to help you understand what went wrong.
💡 Summary
- Bounce rate — New metric card in analytics + per-sender column in email settings
- Complaint rate — New metric card in analytics + per-sender column in email settings
- Hard bounce → Email globally suppressed across the platform
- Soft bounce × 3 in 30 days → Email suppressed to prevent repeated failures
- Spam complaint → Email suppressed per brand
- Status column — New chip in the recipients table showing delivery outcome
- Activity drawer — Bounce reason and complaint timestamp now shown
- Non-clickable rows — Suppressed and opted-out recipients shown but locked