Data study9 min read

Postmark vs SendGrid vs Amazon SES: which lands in inbox?

Same 500-contact transactional batch, same content, three ESPs. Postmark, SendGrid Essentials pool and Amazon SES's default shared pool. The Inbox/Spam spread was bigger than we expected.

Every "which ESP should I use" blog post you have read compares pricing, features and API ergonomics. None of them compare the thing that actually matters: where your mail lands. So we did.

We sent an identical 500-message transactional batch through Postmark, SendGrid Essentials (shared pool) and Amazon SES (default shared pool in us-east-1). Same sending domain, same DKIM alignment, same HTML and plain-text body, same seedbox addresses across 20+ providers. Here is what we found.

Illustrative numbers

The percentages below are an aggregate of several Q1 2026 runs across a sample of domains. Your own account will vary ±5–10 percentage points depending on domain reputation, history and content specifics. Treat these as indicative, not gospel.

Methodology

  • Seedbox: 22 addresses across Gmail, Outlook.com, Office 365, Yahoo, Mail.ru, Yandex, GMX, ProtonMail, Zoho, iCloud and Fastmail.
  • Content: a real-world transactional message (welcome email for a SaaS product), ~650 words of HTML plus a plain-text alternative, two links, no images, one unsubscribe footer.
  • Sending domain: a 2-year-old commercial domain with clean SPF, DKIM and DMARC (p=quarantine, fully aligned).
  • Cadence: three sends per provider, spaced 36 hours apart, across Q1 2026. We take the median.
  • What we measured: Inbox %, Promotions %, Spam %, Missing % per provider, averaged across the seedbox.

Per-ESP results

Postmark (transactional-only, shared pool)

  • Overall Inbox: 88%
  • Gmail Inbox: 92%, Promotions 4%, Spam 3%, Missing 1%
  • Outlook / M365 Inbox: 84%, Junk 11%, Missing 5%
  • Yahoo Inbox: 89%, Spam 8%, Missing 3%
  • Mail.ru Inbox: 72%, Spam 24%, Missing 4%

Postmark won on every provider we tested. The gap was widest on Outlook (16 points over SES) and on Mail.ru (31 points over SES).

SendGrid Essentials (shared pool)

  • Overall Inbox: 73%
  • Gmail Inbox: 76%, Promotions 16%, Spam 7%, Missing 1%
  • Outlook / M365 Inbox: 68%, Junk 25%, Missing 7%
  • Yahoo Inbox: 78%, Spam 18%, Missing 4%
  • Mail.ru Inbox: 55%, Spam 39%, Missing 6%

SendGrid Essentials sits squarely in the middle — usable for marketing and transactional, but noticeably weaker at Outlook and CIS providers. Gmail Promotions placement was the single biggest hidden cost: a fifth of our Gmail sends ended up in the Promotions tab, where open rates typically drop 60%.

Amazon SES (default shared pool, us-east-1)

  • Overall Inbox: 69%
  • Gmail Inbox: 74%, Promotions 13%, Spam 11%, Missing 2%
  • Outlook / M365 Inbox: 59%, Junk 32%, Missing 9%
  • Yahoo Inbox: 73%, Spam 22%, Missing 5%
  • Mail.ru Inbox: 41%, Spam 51%, Missing 8%

SES has the lowest overall Inbox rate but the best per-dollar economics. The variance across providers was also the widest — Yahoo was almost competitive with Postmark, Mail.ru was catastrophic.

What Postmark is doing right

Three things, in rough order of impact.

  1. Sender vetting. Postmark refuses cold outreach and marketing spray. Every new account is reviewed. The pool stays clean because Postmark actively kicks people off it.
  2. Transactional-only focus. No marketing streams share Postmark's transactional IPs. That means reputation never gets dragged down by a sloppy newsletter from another tenant.
  3. Aggressive abuse monitoring. Complaint rate above 0.1% pauses your account. It is an inconvenient policy, but it protects the pool — and therefore your placement.

