Deliverability
4 min read
Deliverability determines whether your emails reach the inbox or end up in spam. Good deliverability means your messages get seen.
Understanding deliverability
Your deliverability depends on:
| Factor | Impact |
|---|---|
| Sender reputation | ISPs score your domain/IP history |
| Authentication | SPF, DKIM, DMARC properly configured |
| Bounce rate | High bounces damage reputation |
| Complaint rate | Spam reports hurt significantly |
| Engagement | Opens/clicks signal legitimacy |
| Content quality | Spam triggers hurt delivery |
Dashboard metrics
Access deliverability insights at Analytics → Deliverability.
Key metrics
Delivery rate
Delivered / (Delivered + Bounced + Rejected)
Target: >98%
Bounce rate
Bounced / Total Sent
Target: <2%
Complaint rate
Complaints / Delivered
Target: <0.1% (critical threshold)
Open rate
Unique Opens / Delivered
Benchmark: 20-30% (varies by industry)
Click rate
Unique Clicks / Delivered
Benchmark: 2-5%
Via API
curl https://api.mailingapi.com/v1/analytics/deliverability \
-H "Authorization: Bearer $API_KEY" \
-G \
-d "from=2024-01-01" \
-d "to=2024-01-31"
Response:
{
"period": {
"from": "2024-01-01",
"to": "2024-01-31"
},
"totals": {
"sent": 50000,
"delivered": 49200,
"bounced": 500,
"rejected": 300,
"complaints": 15,
"opens": 12300,
"clicks": 1845
},
"rates": {
"delivery": 98.4,
"bounce": 1.0,
"complaint": 0.03,
"open": 25.0,
"click": 3.75
}
}
Reputation monitoring
Domain reputation
Check your domain’s reputation:
curl https://api.mailingapi.com/v1/analytics/reputation \
-H "Authorization: Bearer $API_KEY"
Response:
{
"domain": "notifications.yourdomain.com",
"reputation": {
"score": 92,
"level": "excellent",
"trend": "stable"
},
"factors": {
"authentication": "pass",
"bounce_rate": "good",
"complaint_rate": "excellent",
"engagement": "good",
"list_hygiene": "needs_attention"
}
}
Reputation levels
| Score | Level | Impact |
|---|---|---|
| 90-100 | Excellent | Best inbox placement |
| 75-89 | Good | Minor filtering possible |
| 50-74 | Fair | Increased spam filtering |
| 25-49 | Poor | Significant delivery issues |
| 0-24 | Critical | Likely blocked |
Bounce management
Bounce types
Hard bounces (permanent)
- Mailbox doesn’t exist
- Domain doesn’t exist
- Address rejected permanently
Soft bounces (temporary)
- Mailbox full
- Server temporarily unavailable
- Message too large
Handling bounces
We automatically:
- Retry soft bounces with exponential backoff
- Flag hard bounce addresses as invalid
- Track bounce patterns per domain
You should:
- Remove hard bounces from your lists
- Monitor for bounce spikes
- Investigate domains with high bounces
Bounce webhook
{
"type": "bounced",
"data": {
"message_id": "msg_abc123",
"to": "invalid@example.com",
"bounce_type": "hard",
"bounce_code": "550",
"bounce_message": "User not found"
}
}
Complaint management
Why complaints happen
- Recipient forgot they signed up
- Unsubscribe link hard to find
- Too many emails
- Content not relevant
- Email looks like spam
Reducing complaints
- Clear unsubscribe — Make it easy and visible
- Set expectations — Tell people what they’re signing up for
- Respect frequency — Don’t over-send
- Stay relevant — Segment and personalize
- Use double opt-in — Confirm subscriptions
Feedback loops
We automatically process feedback loop reports from:
- Gmail
- Yahoo
- Outlook
- AOL
- Other major ISPs
Complaint notifications via webhook:
{
"type": "complained",
"data": {
"message_id": "msg_abc123",
"to": "user@gmail.com",
"complained_at": "2024-01-15T12:00:00Z"
}
}
Important: Immediately unsubscribe users who complain.
Authentication health
Check authentication status
curl https://api.mailingapi.com/v1/domains/dom_abc123 \
-H "Authorization: Bearer $API_KEY"
Response:
{
"domain": "notifications.yourdomain.com",
"status": "verified",
"authentication": {
"spf": {
"status": "pass",
"record": "v=spf1 include:spf.mailingapi.com ~all"
},
"dkim": {
"status": "pass",
"selector": "mlapi"
},
"dmarc": {
"status": "pass",
"policy": "quarantine"
}
}
}
DMARC reports
We aggregate and display DMARC reports showing:
- Authentication pass/fail rates
- Sources of email from your domain
- Alignment issues
Access at Settings → Domains → [Your Domain] → DMARC Reports
Engagement optimization
Why engagement matters
ISPs monitor how recipients interact with your emails:
- Emails that get opened signal legitimacy
- Clicks indicate valuable content
- Deletes without reading signal spam
Improving engagement
Subject lines
- Keep under 50 characters
- Be specific, not clickbait
- Personalize when appropriate
Send timing
- Test different times
- Respect recipient timezones
- Avoid weekends for business
Content
- Mobile-optimized design
- Clear call to action
- Relevant personalization
Engagement tracking
curl https://api.mailingapi.com/v1/analytics/engagement \
-H "Authorization: Bearer $API_KEY" \
-G \
-d "from=2024-01-01" \
-d "to=2024-01-31" \
-d "group_by=day"
List hygiene
Symptoms of poor hygiene
- High bounce rates
- Declining open rates
- Increasing complaints
- Spam trap hits
Maintaining clean lists
- Validate on signup — Use our validation API
- Remove bounces — Automatic with webhooks
- Re-engage dormant — Win-back campaigns
- Sunset inactive — Remove non-engagers
- Regular cleaning — Bulk validation periodically
Sunset policy
Remove subscribers who haven’t engaged in:
- 6 months for marketing email
- 12 months for transactional notifications
Engagement = opened OR clicked in time period
Troubleshooting
Sudden delivery drop
- Check for spikes in bounces or complaints
- Review recent content changes
- Verify authentication still valid
- Check if IP/domain blacklisted
- Review sending volume changes
High spam rate
- Review complaint sources
- Check for missing unsubscribe links
- Audit sending frequency
- Improve list signup process
- Segment and reduce volume
-
Disable tracking for transactional emails — tracking pixels, link rewriting, and
List-Unsubscribeheaders signal to Gmail that the email is marketing/bulk. For transactional messages (notifications, alerts, password resets), settracking.opens: falseandtracking.clicks: falseto avoid spam classification
Blacklist removal
If blacklisted:
- Identify which blacklist(s)
- Fix the underlying issue
- Follow blacklist’s removal process
- Monitor for re-listing
We provide blacklist monitoring in the dashboard.
Best practices checklist
Authentication
- [ ] SPF configured and passing
- [ ] DKIM configured and passing
- [ ] DMARC configured (start with p=none)
- [ ] Monitoring DMARC reports
List management
- [ ] Validate emails at signup
- [ ] Process bounces automatically
- [ ] Handle complaints immediately
- [ ] Sunset inactive subscribers
Sending practices
- [ ] Easy unsubscribe in every marketing email
-
[ ] Tracking disabled for transactional emails (
tracking.opens: false, tracking.clicks: false) - [ ] Consistent from address
- [ ] Reasonable sending frequency
- [ ] Content matches expectations
Monitoring
- [ ] Daily delivery rate checks
- [ ] Bounce rate alerts (<2%)
- [ ] Complaint rate alerts (<0.1%)
- [ ] Blacklist monitoring
Next steps
- Configure webhooks for real-time events
- Set up validation to clean lists
- Create templates for consistent branding