Stripe price change guides

How to change Ghost membership prices for existing members

Changing a tier price in Ghost Admin only affects new members. Here's how to move existing paid members to it in bulk, within the two Stripe rules Ghost depends on.

7 min read · By , Founder · Updated

Short answer

A Ghost tier price change only applies to new members. To move existing paid members, change the price in Ghost Admin first, then move their Stripe subscriptions onto that price with the Change Subscription Price App, a Stripe App built by former Stripe Billing product managers and engineers. It replaces the price on each subscription's single item with no prorations, which is exactly the kind of change Ghost's Stripe sync picks up, so each member's plan amount and your MRR update in Ghost.

Change Subscription Price App — by FinriteUpdate a price across all your Stripe subscriptions from the dashboard, in bulk. Built by former Stripe Billing product managers and engineers.

View on Stripe Marketplace

Why existing Ghost members kept their old price

Each Ghost tier has a monthly and a yearly price, billed through the Stripe account you connected in Ghost Admin. When you edit a tier's price, Ghost uses a new Stripe price for new signups. Existing members' subscriptions still point at the price they signed up on, so they keep renewing at it. Ghost has no "move existing members" option.

What Ghost publishers run into

This question comes up regularly on the Ghost forum, and the same themes keep appearing:

So the Stripe route works, but it's slow and easy to get wrong by hand. The Change Subscription Price App removes both problems.

How Ghost reacts to changes in Stripe

Ghost subscribes to Stripe's subscription webhooks. When a member's subscription changes, Ghost re-reads it from Stripe, matches the price's product to one of your tiers, and updates the member's plan amount, currency and MRR. So a price change made in Stripe does show up in Ghost Admin, but only if it follows two rules from Ghost's code:

Two rules for Ghost

Your options, compared

Leave them grandfatheredEdit each one in StripeChange Subscription Price App (recommended)
Existing members pay the new priceNeverYesYes
Effort for 500 membersNone500 separate editsOne job per tier and interval
Keeps Ghost's one-item rule—Only if you replace, never addYes; always replaces the existing item
Surprise proration charges—Easy to miss a toggleNone; always no-proration
Record of what changed—NoneCSV report per job

Why use the Change Subscription Price App for Ghost

Change Subscription Price App — by FinriteUpdate a price across all your Stripe subscriptions from the dashboard, in bulk. Built by former Stripe Billing product managers and engineers.

View on Stripe Marketplace

Step by step

1. Change the price in Ghost Admin

Go to Settings → Membership → Tiers, edit the tier, and set the new monthly and/or yearly price. Ghost's help docs say tier prices should always be changed in Ghost Admin, not Stripe. Each tier has one currency, so there's one monthly and one yearly price to migrate per tier.

2. Tell your members

Ghost has no price-change email, but you have a newsletter. Send a post to paid members only with the new price, the date, and the reason. A time-limited Offer on annual plans gives members a way to lock in before the change.

3. Install the app in the Stripe account connected to Ghost

Install the Change Subscription Price App. Because Ghost created these subscriptions, the app asks you for a restricted API key. Stripe doesn't let another app modify them otherwise. The user guide covers setup.

4. Run a small test batch

Move a few members from the tier's old price to its new price for the same interval, then reload them in Ghost Admin. You should see the same tier with the new price.

5. Run the full job

One job per tier and interval, run on the date given in your announcement.

6. Check the report and your MRR

Download the job's CSV, re-run any failures, and watch Ghost's MRR chart update as the webhooks arrive.

Members to leave alone

Frequently asked questions

Does changing a tier price in Ghost update existing members?

No. A new tier price applies to new signups. Existing paid members keep renewing at the price they subscribed at, and Ghost has no built-in way to migrate them.

How do I move existing Ghost members to the new price?

Change the price in Ghost Admin, then move existing Stripe subscriptions onto the price Ghost created. The Change Subscription Price App does this in bulk by replacing the price on each subscription's existing item, which is what Ghost's sync expects.

Will Ghost notice if a member's price changes in Stripe?

Yes. Ghost listens for Stripe subscription webhooks, re-reads the subscription, and updates the member's plan amount and MRR, as long as the subscription still has exactly one item and the new price is on the tier's Stripe product.

Should I create the new price in Stripe or in Ghost?

In Ghost. Ghost's help docs say tier prices should always be adjusted in Ghost Admin rather than in Stripe. That puts the new price on the tier's own Stripe product.

Do complimentary members need to be migrated?

No. Comped members are managed in Ghost and have no paid Stripe subscription.

Who makes the Change Subscription Price App?

Finrite, a team of former Stripe Billing product managers and engineers. It's listed on the Stripe App Marketplace and runs inside your Stripe Dashboard.

Related guides

Move your Ghost members to the new tier price

The Change Subscription Price App swaps the price on each member's subscription in the Stripe account connected to Ghost, with no prorations and a report of every change.

Install from the Stripe App Marketplace

Read the app user guide first · Questions? contact@finrite.co