Deliverability Monitoring
Deliverability is the rate at which your messages actually reach the inbox. It is not the same as "did the API return 200." A message can be accepted by the API, accepted by the upstream MTA, and still land in spam at the receiver. Monitoring catches this gap early.
This page covers the metrics that matter, the thresholds that should trigger action, and the decision tree at each level.
Metrics that matter
Four numbers tell most of the story:
| Metric | What it measures | Where to read it |
|---|---|---|
| Delivery rate | Of what you sent, how much was accepted by the recipient mailbox | GET /v1/usage and the dashboard |
| Bounce rate | Of what you sent, how much was refused | Same |
| Open rate | Of what was delivered, how much was opened (HTML only) | Engagement stats |
| Spam complaint rate | Of what was delivered, how much was reported as spam | Engagement stats |
Bounce + Complaint is the most diagnostic combination. A high bounce rate means your list is dirty; a high complaint rate means your content is unwelcome. They are different problems with different fixes.
Thresholds and what they mean
These are practical, not absolute. Different recipient mixes have different baselines. Track your own normal and react to deviations.
| Metric | Healthy | Watch | Worry |
|---|---|---|---|
| Delivery rate | > 97% | 95–97% | < 95% |
| Bounce rate | < 2% | 2–5% | > 5% |
| Spam complaint rate | < 0.1% | 0.1–0.3% | > 0.3% |
| Open rate (HTML, opted-in audience) | > 25% | 15–25% | < 15% |
If two or more land in Worry at the same time, treat it as an incident. One bad metric is usually a content or list issue. Two together usually means reputation damage.
Decision tree
Bounce rate > 5%
- Check the bounce categories. Hard bounces (invalid address) and soft bounces (temporarily unreachable) have different fixes.
- For hard bounces: suppress the addresses immediately. Do not retry. Continued sends to known-invalid addresses kill reputation fast.
- For soft bounces: retry once, then suppress if still failing.
- If hard bounces are concentrated on one campaign: the list is stale. Pause the campaign, validate the list, resend to the cleaned subset.
Spam complaint rate > 0.3%
- Pause the affected campaign immediately. Continuing to send into a complaint spike compounds reputation damage.
- Check the from-name and subject line. Generic from-names ("notifications@") and clickbait subjects drive complaints.
- Verify unsubscribe is working. A broken or hidden unsubscribe link drives complaints because users have no other off-switch.
- Check segmentation. Sending the same message to engaged and unengaged segments simultaneously inflates complaints.
Delivery rate < 95%
- Check domain compliance via Check compliance. SPF, DKIM, or DMARC drift is the most common cause.
- Check the readiness score. A drop in readiness usually precedes a drop in delivery. See Domain compliance philosophy.
- Check sending volume change. A sudden volume spike on a domain with no warm-up history drops delivery for several hours.
- Check the upstream MTA status. Reach out to mailbot support if compliance and volume look correct.
Open rate falling on opted-in audience
This is usually a content or content-rendering issue, not deliverability. But if open rate falls and delivery rate falls together, it is the inbox vs spam-folder split: more messages are landing in spam (where they are not opened).
Per-domain vs per-account monitoring
Reputation is per-domain, not per-account. If you send from three domains, monitor each separately. A bad week on one does not mean the others are sick.
In the dashboard, filter usage and engagement views by inbox domain. Set alerts per-domain.
What to log on every send
To monitor effectively, retain enough metadata to slice by:
- domain
- inbox
- campaign label (use the
labelsfield) - recipient cohort (your own segmentation)
- send time
When deliverability drops, the question is always "drops where?" Logs that let you slice by these axes find the answer in minutes instead of hours.
When to escalate to mailbot
Escalate to support if:
- delivery rate drops below 95% without a corresponding compliance or volume change
- bounces are categorized as
infrastructureormta-rejectedrather thanrecipient-rejected - the upstream MTA appears to be returning errors that are not visible in your dashboard
For everything else, the answer is on your side: list quality, content, segmentation, or compliance configuration.