Ghost7 min read

Ghost Blog Email Deliverability: Are Your Newsletters Reaching Subscribers?

Ghost ships with a polished members-and-newsletters experience, but the inbox result can vary by 40 percentage points between two publishers on the same plan. Here is why, and how to measure it.

Ghost is one of the most beloved publishing platforms for independent writers, newsletter operators, and small media teams. Its native members and newsletter product is a big part of the pitch: you can go from a fresh install to a subscriber-funded publication in an afternoon. What Ghost doesn't advertise on the landing page is that when you press "Send," your issue is handed off to Mailgun under the hood, and from that point on, deliverability follows the same rules as any other bulk sender — rules that are not kind to image-heavy, link-heavy newsletters with weak DNS configuration.

In this article we walk through the Ghost sending pipeline, the DNS setup that separates publications hitting 95% inbox from those stuck in Promotions or worse, and a simple seed-test workflow you can run before hitting "Publish" on each new issue.

How Ghost actually sends your newsletter

When a Ghost site publishes a post marked as an email-to-members issue, the platform queues a job that renders the HTML per recipient (for personalisation and unsubscribe links), then submits the batch to Mailgun via API. Ghost(Pro) hosts this integration transparently; self-hosted Ghost requires you to bring your own Mailgun account and paste the API key into config.production.json.

This means two things. First, Mailgun's reputation at the IP and shared-pool level is part of your deliverability equation whether you like it or not. Second, your domain still needs to authenticate correctly — SPF including Mailgun's servers, DKIM signing on your sending subdomain, and a DMARC policy that won't block legitimate mail but also tells mailbox providers you care.

The DNS setup that actually works for Ghost

Most placement problems for Ghost publishers come down to one of three DNS mistakes. Let's walk through the correct setup for a site sending from newsletter.example.com.

1. Use a dedicated sending subdomain

Do not send newsletters from your root domain. Createnewsletter.example.com or mail.example.com and point Mailgun's DNS records there. This isolates the reputation of your bulk mail from your transactional and human mail, and lets you apply stricter DMARC on the parent without breaking newsletters.

2. SPF, DKIM, and DMARC — all three

newsletter.example.com.   TXT   "v=spf1 include:mailgun.org ~all"
k1._domainkey.newsletter.example.com.  TXT  "k=rsa; p=MIGfMA0..."
_dmarc.example.com.       TXT   "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com; pct=100; adkim=r; aspf=r"

Note the relaxed alignment (adkim=r, aspf=r) on DMARC. Ghost's From header uses your root domain while the envelope sender uses the Mailgun subdomain, so strict alignment will fail and your DMARC pass rate will look terrible in reports.

3. Add a BIMI record once you are warmed up

BIMI is not a ranking factor by itself, but for publisher brands it has two real benefits: your logo appears next to the From line in Gmail and Yahoo, and the VMC vetting process pushes you to clean up your entire authentication stack along the way.

Why image-heavy issues still land in Promotions

Even with flawless DNS, many Ghost publishers find their newsletters consistently routed to Gmail's Promotions tab. This is not spam — Promotions is a legitimate Gmail category — but it materially hurts open rates. The usual culprits:

  • Image-to-text ratio above 60%. Ghost's default "hero image plus caption plus bullets" layout is gorgeous, but spam classifiers weight heavy imagery as promotional.
  • Multiple calls-to-action. Two buttons in the same issue, especially with words like "Shop," "Subscribe," or "Upgrade," push you firmly into Promotions.
  • List hygiene on auto-pilot. Ghost does not prune unengaged subscribers. After 12–18 months you may have 30% of your list as inactive Gmail addresses dragging down engagement signals.
  • Send cadence drift. If you usually send weekly, then miss two months, then resume with a "Big update!" subject line, Gmail treats the resumption as a reactivation campaign and routes accordingly.

A seed-test workflow for every issue

The single most valuable habit for a Ghost publisher is running a seed test on every issue before it goes out. This takes two minutes and catches problems before 20,000 subscribers do.

  1. Create a members list of 10–20 seed addresses: personal Gmail, work Outlook/Microsoft 365, Yahoo, ProtonMail, Fastmail, and a couple of regional mailboxes if your audience is international.
  2. Use Ghost's "Send preview email" feature (under the publish menu) or create a hidden members-only tag that only your seed addresses belong to.
  3. After sending, check each seed: did it land in Inbox, Promotions, Spam, or Quarantine? Take screenshots.
  4. If more than one provider routes you away from the inbox, delay the real send, iterate on subject line and image ratio, and retest.

This is the exact workflow the inbox-check.online free test automates — you paste a test address from our pool, send to it, and get placement results across 20+ providers in under a minute, without having to maintain your own seed list.

Ghost integration in beta

A native Ghost integration is in private beta — run placement tests in-platform and get alerts on drops.

→ Join the beta waitlist

When to leave Ghost's native email behind

For 90% of Ghost publishers, the built-in Mailgun pipeline is fine once DNS is correct. But there are two scenarios where migrating to a dedicated ESP pays off:

  • List size above 50,000. At that scale, the economics of a dedicated IP and granular segmentation tools (Buttondown, ConvertKit, Substack-as-CDN) start to beat Ghost's native product.
  • Deliverability-sensitive content. Finance, crypto, and adult-adjacent publishers run into shared-pool issues and benefit from an ESP with stricter content policing and warm, isolated IP pools.

For everyone else — the indie tech writer, the food newsletter, the local journalism project — the fix is not to switch tools. It is to get DNS right, send a seed test before each issue, and prune unengaged subscribers once a quarter.

FAQ

Does Ghost(Pro) handle all the DNS for me?

Ghost(Pro) handles the Mailgun account and API key for you, but you still need to add SPF, DKIM, and DMARC records on your own domain. The Ghost admin panel shows you exactly which records to add.

Can I use SendGrid or Postmark instead of Mailgun with Ghost?

Only on self-hosted Ghost, and only with third-party adapters like the community Ghost-SMTP plugin. Ghost(Pro) is Mailgun-only. If ESP choice matters to you, that pushes you toward self-hosted.

Why did my open rate drop 30% after a Ghost update?

Ghost changed its open-tracking pixel behaviour around versions 5.x, and Apple Mail Privacy Protection continues to inflate then deflate opens inconsistently. Compare click rates over time — they are a more stable signal.

Is Promotions tab placement really a problem?

For a paid-subscription publisher, yes — Promotions placement typically cuts open rate in half compared to Primary inbox. For an ad-supported publisher with casual readers, it is less catastrophic but still worth fixing.
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