After migrating to Ghost, we wanted to share our experience with you. If you're currently using Substack for your newsletter, we hope this post will help you decide whether or not such a migration makes sense for you.
What's wrong with Substack?
Substack is a quick and easy way to start a newsletter, maintain an email list, and recruit paid monthly subscribers. It’s helped plenty of journalists do their own thing and raise money. It is, however, becoming problematic for several reasons:
- An increasingly large operation, Substack is currently raising $65 million in Silicon Valley venture capital funding.
- It has become a home for several prominent anti-transgender writers, allowing them to publish libelous content in violation of its own platform rules. Additionally, its verification-free signup method has enabled trolls to harass prominent trans people by signing them up for newsletters that attack them.
- Substack has recruited big-name writers from their jobs with six-figure cash advances while many Substackers struggle.
- In addition to the standard fees from payment processor Stripe, Substack takes a 10% cut of your contributions.
Nathan Tankus also left Substack for Ghost, and this essay about his decision is worth a read.
Our operations rely on the generosity of our supporters, for whom we wanted to provide the best possible reading experience. This meant selecting a platform that was fast, stable, and in line with our ethics and mission to support independent media.
What we sought was a purpose-built replacement for Substack to let us OptOut of any potential creepy tracking, OptOut of platform fees, and, most importantly, OptOut of corporate control.
For these reasons, we selected Ghost, an open-source content management system built by a fellow nonprofit.
Ghost has two options: a paid Ghost (Pro) version that requires no technical expertise, and a free, self-hosted setup. We discuss both below.
Ghost (Pro) users don’t need to worry about this, but DIYers will need to choose a web hosting service.
We’ve chosen to host our instance of Ghost on DigitalOcean, an "Infrastructure as a Service" provider. It provides primitive Linux-based servers for rent, giving us granular control over where our data is stored. At the time of this writing, our site resides in DigitalOcean’s NYC-3 datacenter.
As of June 2021, both versions of Ghost require two third-party services to function as a Substack replacement: Mailgun, for sending emails, and Stripe, for payment processing. Take this into account, as you will be subject to the legal policies of both companies. Ghost doesn’t support alternatives now, though we've reached out to the CEO and been told that support for others is in the works.
As your publication grows, the cost savings of Ghost become apparent rather quickly. Ghost is first and foremost software, not social media, and hence, there are no platform commission fees, unlike with Substack or Patreon.
There are still costs, of course. You pay Stripe's standard credit card processing fee of 2.9% + $0.30/transaction,* and like any web app, you’ve got to host it somewhere.
*Nonprofit charities may qualify for a reduced rate of 2.2% + $0.30/transaction.
The first-party SaaS offering, Ghost (Pro), is the simplest way to get started. Plans start at $9/mo for publications with 1,000 members or fewer, and scale up with volume and additional features. Newsletter emails are included with your subscription.
A small server with 2GB/RAM (~$10/mo) is a reasonable choice for starters. DigitalOcean offers a pre-made server image to get you off the ground, but be prepared to handle maintenance like software upgrades yourself. You’ll probably want to enable the automatic backups feature, so plan on $12/mo for web hosting with this configuration.
For newsletter emails, the costs depend on volume. A publication with 3,000 members that sends three or four emails per week can expect to shell out $35/mo for Mailgun’s “foundation” plan.
What am I getting myself into?
Ghost advertises itself as being for the “professional publisher.” This means, “have a front-end developer around if you use a different theme than the default.” The themes are, themselves, software; inevitably, they’ll contain bugs and security vulnerabilities, which need to be patched. Note that if you stick with the default theme, Casper, and don’t make any alterations to it, updates are provided automatically.
Ghost makes it easy to migrate your members from Substack.
First, connect your Stripe account to ghost at your-publication.com/ghost/#/settings/members. On the same page, you can choose your monthly and yearly pricing tiers for paid subscribers and set a “thank-you” page to redirect them to after subscribing.
Next, download lists of both your free and paid Substack subscribers. You can do this by visiting your-publication.substack.com/publish/subcribers and clicking the export list buttons under Total Email List and Subscribers. This should yield a pair of
Now, upload the
.csv files to Ghost. In a few minutes, you should get an email notification that the import is complete.
Finally, after importing your members, contact Substack to have the platform fees removed; otherwise, they will continue to take 10% of your revenue from existing subscribers.
Once Substack’s support team confirms the fees are gone, disconnect it from your Stripe account to prevent any new members from accidentally signing up in the wrong place.
Important: Don’t disconnect Substack from Stripe until this step is complete, as Substack won’t be able to remove the fees without access to your Stripe account.
Will my Substack members have to re-subscribe?
No. Existing paid memberships will continue without interruption. Members will be billed on the same plan they signed up for and can cancel or update their memberships any time through Ghost’s member portal. You should communicate this change to your members promptly through a newsletter email.
Moving your existing posts from Substack is a slightly more involved and technical process. Ghost (Pro) plans on the $25/mo tier and up include such migrations for free, but DIYers should check out this handy script we’ve written to migrate your content using Ghost's official tool.
If you have any questions, feel free to Tweet at us.