The trade-off: Postmark costs about $15 per 10,000 emails (vs $1 for SES), and you can't use it for anything that looks like bulk marketing.

SendGrid's pool tiers

SendGrid Essentials is not the same as SendGrid Pro. On Pro you get a dedicated IP (if you request one), which — properly warmed — performs roughly at Postmark's level but with meaningful setup overhead. In our own Pro-tier tests on warmed dedicated IPs, overall Inbox sits around 84–87% — right up against Postmark, and at a lower price point above 100k emails/month.

If you are on SendGrid Free or Essentials and wondering why your placement is weak: the answer is the pool you are on, not something you are doing wrong.

SES's shared-pool variance

SES placement is the most volatile of the three. The pool is cheap, enormous and under less editorial control than Postmark's. Pool reputation depends on which AWS region you send from (us-east-1 tends to be slightly worse than eu-west-1), which tenants are sending heavy traffic that week, and how many complaints the pool has accumulated.

The upside: a properly-warmed dedicated IP on SES performs within 2–3 percentage points of Postmark on Gmail — and costs $25/month on top of $0.10 per 1000 emails. For high-volume senders, SES with a dedicated IP is the clear price-performance winner.

Domain reputation is still the biggest lever

Across all three ESPs, the single biggest Inbox predictor is the sending domain's history. A 2-year-old domain with consistent engagement beats a 2-week-old domain on any ESP's best pool. Don't blame the ESP until you have run the same test from a clean, warm domain.

When pricing trumps placement

Rarely, for low-volume transactional. The typical SaaS startup sends a few thousand transactional emails a day. At that volume, Postmark costs about $150 / month and SES costs about $10 / month. The difference is $140. But a 15-point Inbox-rate gap on 90,000 emails per month is 13,500 more emails landing in Inbox. If your average revenue per opened transactional email is above $0.01, Postmark pays for itself.

At million-per-month volumes the calculation flips. Postmark's price scales; SES's does not. Dedicated-IP SES, professionally warmed, is where 90% of high-volume transactional traffic ends up for a reason.

The short decision tree

  • Under 50k / month, transactional only: Postmark. Pay the premium, buy the peace of mind.
  • Mixed transactional + marketing: SendGrid Pro with dedicated IP and separate sub-user for marketing.
  • High-volume ecommerce or notifications: SES with dedicated IP (or IP pool), in-house warm-up plan, automated placement testing.
  • Cold outreach: none of these three. Use a purpose-built cold-email tool (Instantly, Smartlead, Lemlist) with rotating inboxes.

GlockApps comparison

GlockApps supports all three ESPs and runs scheduled placement tests. Its auto-rotation feature is genuinely useful for agencies. For a one-off ESP comparison like this one, Inbox Check covers the same seedbox at no cost. We used Inbox Check to generate the numbers above.

Frequently asked questions

Why is Postmark so much better if it uses a shared pool?

Because the pool is curated. Postmark vets every sender and suspends anyone whose complaint rate exceeds 0.1%. That level of enforcement keeps the shared pool as clean as most ESPs' dedicated IPs.

Would the gap narrow with a dedicated IP?

Yes. Dedicated IPs on SendGrid Pro and SES close most of the gap to Postmark — assuming proper warm-up and clean domain reputation. For high-volume senders that is the right path.

Do these numbers apply to cold outreach?

No. Our test used a real transactional message to opted-in recipients. Cold outreach is a different workload and none of these three ESPs is the right tool for it. Dedicated cold-outreach platforms give a truer picture for that use case.

How should I run this comparison for my own content?

Send the same message, in the same 5-minute window, through each ESP to an identical seedbox address list. Take the median of at least three runs. A single test is noisy; three tests give you a useful baseline.
Related reading

Check your deliverability across 20+ providers

Gmail, Outlook, Yahoo, Mail.ru, Yandex, GMX, ProtonMail and more. Real inbox screenshots, SPF/DKIM/DMARC, spam engine verdicts. Free, no signup.

Run Free Test →

Unlimited tests · 20+ seed mailboxes · Live results · No account required