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

  1. Clear unsubscribe — Make it easy and visible
  2. Set expectations — Tell people what they’re signing up for
  3. Respect frequency — Don’t over-send
  4. Stay relevant — Segment and personalize
  5. 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

  1. Validate on signup — Use our validation API
  2. Remove bounces — Automatic with webhooks
  3. Re-engage dormant — Win-back campaigns
  4. Sunset inactive — Remove non-engagers
  5. 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

  1. Check for spikes in bounces or complaints
  2. Review recent content changes
  3. Verify authentication still valid
  4. Check if IP/domain blacklisted
  5. Review sending volume changes

High spam rate

  1. Review complaint sources
  2. Check for missing unsubscribe links
  3. Audit sending frequency
  4. Improve list signup process
  5. Segment and reduce volume
  6. Disable tracking for transactional emails — tracking pixels, link rewriting, and List-Unsubscribe headers signal to Gmail that the email is marketing/bulk. For transactional messages (notifications, alerts, password resets), set tracking.opens: false and tracking.clicks: false to avoid spam classification

Blacklist removal

If blacklisted:

  1. Identify which blacklist(s)
  2. Fix the underlying issue
  3. Follow blacklist’s removal process
  4. 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