Mailchimp vs Ghost: when a publishing platform fits better than email marketing
Ghost fits better when the newsletter is part of a publication, and Mailchimp fits better when email is a marketing channel among many. A publisher with a Mailchimp newsletter or paid membership should ask whether articles, members, paid subscriptions and the newsletter belong in one place. Mailchimp is built around audiences, tags, templates and campaign sends, which suits broad marketing, e-commerce event data and audiences that are not readers of a publication. Those strengths matter if your email list is mostly customers, prospects or product users rather than subscribers to your writing.
Ghost is a publishing platform with *members*, paid subscriptions and newsletters built in, so the site, the paywall and the email share one data model. The Ghost comparison page says memberships, paid subscriptions and newsletters are included without extra plugins, and that Ghost takes no transaction fee on paid subscriptions. Stripe processing fees still apply, so confirm the payment cost with your finance team before comparing it with what you pay now. Ghost is open source under the MIT license and can be self-hosted, or run through Ghost(Pro) on a plan listed on the pricing page.
Before you decide, check the migration limit. Ghost's Mailchimp migrator imports subscribers as Ghost members, but Ghost states it is not currently possible to migrate Mailchimp content, so your past campaigns and automations will stay behind. Read the Ghost Mailchimp migration guide and plan how you will rebuild posts and welcome sequences. The decision turns on whether content, membership and newsletter should live in one publication. If they should, Ghost is the stronger fit. If the email list is a marketing database that also needs automation, compare the options in the Mailchimp sibling pages.
Which option fits which publishing scenario
This table matches four common Mailchimp use cases to the platform that fits best and the reason, based on the built-in features and scope each product covers. Read it by finding the row closest to your publication, then checking the reason before comparing costs or migration effort.
| Scenario | Better fit | Reason |
|---|---|---|
| Newsletter-only publisher with no paid tier | Ghost or listmonk | Ghost bundles newsletters with a publishing site, while listmonk is a focused mailing list manager. Choose Ghost if you also want a website and archive. |
| Paid membership or paid subscription publication | Ghost | Memberships, paid subscriptions and newsletters are built in, and Ghost takes no transaction fee on paid subscriptions, though Stripe processing fees still apply. |
| Broad marketing automation across lead scoring, forms and campaigns | Mautic | Mautic is built for multi-step marketing automation, while Ghost focuses on publishing, members and newsletters, so Ghost does not replace that scope. |
| Subscriber data must stay in your own cloud account | Ghost (self-hosted) or listmonk | Both can run on infrastructure you control. Ghost(Pro) is hosted by Ghost, so confirm data location requirements before choosing it. |
| Moving existing Mailchimp content such as past newsletters | Plan a manual rebuild | Ghost's Mailchimp migrator imports subscribers as members, but Ghost states Mailchimp content cannot currently be migrated. |
| Team with an existing WordPress site moving to Ghost | Ghost, with a separate subscriber import | Ghost's WordPress import handles posts, but subscribers still come from Mailchimp through the Mailchimp migrator. |
| Self-hosting with minimal operations staff | Ghost(Pro) or a managed host | Ghost-CLI installs need Node.js, MySQL, NGINX and systemd, so ask whether your team can run them or whether a hosted plan suits you better. |
| Organization needing web analytics in the same install | Ghost with Docker Compose | Ghost-CLI installs do not support Ghost's web analytics, so the Docker Compose install is the documented route for that feature. |
Ghost(Pro) or self-hosted Ghost: which hosting model fits
Ghost(Pro) is the hosted version run by the Ghost team, so server setup, upgrades and hosting operations sit with the vendor. Ghost's pricing page lists Starter at $18 per month (1 staff user, 1,000 members), Publisher at $29 per month (3 staff users) and Business at $199 per month (15 staff users), billed yearly, with custom plans above those. The tier limits on staff users and members are the main cost drivers, so model your member count against them before you commit.
- Fixed monthly tiers: Costs are set by staff user and member limits, billed yearly, with custom plans for larger publications.
- No server work: Hosting, updates and the database are handled by the vendor, which suits teams without DevOps capacity.
- Payments: Ghost takes no transaction fee on paid subscriptions, but Stripe processing fees still apply, so budget for them separately.
- Migration support: Ghost points larger WordPress migrations to its own migrations team, a service to ask about in writing.
- Less control: You depend on the vendor's hosting region, maintenance windows and plan limits.
Confirm current tier limits, member counting rules and any custom plan terms on the pricing page before you model costs.
Self-hosting runs Ghost on your own Linux server through Ghost-CLI, which is the install path in Ghost's Ubuntu guide. The guide lists Ubuntu 22.04, 24.04 or 26.04, a supported Node.js version (the example uses Node 22), MySQL 8.0 or 8.4, NGINX 1.9.5 or later, systemd and at least 1 GB of RAM. Your team then owns patching, backups, TLS, mail delivery and uptime, and the license cost is zero because Ghost is MIT licensed.
- Stack requirements: Node.js, MySQL, NGINX and systemd must all be supported versions, and each needs its own patch process.
- Memory floor: The guide's minimum is 1 GB of RAM, but production sizing depends on traffic and member volume.
- Ghost-CLI limit: Ghost-CLI installs do not support Ghost's web analytics.
- Docker Compose path: Ghost documents a separate Docker Compose install for self-hosting web analytics or the ActivityPub service.
- Recurring work: Infrastructure, backups, monitoring and upgrades recur, and each Ghost minor release needs a test cycle.
Ask your implementation partner or internal team to confirm the install path matches the features you need before the server is built.
The right model depends less on feature parity and more on who will operate the publication and which optional services you need. Both models run the same core Ghost product, so newsletters, memberships and paid subscriptions behave the same way in either place. The difference lies in operations, data control and the install path for analytics or ActivityPub.
- Small editorial team, no ops staff: Ghost(Pro) usually fits, because the tiers bundle hosting and maintenance.
- Data residency or internal hosting rules: Self-hosting keeps member records on infrastructure you choose.
- Need for web analytics or ActivityPub: Plan for Docker Compose instead of Ghost-CLI if these features are required.
- Existing platform team: Self-hosting can reuse your current database, backup and monitoring tooling.
- Hybrid option: Some teams start on Ghost(Pro) and move later, but confirm export and import steps with both vendors first.
Before choosing, write down your staff user count, member forecast and required optional services, then compare them with the tier limits and the install requirements.
Compare the two models by component, not by headline price. Ghost(Pro) bundles software, hosting and maintenance into a subscription, while self-hosting moves those costs to your payroll, cloud account and vendor contracts. Ghost's software license carries no fee in either case, so the comparison centers on infrastructure, labor and payment processing.
- Ghost(Pro): Recurring tier fees, plus Stripe processing fees on paid subscriptions.
- Self-hosted infrastructure: Recurring server, storage, backup and bandwidth charges from your cloud or data center provider.
- Self-hosted labor: Initial install and hardening are one-time work, while patching, monitoring and upgrades recur.
- Email delivery: Ghost's newsletter sending depends on a transactional mail service in either model, so confirm how that service is billed.
- Cost drivers: Member count, staff user count, traffic and the number of optional services you run.
When requesting a quote from a partner, ask for a written scope that separates one-time setup, recurring operations and any upgrade or support retainer.
Before committing to either model, verify the points that change between deployments. Confirm supported operating system versions, Node.js and MySQL versions against Ghost's current install guide, since the listed versions are the ones documented today. Check whether your publication needs analytics or ActivityPub, because those choices decide the install path. Test the migration of your Mailchimp subscribers into Ghost members in a staging environment before the cutover date.
- Versions: Confirm the supported operating system, Node.js and MySQL versions in the install guide before building.
- Feature needs: Decide now whether web analytics or ActivityPub are required.
- Staff and member counts: Compare your forecast against the tier limits on the pricing page.
- Operations ownership: Name the person responsible for backups, upgrades and incident response.
- Mail and payment services: Confirm the sending service and Stripe fees in your model.
Write these answers into your scope document so that any quote or internal decision references the same assumptions.
Where subscriber data lives and who controls it
Moving from Mailchimp to Ghost changes more than the newsletter tool. Member records, the sending path, admin access, payments and vendor continuity each move to a different party, so each needs a named owner before cutover. The cards below list the decisions that matter most for a publisher with paying members.
Where member records sit
In a self-hosted Ghost install, members, their subscription status and their content access live in the MySQL database on your own server or cloud account. In Ghost(Pro), the same records are held by the Ghost team as a hosted service. Either way, confirm which regions store backups, how long deleted members remain in backups, and who can export the full member list. Ask for this in writing before you import anything.
Email sending path
Ghost sends newsletters through a configured mail service rather than from its own mail servers. The sending provider you choose becomes a processor of your subscriber addresses, engagement events and bounce data. Decide whether that provider will be a new contract or your existing email account, and confirm that bounce and complaint handling moves with the list, since suppressed addresses from Mailchimp are not carried over automatically.
Identity and admin access
Ghost Admin accounts, staff roles and Custom Integration keys are the new control points that replace Mailchimp user seats. Keep the number of owner accounts small, enforce strong authentication for each one, and rotate Content API keys when staff change. Ghost's Content API is read-only and returns JSON, so a leaked key exposes published content and not the member list, but the Admin side still needs tight control.
Stripe as a separate processor
Paid subscriptions in Ghost run through Stripe, which becomes a second processor holding cardholder and billing data. Ghost does not take a transaction fee on paid subscriptions, but Stripe processing fees still apply, and those fees and the account that receives payouts are your own arrangements. Confirm with Stripe and your legal team how payment data, tax handling and refunds are covered before members are moved onto Ghost billing.
Vendor continuity and licensing
Ghost is licensed under the MIT license and describes itself as an independent non-profit organisation that reinvests its revenue into the product. A self-hosted copy stays usable if the company changes direction, because you hold the code and data. Ghost(Pro) depends on the company's continued operation, so ask how export of your full site and member data works on request and what notice you would receive.
Compliance evidence and processing terms
DeployOpen prepares configuration, access records, backup procedures and change logs that support a compliance assessment, but independent auditors issue any report or certification. Your data processing agreements with Ghost(Pro) or your own vendors, your lawful basis for each member list and your retention schedule are decisions for your legal and privacy teams. Confirm all processing terms with your legal team before cutover, and keep evidence of consent for every imported contact.
What Ghost's Mailchimp migrator imports and what it cannot
Ghost Admin includes a Mailchimp migrator that imports subscribers as Ghost members, and Ghost states that it is not currently possible to migrate Mailchimp content. Plan the move as two separate jobs: moving your people, and rebuilding everything you published or automated in Mailchimp. Only the first job has tooling behind it. Treat the migrator as a subscriber import, not a platform transfer. Campaign archives, email templates, automations, tags and engagement history do not come across through the migrator. Past newsletters must be republished as Ghost posts or kept in a separate archive, and any welcome series or drip sequence has to be rebuilt in Ghost's own tools. Mailchimp tags and segments also need a decision: map the ones that matter to Ghost labels or tiers, and drop the rest. Opens and clicks are not a basis for future segmentation in Ghost unless you confirm exactly what engagement data the import retains.
Before you run the import, export your Mailchimp audience and open the file to check which subscriber fields exist and how consent is recorded. Confirm with Ghost's documentation, at Ghost's Mailchimp migration guide, which fields map to Ghost members and whether any consent or opt-in timestamp survives. Keep the original Mailchimp export and its consent records in your own archive so you can answer questions about how each person subscribed. Do not confuse this with the WordPress path. Ghost's WordPress migration handles up to 2,500 posts from an XML file of up to 100 MB and maps WordPress categories to Ghost tags, but that limit applies to WordPress content, not Mailchimp. For large or complex moves, Ghost points to the open-source TryGhost/migrate toolkit or to Ghost(Pro)'s migrations team, so ask those options about your Mailchimp archive directly.
Cost components: Mailchimp subscription versus Ghost
What does a Mailchimp subscription cost compared with Ghost?
Mailchimp bills by contact tier, so the subscription grows as your audience grows, and the exact figure depends on your current plan and contact count, which you should confirm on Mailchimp's own pricing page. Ghost(Pro) is billed as a monthly or yearly plan with limits on staff users and members. The Ghost(Pro) pricing page lists Starter at $18 per month with 1 staff user and 1,000 members, Publisher at $29 per month with 3 staff users, and Business at $199 per month with 15 staff users, billed yearly, plus custom plans. Compare your current contact count against those limits before you compare totals.
Which Ghost(Pro) tier fits my member and staff counts?
Start with two numbers: how many people on your team edit or publish, and how many members or subscribers you expect to hold. The Starter, Publisher and Business tiers differ mainly in staff users and member limits, and custom plans cover larger publishers. Ask Ghost how member counts are measured, including free and paid members, and whether a higher tier is billed immediately or at renewal. Ghost publishes these terms on its pricing page, so confirm current figures there rather than relying on older comparisons.
What does self-hosting Ghost cost to run each year?
Self-hosting moves the subscription cost into infrastructure and administration. Recurring costs include the server or cloud instance, backups, domain and TLS certificates, and the time someone spends keeping Node.js, MySQL, NGINX and the Ghost version current. Ghost's Ubuntu install guide lists supported Ubuntu releases, a supported Node.js version, MySQL 8.0 or 8.4, NGINX 1.9.5 or later and at least 1 GB of RAM, installed through Ghost-CLI. Ghost-CLI installs do not include web analytics, which needs the separate Docker Compose install. Ask your engineers to estimate these costs from your own environment and load.
Do Stripe fees apply when I sell paid subscriptions on Ghost?
Yes. Ghost states that it takes no transaction fee on paid subscriptions, but Stripe processing fees still apply to each charge. Those fees are paid to Stripe under your own account, so they recur with every payment regardless of whether you host Ghost yourself or use Ghost(Pro). Model them against your expected paid member count and average price, and confirm the current Stripe rates for your country and payment types directly with Stripe.
What one-time costs come with moving from Mailchimp to Ghost?
One-time costs usually include staff time to export audiences, check consent records, map tags and rebuild newsletter templates, plus any theme design or site setup. Ghost's Mailchimp migrator imports subscribers as Ghost members, but Ghost states it is not currently possible to migrate Mailchimp content, so articles, templates and automations are rebuilt by hand. Plan for a test import, a review of which subscribers are opted in, and a cutover window. The effort depends on how many campaigns and automations you keep.
What does DeployOpen's implementation scope include and how is it priced?
DeployOpen plans, implements, customizes, integrates, hardens, backs up, upgrades, documents and supports self-hosted open-source platforms in your own infrastructure. Most engagements are fixed-scope, with the scope, deliverables and timelines agreed in writing before work starts. DeployOpen does not publish a price list, and a quote follows from the written scope. Ask for the scope to list the server build, Ghost configuration, theme work, member import, Stripe connection, backups, upgrade handling and handover documentation, so each item can be priced separately.
What recurs after launch and who pays for it?
Recurring costs fall into three groups: infrastructure, software upkeep and people. Infrastructure includes hosting, storage, backups and the domain. Software upkeep covers Ghost minor releases, which ship frequently, plus operating system, Node.js, MySQL and NGINX updates. People cover the staff member who publishes content and the administrator who applies updates and watches backups. If you choose Ghost(Pro), most infrastructure and upkeep moves into the subscription, while Stripe fees and staff time remain. Ask any provider which of these items the quote includes and which stay with your team.
How a move from Mailchimp to Ghost unfolds
The sequence takes a publisher from a Mailchimp audience with known consent status to a self-hosted Ghost site where members, newsletters and paid subscriptions run from one place, with Mailchimp kept as an archive. Each step ends with a check you can run before moving on.
Inventory audiences, consent and paid plans
The publisher, with whoever owns the Mailchimp account, lists every audience, segment and tag that matters, along with the consent basis for each group and any subscribers who pay through another tool. Confirm which records came from double opt-in, which came from imports and which are suppressed. The output is a written inventory that states what each group is allowed to receive in Ghost. Do not move any list until this inventory is signed off by whoever is accountable for consent records.
Export subscribers and campaign history
Someone with an owner or admin role in Mailchimp exports each audience and the campaign archive. Check the export against the inventory: row counts, consent fields and status columns should match what the account shows. Ask Mailchimp support or read its current documentation to confirm which fields and engagement data the export contains and whether any export window applies. Keep the original files in controlled storage, because they are the only complete record of the source data.
Decide the Ghost hosting model
The team chooses between Ghost(Pro), the hosted service from the Ghost team, and a self-hosted installation in its own cloud account or data center. Self-hosting means the publisher or an implementation partner runs the server, database, mail configuration, backups and upgrades. Confirm the Node.js, MySQL and NGINX versions the chosen install method requires, and whether the team needs the Docker Compose path for web analytics or ActivityPub. The output is a recorded decision with an owner for operations.
Run the Mailchimp migrator and review the result
An administrator opens Ghost Admin and runs the Mailchimp migrator, which imports subscribers as Ghost members. Compare the imported member count and email addresses with the export, and check that each member's status matches the consent inventory. Note what the migrator does not carry over, such as campaign content, so the team knows which parts must be rebuilt by hand. Done means a reconciliation sheet shows no unexplained differences.
Rebuild posts, newsletters and templates
Ghost states that migrating Mailchimp content is not currently possible, so editors recreate the newsletter templates, recurring sections and any archive worth keeping as Ghost posts or newsletter layouts. Work from the campaign archive export and the inventory, and keep only issues the publisher wants public or available to members. Test each template in a sending preview and on mobile before the first live issue. The check is an approved sample issue for each recurring format.
Configure memberships, tiers and Stripe
If the publisher charges for content, the team sets up membership tiers, pricing and the Stripe connection in Ghost Admin. Ghost's comparison page describes memberships, paid subscriptions and newsletters as built in and says Ghost takes no transaction fee on paid subscriptions, while Stripe processing fees still apply. Confirm current plan limits and fees with Ghost and Stripe before committing. The output is a test purchase, renewal and cancellation completed in test mode, with the access rules checked for each tier.
Set sending domain and deliverability
The team configures the sending domain, authentication records and mail transport that Ghost uses for newsletters, then sends seed messages to test inboxes across the major providers the audience uses. Because the imported list came from another sender, the publisher should expect reputation to rebuild gradually and should watch bounces and complaints closely. Confirm the mail provider's terms and limits in writing. Done means seed tests land in the inbox and the first live sends have acceptable bounce and complaint rates.
Cut over signup forms and archive Mailchimp
The publisher replaces Mailchimp signup forms and embeds on the website with Ghost signup links or embeds, then removes the old forms and redirects links that pointed to Mailchimp landing pages. Once the new flow has run for a agreed period and sends are stable, the Mailchimp account is set to read-only or closed according to the publisher's retention policy. Keep the export files, consent records and reconciliation sheets with a named owner. The check is a written sign-off that Mailchimp is no longer the system of record.
Questions publishers ask before switching from Mailchimp to Ghost
How much effort does a Mailchimp to Ghost move take?
The effort depends mostly on how many subscribers you have, how much of your content must move, and how much of your paid setup you rebuild. The Mailchimp migrator in Ghost Admin imports subscribers as Ghost members, so the audience move itself is usually the simplest step. Campaign history, email templates and automations do not come across, so you will recreate newsletter layouts and any welcome sequences in Ghost. Before you plan, confirm with Ghost and your own export how your list is structured, including tags, consent fields and any segments you rely on for sending.
Can our team migrate from Mailchimp to Ghost without outside help?
A small team with one administrator can usually import the subscriber list and set up a newsletter on Ghost(Pro) without outside help, since the hosted option removes server work. Self-hosting adds tasks that need technical skills: installing Ghost through Ghost-CLI on a supported Ubuntu release, running MySQL, configuring NGINX and systemd, and keeping the system patched. Confirm internally who will own those tasks after launch. DeployOpen plans, implements and documents self-hosted platforms in your own infrastructure under a written, fixed scope if you prefer that help.
What does a Ghost migration need from our team?
Plan for four groups of people and access. Content owners decide which posts, pages and sign-up forms move and who approves the new design. Whoever controls DNS must point the publication domain and mail records to the new setup. Finance or the account owner must create a Stripe account if you plan to sell paid subscriptions, since Stripe processes those payments. A server administrator is needed only for self-hosting. Ask whoever will run the project to write down these owners and access requirements before the first import.
Does the Mailchimp migrator keep our campaign history?
No. Ghost's Mailchimp migrator imports subscribers as Ghost members, and Ghost states that it is not currently possible to migrate Mailchimp content. Past campaigns, open and click reports and template designs stay in Mailchimp. Keep an archive of those sent emails and reports before you close or downgrade your Mailchimp account, and check Mailchimp's own export options for the reports you need to keep for records. Plan to re-enter any content you want to republish on Ghost as new posts.
Does Ghost charge a transaction fee on paid subscriptions?
Ghost states that it takes no transaction fee on paid subscriptions. Ghost's comparison page lists memberships, paid subscriptions and newsletters as built in without extra plugins. You still pay payment processing fees to Stripe, which Ghost does not set. Check the current terms on Ghost's pricing and comparison pages before you commit, because the details of plans can change over time.
What do Stripe fees and hosting cost actually depend on?
Your total cost depends on different components. Stripe fees depend on your Stripe agreement and the volume and type of payments you process, so ask Stripe for your rates. On Ghost(Pro), the monthly cost depends on the plan: Ghost's pricing page lists Starter at $18 per month for 1 staff user and 1,000 members, Publisher at $29 per month for 3 staff users, and Business at $199 per month for 15 staff users, billed yearly, plus custom plans. Self-hosting replaces that subscription with server, backup, email delivery and administration costs, which depend on your cloud provider, membership size and team time. Ask for a written breakdown of each component.
Is self-hosting Ghost cheaper than Ghost(Pro) for our publication?
Self-hosting can reduce subscription spending but moves cost into infrastructure and staff time. Ghost is MIT licensed, so the software itself carries no license fee. Your costs then include a server that meets Ghost's documented requirements, which list a supported Ubuntu release, a supported Node.js version, MySQL 8.0 or 8.4, NGINX, systemd and at least 1 GB of RAM, plus backups, monitoring, updates and a transactional email provider for newsletters. Compare those recurring costs against the Ghost(Pro) plan that fits your staff and member counts. Keep in mind that Ghost-CLI installs do not include web analytics, which needs a separate Docker Compose setup.
How DeployOpen helps publishers evaluate and move to Ghost
DeployOpen plans, implements, customizes, integrates, hardens, backs up, upgrades, documents and supports self-hosted open-source platforms inside your own cloud accounts, data centers or air-gapped networks. For a Mailchimp to Ghost move, we start with a written scope that separates what the Mailchimp migrator can import from what has to be rebuilt by hand.
How we scope
- Inventory your Mailchimp audiences, consent records, tags and any paid tiers you plan to replace with Ghost memberships
- Decide between Ghost(Pro) and a self-hosted install, including who runs the server, backups and upgrades
- Agree in writing which content, templates, automations and Stripe connections are in scope before work starts
How we build
- Install Ghost on your chosen infrastructure, with the Node.js, MySQL, NGINX and systemd requirements confirmed for your environment
- Run the Mailchimp subscriber import into a test instance and reconcile member counts against the source export
- Rebuild newsletter templates, membership tiers and paid subscription settings, and document each step taken
How we hand over
- Deliver a runbook covering installation, configuration, backups, upgrades and the Ghost-CLI or Docker Compose setup used
- Document the migration log, including which subscribers, tags and content were imported and which were rebuilt
- Walk your staff through member management, newsletter sending and paid subscription administration before cutover
How we support
- Ongoing support, upgrades and continuous testing are available as a retainer after handover
- Retainers can cover Ghost version upgrades, backup checks and security testing of the public site and APIs
- Confirm with us during scoping which parts of ongoing operations sit with your team and which sit with DeployOpen

