Substack

How to change Substack prices for existing subscribers

Why Substack grandfathers your current subscribers, and how to re-price them yourself · July 2026

The short version: When you raise your Substack price, only new subscribers pay it. Existing subscribers stay on their original rate, and Substack's own docs say the only way to change an existing subscriber's price is to ask Substack support, one at a time. But Substack runs payments through your own connected Stripe account, so you can re-price your existing subscribers directly in Stripe, in bulk, without emailing support at all.

Why your existing subscribers didn't get the new price

Substack sets price at signup. When you change your publication's price, the new rate applies to people who subscribe afterward, and everyone already subscribed keeps paying what they paid on day one, indefinitely, as long as they don't cancel and resubscribe. Substack's help docs are explicit that existing subscribers are grandfathered and that changing an existing subscriber's price has to go through their human support team. There's no self-serve, no bulk option.

The part that unlocks it: those subscriptions are in your Stripe account

To take payments on Substack you connected your own Stripe account (you can even connect a pre-existing one), Substack takes 10% on top of Stripe's fees, and you're the merchant of record with full access to your Stripe Dashboard. Each paid subscriber is a native Stripe subscription sitting in your account. Substack manages the reader experience, but Stripe is the system of record for billing, and you can edit those subscriptions.

Quick proof: open a paid subscriber in your Stripe Dashboard and try Update subscription. If Stripe lets you change the price, you own these subscriptions and can re-price all of them without waiting on support.

How to re-price existing Substack subscribers

A Stripe price is immutable, so you create a new price and move each subscription onto it:

  1. Create the new price on the same product in Stripe.
  2. Update each subscriber's subscription to that price, with proration_behavior: none so nobody is charged mid-cycle, or schedule it for their next renewal.
stripe.subscriptions.update("sub_123", {
  items: [{ id: "si_123", price: "price_newRate" }],
  proration_behavior: "none",
});

For more than a handful, plan for safe batching (small batches, retries on rate limits, pagination, a way to reverse), and run it in Stripe test mode first. (Here's the detail on proration_behavior and create_prorations.)

Does this break Substack?

Re-pricing keeps the same subscription and billing date, and Substack reads each subscriber's status from Stripe, so their access continues and they simply bill the new amount at renewal. Two honest cautions: re-price one subscriber first and confirm it holds through their next renewal before doing the rest, and handle founding-member, annual, or comped tiers carefully, Substack treats some of those specially, so review them rather than bulk-changing blindly. Moving a subscriber back to the old price reverses the change if anything looks off.

Doing it without a script

Creating a price and looping updates over every subscriber with batching, retries, and a rollback is a script you have to write, test, and babysit, and the alternative is emailing Substack support one subscriber at a time. If you'd rather do neither, PricePilot Migrate Pro does it from the browser: connect with a restricted Stripe key, preview which subscribers change and the MRR impact for free, exclude anyone renewing before a date you pick (or trialing, discounted, or hand-picked), choose your timing, and run it in safe batches with a one-click reverse. It works on native Stripe subscriptions, including the ones Substack, beehiiv, Ghost, Paid Memberships Pro, and MemberPress create.

Re-price your Substack subscribers without emailing support

Preview every affected subscriber and the MRR impact for free, then run it in safe batches with a one-click reverse. Test mode is free end to end.

Open Migrate Pro →

Frequently asked questions

Can I change the price for existing Substack subscribers?

Not self-serve in Substack (it only re-prices new subscribers, and existing ones require contacting support). But yes in Stripe, because your Substack subscriptions are native Stripe subscriptions in your own account.

Will changing the price in Stripe break my Substack?

No. Access is tied to the Stripe subscription's status, which is unchanged. Test on one subscriber first, and review founding or comped tiers separately.

How do I avoid charging subscribers mid-cycle?

Use proration_behavior: none or schedule the change for the next billing cycle. Both bill the new amount at renewal with no prorated charge now.

Related guides