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 MarketplaceWhy 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:
- The answer is hard to find. One publisher asked about grandfathering and noted they "didn't see that in the docs" (Ghost forum, Aug 2025). A Ghost staff member replied that moving members to a new price is "doable inside of your Stripe interface."
- It works in Stripe, one member at a time. A well-known Ghost developer documented editing each subscription by hand in Stripe, and reported the result "looks perfect in Stripe and the Admin page" (Spectral Web Services; forum thread).
- Prorations catch people out. The same walkthrough warns to uncheck "prorate charges" or the member gets "a BIGGER than expected charge." Another publisher dropped a planned price increase altogether, citing "the lack of a way to easily update the subscriptions in Stripe" (Ghost forum, Jun 2023).
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
- Exactly one item per subscription. Ghost rejects subscriptions with more than one price item. Adding the new price alongside the old one breaks the sync, so the old price has to be replaced.
- Same product as the tier. Ghost maps a subscription to a tier through the price's Stripe product. A price on a product Ghost doesn't recognize can land the member on your default tier. Creating the price in Ghost Admin prevents this.
Your options, compared
| Leave them grandfathered | Edit each one in Stripe | Change Subscription Price App (recommended) | |
|---|---|---|---|
| Existing members pay the new price | Never | Yes | Yes |
| Effort for 500 members | None | 500 separate edits | One job per tier and interval |
| Keeps Ghost's one-item rule | — | Only if you replace, never add | Yes; always replaces the existing item |
| Surprise proration charges | — | Easy to miss a toggle | None; always no-proration |
| Record of what changed | — | None | CSV report per job |
Why use the Change Subscription Price App for Ghost
- Built by former Stripe Billing product managers and engineers. The app makes the smallest possible subscription change, which suits a platform like Ghost that syncs from Stripe webhooks.
- Replaces the price, never adds one, so Ghost's single-item rule holds for every member.
- Uses Ghost's own price, on the tier's own product, so members stay on the right tier.
- No prorations. Members pay the new price from their next renewal.
- Audited. Every job produces a CSV of every member it touched.
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 MarketplaceStep 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
- Complimentary members have no paid Stripe subscription.
- Members on an active Offer, if you promised them the discounted rate. Their Stripe discount stays through a price swap.
- Members on archived tiers, unless you mean to reprice those tiers too.
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 MarketplaceRead the app user guide first · Questions? contact@finrite.co