Skip to main content

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:

MetricWhat it measuresWhere to read it
Delivery rateOf what you sent, how much was accepted by the recipient mailboxGET /v1/usage and the dashboard
Bounce rateOf what you sent, how much was refusedSame
Open rateOf what was delivered, how much was opened (HTML only)Engagement stats
Spam complaint rateOf what was delivered, how much was reported as spamEngagement 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.

MetricHealthyWatchWorry
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%

  1. Check the bounce categories. Hard bounces (invalid address) and soft bounces (temporarily unreachable) have different fixes.
  2. For hard bounces: suppress the addresses immediately. Do not retry. Continued sends to known-invalid addresses kill reputation fast.
  3. For soft bounces: retry once, then suppress if still failing.
  4. 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%

  1. Pause the affected campaign immediately. Continuing to send into a complaint spike compounds reputation damage.
  2. Check the from-name and subject line. Generic from-names ("notifications@") and clickbait subjects drive complaints.
  3. Verify unsubscribe is working. A broken or hidden unsubscribe link drives complaints because users have no other off-switch.
  4. Check segmentation. Sending the same message to engaged and unengaged segments simultaneously inflates complaints.

Delivery rate < 95%

  1. Check domain compliance via Check compliance. SPF, DKIM, or DMARC drift is the most common cause.
  2. Check the readiness score. A drop in readiness usually precedes a drop in delivery. See Domain compliance philosophy.
  3. Check sending volume change. A sudden volume spike on a domain with no warm-up history drops delivery for several hours.
  4. 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 labels field)
  • 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 infrastructure or mta-rejected rather than recipient-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.