Migrate from Ghost to MailCheap

Export your subscribers from Ghost, import the file as it is, and send. MailCheap reads Ghost's statuses, so people who left stay out.

“Moved to MailCheap. Cancelled beehiiv / ActiveCampaign same weekend. $380/mo now $19.”

Bruce van Zyl@brucevanzyl

Bruce van Zyl's post on X
  1. 1

    Export your subscribers from Ghost

    1. 1.1In Ghost Admin, go to Settings, then Advanced, then Import/Export.
    2. 1.2Open the Export tab, click All data and keep Members checked.
    3. 1.3Download the zip (Ghost(Pro) emails you a link) and import the members CSV inside.

    Members who get no newsletter (subscribed_to_emails false) come in as unsubscribed, so they get nothing.

    Ghost's help: Exporting content and data

    members.csvExported from Ghost
    • emailEmail
    • subscribed_to_emailsGets your emails
    • created_atSignup date
  2. 2

    Import the file into MailCheap

    1. 2.1In MailCheap, open Contacts and click Import.
    2. 2.2Choose the file. MailCheap shows how many rows it read, and their statuses.
    3. 2.3Check Other columns: custom fields go into new fields on their own, the platform's own columns stay out.
    4. 2.4Tick "These people agreed to receive my emails", then click Import.

    MailCheap leaves out invalid addresses, role addresses (info@, support@…), throwaway inboxes, duplicates and addresses that bounced or complained before.

    Import contacts

    members.csv9,412 unique valid of 9,517 rows
    active 9,108unsubscribed 251bounced 53

    These people agreed to receive my emails

    After the import

    228 left out

    • invalid address41
    • role address (info@, support@…)87
    • throwaway inbox22
    • duplicate in the file64
    • unsubscribed, bounced or complained before14
  3. 3

    Send from your domain, or ours

    1. 3.1On Domains, add your domain and create the DNS records MailCheap shows: DKIM and a return path, plus DMARC if you have none.
    2. 3.2Until then, or for good, send from hello@your-newsletter.mailcheap.ai: it's set up for you, with no DNS to touch.

    news.yourdomain.comReady

    • CNAMEDKIM
    • CNAMEReturn path
    • TXTDMARC

    Or hello@your-newsletter.mailcheap.aiReady

  4. 4

    Send your first issue

    1. 4.1On Campaigns, write it in the editor, or ask your AI agent to.
    2. 4.2Add your postal address in the newsletter settings: every issue needs one.
    3. 4.3Send yourself a test, then send or schedule it.

    Your first send to imported contacts goes out in steps: 2% first, then 5% more 30 minutes later, then the rest, while bounces and complaints stay low.

    From a domain you already send newsletters with, everyone gets your first issue right away. A new domain sends to its first 2,000 Gmail readers on its first day and to the others the next day, since Gmail is careful with domains it doesn't know.

    Notes from a quiet monthSending in steps

    1. 2% firstGoes out now
    2. 5% more30 minutes later, with bounces under 2%
    3. The rest30 minutes after that

Comes with your list

  • Every email address
  • Who unsubscribed, bounced or complained: they get nothing
  • First names, tags and custom fields
  • Signup dates, opens and clicks, when the export has them

Stays on Ghost

  • Past issues and their stats
  • Your website and pages
  • Paid tiers and their members' access
  • Labels

Ready to move?

Questions about your export? Chat with us from your dashboard.

Get started

Other migration guides

Ghost is a trademark of its owner, shown here to name the product you move from. MailCheap isn't affiliated with Ghost. The export steps follow Ghost's help on October 13, 2026.