SendGrid is the default transactional ESP for a generation of SaaS companies. It is fast, it has a good API, and its dashboards look professional. What its dashboards will not do is tell you where your mail is actually landing — because SendGrid, like every major ESP, has no visibility past the receiving server's 250 OK.
When your SendGrid account starts showing open-rate drops with no obvious cause, the diagnosis needs to come from outside the SendGrid dashboard. Here is the flow we use.
SendGrid's IP pool tiers
Before anything else, know which pool you are on. SendGrid has four broad tiers:
- Free — shared pool, lowest reputation, used by trial and free-tier accounts. Expect 55–70% Gmail Inbox on a clean domain.
- Essentials — shared pool, slightly better. Newsletter and small-campaign senders. Expect 65–75% Gmail Inbox.
- Pro — you get a dedicated IP (or can request one), you pay meaningfully more, but the reputation is yours to build.
- Premier — dedicated IP with managed warm-up and a named deliverability contact. For >500k emails / month.
A sender on the Essentials shared pool can have placement collapse overnight if another Essentials customer sends a bad campaign. Nothing in your SendGrid account changes, nothing in your DNS changes, and opens drop 40% the next morning.
How to identify which pool you are on
Send yourself a test message from SendGrid and open the full headers. Look at the Received: chain — the first hop will be an IP in one of SendGrid's ranges. Then look up that IP on SenderScore.org. A reputation between 80 and 100 is a dedicated or premium pool; 60–80 is Essentials; below 60 is the free pool.
Second check: in the SendGrid UI go to Settings → IP Addresses. If you see a single IP listed as assigned to your account, you have a dedicated IP. If the page shows a pool name ("ip-pool-us-east" etc.) — shared.
The four most common SendGrid placement issues
1. Shared-pool drift
Symptom: open rate drops 20–40% in a single day, no config changes. Diagnosis: run a placement test, compare today's Gmail/Outlook Inbox % against last week's. If every provider dropped together, it is pool reputation.
2. Tracking domain blocklisted
SendGrid rewrites every link through a tracking domain (the default is a subdomain of sendgrid.net, or your custom CNAME). If the tracking domain ends up in URIBL or SURBL, every message goes to Spam — even if your sending domain is clean. Check your tracking host on multirbl.valli.org and on Spamhaus DBL.
3. Link shortener issues
SendGrid's Click Tracking wraps links in JavaScript redirects through its own domain. Older tracking hosts accumulated blocklist history. If your account still points at the legacysendgrid.net tracking host, move to a custom CNAME-authenticated tracking subdomain today.
4. Default-domain DKIM signing
New SendGrid accounts sometimes send messages signed withem.sendgrid.net instead of your own domain. This breaks DMARC alignment and routes every Gmail message to Spam. Fix: complete the Domain Authentication wizard in Settings → Sender Authentication. Confirm the message headers show d=yourdomain.com after the change.
Running the free 10-minute diagnostic
- Minute 0–2: send one message from SendGrid through the placement-test seedbox list. Note the per-provider verdict.
- Minute 2–4: open the raw headers of the seed copy. Confirm
spf=pass,dkim=passwithd=yourdomain.com, anddmarc=passwith alignment. - Minute 4–6: pull the sending IP from the headers, check it on Spamhaus, SORBS, SpamCop, Barracuda. Check the tracking domain on URIBL / SURBL.
- Minute 6–8: cross-reference with Google Postmaster Tools. Look at Domain Reputation and IP Reputation for the last 7 days.
- Minute 8–10: compare today's placement against the previous test if you have one. A sudden drop isolates pool drift; a slow drift isolates list or content.
# Quick header inspection (saved .eml file)
grep -E "^(Received|Authentication-Results|DKIM-Signature|Received-SPF):" \
message.eml | head -20
# What you want to see:
# Authentication-Results: spf=pass dkim=pass dmarc=pass
# DKIM-Signature: d=yourdomain.com (NOT em.sendgrid.net)
# Received: from *.sendgrid.net (1.2.3.4) ← note this IPFixes by issue
- Pool drift: open a SendGrid ticket citing your account ID and the 7-day placement drop; they can move you between pools within Essentials. If it recurs, plan to upgrade.
- Tracking domain blocklisted: rotate the CNAME to a new subdomain, re-authenticate, wait 72 hours for propagation.
- Default signing: complete Domain Authentication. Re-send a test and verify
d=yourdomain.com. - Content or list problem: if authentication is clean and blocklists are clear but Gmail still routes to Spam, the issue is engagement or content. Prune inactive recipients and cut link count.
When to move to Pro
Rough rule of thumb: if you send more than ~40k messages per month and your placement is unstable on Essentials, Pro pays for itself in recovered conversion. Below that volume, the dedicated IP takes too long to warm up and you are better off on a reputable shared pool.
A fresh dedicated IP on SendGrid Pro starts with zero reputation. You need 3–4 weeks of graduated volume (50 → 500 → 5000 per day) before Gmail treats it neutrally. Don't move to Pro the day before a big campaign.
GlockApps comparison
GlockApps integrates with SendGrid via API and can run scheduled placement tests automatically. It is the right tool if you run dozens of accounts or need audit trails. For a single SendGrid tenant debugging a live placement drop, the free flow above gets you the same diagnostic answers in ten minutes. Inbox Check covers the placement side at no cost; SenderScore and Google Postmaster Tools cover the reputation side.