Revenue Subscriptions

Raising Subscription Prices Without a Churn Spike

12 min read

Every subscription brand raises its prices eventually. Costs go up, the offer improves, or the pricing was simply set too low three years ago and nobody has touched it since. What almost never gets planned properly is the sequence: who sees the new price first, how far apart the cohorts sit, and what happens the moment someone notices a bigger number on their bank statement.

Most brands do it the worst possible way. One price, live for everyone, on one date, announced in an email that sits unread in a promotions folder. The first the subscriber hears of it is the charge notification from their bank. That is not a pricing decision. That is a churn event with a price increase attached to it.

In the increases we have run with clients, the ones that hold retention are never the ones with the most generous notice period. They are the ones with the right sequence — new customers before existing ones, notice in more than one place, and a measurement plan that already knows what a normal month looks like before the price changes anything.

1 cycle

The minimum gap we run between the new price going live on the acquisition funnel and the first existing subscriber ever seeing it. Shorter than that and you cannot tell your conversion cost apart from your retention cost when the numbers move.


The first fork: are you grandfathering?

Before you touch a sequence, a banner, or an email template, answer one question: will existing subscribers keep their current price indefinitely, or will they move to the new price on a schedule? Everything downstream depends on this answer, and it is usually made by accident — nobody decides it, the price change just ships, and three years later someone in finance discovers the business is quietly running two price books with no record of why.

Grandfathering is not a courtesy. It is a data decision. Every subscriber you grandfather is a permanent branch in your price book — a segment your reporting, your margin analysis and your support macros all need to know about for as long as that cohort exists, which for a low-churn product can be years. Decide it deliberately, in writing, before you build anything else.

We say "decide it deliberately" because in most of the messy increases we get called in to look at, nobody actually made this choice. A developer changed the price on the existing selling plan because that was the fastest way to ship the ticket, and grandfathering happened to whoever the deploy missed rather than to whoever the business intended. That is how a brand ends up with three different prices live on the same plan two years later and no record of which cohort is which.

Both branches share one rule: the acquisition funnel moves first. What differs is whether existing subscribers ever cross over to the new price.

Notice that both branches converge on the same first move. That is not a coincidence — it is the single rule that matters more than the grandfathering decision itself, and it is the one most brands skip.

The two branches are not equally hard to run, and it is worth being honest about that before you pick one on principle. Grandfathering is the kinder option to communicate — nobody currently paying gets a higher bill, which removes almost all of the retention risk this whole playbook exists to manage. It is also the option that quietly compounds cost. Two price books is not a one-off inconvenience; it is a standing tax on every piece of reporting, every discount stack, every support macro and every finance reconciliation you run for as long as that grandfathered cohort survives, and for a genuinely sticky product that can be measured in years, not months.

Dimension Grandfather existing subscribers Migrate everyone on a schedule
Retention risk at launch Low — nobody currently paying sees a higher bill Present, but manageable if staged by cohort
Reporting complexity Two price books, indefinitely, until the last legacy subscriber leaves One price book, restored within one migration window
Revenue capture Deferred indefinitely on the legacy cohort Full increase realised across the whole base within months
Support load Low at launch, but every future edge case ("why is my price different to my friend's") lingers for years Concentrated in the migration window, then gone
Best fit Small base, strong loyalty economics, or a brand-trust position built partly on "we never raise your price" Larger base, cost-driven increase, or a product where the price gap has become genuinely unsustainable

Neither column is objectively correct. The point of writing this down before launch is that the choice becomes deliberate rather than accidental.

Mechanically, on Shopify subscription platforms this usually means running the new price as a second selling plan or a new plan version, rather than editing the existing plan's price in place. Editing in place changes the price under every subscriber attached to that plan simultaneously, which removes your ability to sequence anything — new customers and existing customers are on the same plan, so they move together whether you intended that or not. A second plan, with existing subscribers migrated onto it deliberately, is what actually gives you the staged rollout this playbook depends on.

This is a five-minute platform configuration choice that determines whether everything else in this piece is even possible to execute. Confirm it before you touch the price field, not after the first cohort has already moved.


New cohorts first, existing cohorts later

Put the new price on the acquisition funnel first, and leave it there for at least one full billing cycle before a single existing subscriber sees it. This sounds obvious once stated and is almost never done, because the instinct is to change the price everywhere at once — it feels tidier, and it is a single deploy instead of two.

The reason to split it is that a price increase carries two separate risks, and they show up on completely different populations. On the acquisition funnel, the risk is conversion: does the new price still clear your target cost per acquisition, does add-to-cart hold up, does the offer still read as fair against the competitors a prospect is comparing you to. On the existing base, the risk is retention: does a subscriber who is already comfortable with your product decide the new number is where they get off.

You cannot separate those two questions if you change both populations on the same day, because a bad month of new-customer conversion and a bad month of retention will land in the same reporting window and you will not know which lever to pull. Sequencing them means you learn the cheaper lesson — the conversion cost — before you risk the expensive one.

The five-phase rollout

1

Week 0

New price live on funnel

Existing subscribers are unaffected and unaware.

2

Weeks 1–4

Watch conversion cost

One full billing cycle of new signups at the new price, measured against your pre-read.

3

Week 5

Notify the existing base

Email, portal banner and order-confirmation line go live together, ahead of any charge.

4

Weeks 6–9

Staged migration

Existing subscribers move onto the new price in signup-date batches, not all at once.

5

Ongoing

Pause valve stays open

Skip or pause offered at the moment of first charge at the new price, for a fixed window.

Batching the migration by signup cohort means a problem in batch one shows up before batches two through five have shipped.

The staged migration in phase four is worth dwelling on. Rather than moving every existing subscriber onto the new price on the same date, move them in bands — earliest signup date first, or highest-tenure first, whichever cohort you are most confident will absorb the change well. If the first band's cancelation rate holds inside your normal range, the rest follow on a set cadence. If it does not, you stop, and you have only exposed a fraction of your base rather than all of it.

This is the same logic that makes a staged rollout sensible for a skip and pause program — you do not turn a new flexibility option on for the whole base at once either, for exactly the same reason: you want the failure mode to be small and contained, not universal.

How big, and how often

The size of the increase changes how much of this sequencing you actually need. A rounding-error adjustment — a few percent to catch up with a supplier cost rise — rarely needs the full five-phase treatment; a shorter funnel-first window and a single-wave migration are usually enough, because the number is small enough that most subscribers will not consciously register it. A double-digit increase, or one driven by a genuine repositioning of the product, needs every phase in this playbook run properly, because that is the size of increase people actually notice and react to.

Frequency matters as much as size. Across the accounts we work with, a brand that raises prices once and communicates it properly retains far better than a brand that nudges the price up every few months without ever quite explaining why. Frequent small increases read as instability even when each one individually looks trivial on a spreadsheet; subscribers do not average your increases together, they remember the last three and start wondering what changed.

Prepaid and annual terms need their own timing

If any part of your base is on a prepaid or annual term, the migration window in phase four cannot simply be a calendar date — it has to be anchored to each subscriber's own renewal date. A subscriber who prepaid six months in January is contractually paying the old price until their term ends in July, whatever your general migration schedule says, and charging them the new rate mid-term is the kind of thing that generates chargebacks and complaints rather than quiet acceptance.

The clean approach is to let every prepaid or annual subscriber finish their current term at their existing price, and present the new price only at their next renewal decision, alongside the same reminder-and-recap treatment you would use for a monthly migration. It costs you a few extra months of full realisation on that slice of the base, but it avoids the single fastest way we have seen a price increase turn into a support and payments-dispute problem instead of a retention one.


Notice period matters less than where the notice lands

Most brands agonise over the length of the notice period — thirty days, sixty days, ninety days — and spend far less time thinking about where that notice actually appears. In the increases we have run, the length of the notice window has mattered less than we expected. What has mattered a great deal is whether the subscriber saw it in more than one place before the charge landed.

An email is the weakest single channel you have, not because email is a bad channel in general but because a transactional-adjacent email about a price change competes with every promotional email in the same inbox, and open rates on "important update" subject lines are mediocre at the best of times. One perfect email is not a notice strategy. It is a single point of failure.

"Coverage beats craft. Three plain-worded touches reach more of the base than one beautifully designed one."

Tone matters here too, and it is worth saying plainly: do not apologise for raising your prices, and do not bury the number. Vague language — "we're updating our pricing to continue delivering great value" — reads as evasive, and subscribers notice evasiveness faster than they notice the actual increase. State the new number, state the date it applies, and if you have a genuine reason (input costs, product improvements, a repositioning) say it in one sentence and move on. The subscribers who were going to cancel over a fair increase clearly stated were rarely going to be talked out of it by softer language anyway.

Weakest · rank 3

One email, alone

Sits alongside every promotional send in the same inbox. Easy to miss, easy to mistake for marketing, and the first real exposure a subscriber gets is often the charge itself.

Better · rank 2

Email plus a portal banner

Catches the subscribers who log in to manage a delivery, which is a meaningfully engaged slice of the base. Still misses anyone who never opens the portal between now and the charge.

Strongest · rank 1

Email + banner + order line

Adds a plain line on the next order confirmation before the increase bites — a channel with near-universal open rates, since people check what they were charged for. Three independent touches beat one polished one.

Ranked by the outcome we have actually seen, not by how much effort went into the copy. Coverage beats craft here.

The order confirmation line is the one brands forget, and it is the cheapest to add. It sits on a document the subscriber already opens for an unrelated reason — checking the delivery date, checking what is in the box — and a single sentence there ("your next box will reflect our new pricing, details here") reaches people who never open marketing email and never log into a self-serve portal. We treat it as non-negotiable in every increase sequence we run now, in the same way a well-designed cancelation flow puts its most important information where the subscriber is already looking, rather than where it is easiest for the brand to write.


The measurable thing is not "did churn go up"

Churn goes up around a price increase almost every time. That is not a verdict on whether the increase worked — it is close to a law of nature. The question worth answering is narrower and harder: did churn go up beyond the seasonal baseline you would have seen anyway, in an ordinary month, with no price change at all.

Subscription churn is not flat across the calendar. It swings with billing dates, with the weekday mix in a given month, with post-holiday cancelation waves, and with dozens of factors that have nothing to do with pricing. Read a churn spike in isolation and you will either panic over noise or, worse, miss a real problem because it landed in a month that already ran hot for unrelated reasons. You need a pre-read of your normal month before you can say anything sensible about the abnormal one.

Pull the same week-of-cycle, same time-of-year comparison you would use for any other retention question, the same discipline we lay out in our retention benchmarks piece — like-for-weekday, like-for-season — and only then compare the increase month against it. Anything inside your normal range is not evidence the increase hurt you. Anything meaningfully outside it is.

The pre-read needs to exist before the increase, not get reconstructed afterwards. We have sat in enough post-mortems where a brand tried to build the baseline retroactively, after a bad month had already put everyone on the defensive, and the numbers always come out flattering to whichever side of the argument is doing the pulling. Build the baseline while nobody has an incentive to shape it, file it, and only then run the comparison for real.

Measurement Windows — What To Watch, When

Before

Establish the baseline

  • · Normal-month cancelation rate, like-for-weekday
  • · Baseline skip/pause take-up rate
  • · New-customer conversion rate on the funnel

During

Watch the valve, not just the exit

  • · Pause/skip uptake at the moment of first new-price charge
  • · Support ticket volume tagged to the increase
  • · Cancelation-flow reason codes, not just the raw count

After

Compare against baseline, not zero

  • · Cancelation rate vs the like-for-weekday baseline, two full cycles out
  • · Revenue per subscriber, net of anyone who saved on pause
  • · Whether the increase is now permanent in your CLV model

The before window is the one brands skip. Without it, the after window has nothing to compare against except a guess.

This is also the point at which the increase should feed back into your lifetime value model, not just your monthly reporting. A price increase that clears the churn baseline is not a one-off win — it is a permanent input into every cohort projection you run from that point forward, and it should be logged as such rather than left as a footnote in a single month's dashboard.

The during-window metrics are worth watching even though most brands treat them as noise until the after-window numbers land. A spike in support tickets tagged to the increase, or a spike in pause uptake concentrated in the first cohort of the migration, is an early warning you can act on before the rest of the base moves — pause the migration, revisit the notice copy, or check that the charge actually matches what was communicated. Waiting for the two-cycle after-window number before reacting means you have already exposed every remaining cohort to whatever went wrong in the first one.


The pause offer is the valve, not an afterthought

At the exact moment a subscriber's account crosses into the new price — the point where the confirmation email or the first new-price order lands — offer a pause or a skip, prominently, with no friction. This is not the same thing as a retention discount, and it should not be positioned as one. It is a pressure valve: a subscriber who is annoyed enough to consider cancelling gets an immediate, low-commitment alternative that keeps them in the account rather than out of it.

The mechanism matters because of when the decision actually gets made. Most subscribers do not sit down and deliberate about a price increase in the abstract. They notice it at the moment of the charge, feel a flash of irritation, and act on that irritation immediately — which usually means opening the cancelation flow, because that is the button they can see. If a pause option is sitting right next to the cancel button at that exact moment, a meaningful share of subscribers take the smaller exit instead of the permanent one, and you get a second chance at them once the irritation has faded.

Position the pause offer as a genuine alternative rather than a retention discount in disguise, and keep the two separate in your messaging. A discount says "stay and we'll make it cheaper," which reopens the pricing conversation you just had. A pause says "take a break, nothing to negotiate," which lets an irritated subscriber step away without committing to leaving for good. In the accounts we have run this on, the pause option converts a noticeably larger share of would-be cancellations than a discount offered at the same moment, because it asks for a smaller decision.

A skip-and-pause program built for this purpose only works if it is genuinely easy to use before the increase ever ships — retrofitting flexibility onto a clunky flow in the same week as a price rise is asking a stressed system to do two jobs at once. If your pause and skip experience is not already smooth, fix that first; our piece on skip, pause and swap flexibility covers what smooth actually looks like. A price increase is the worst possible week to discover your pause flow is broken.

Keep the pause valve open on a fixed window rather than indefinitely — in the increases we have run, a month or two is usually enough for the initial reaction to settle. An open-ended pause option quietly becomes a parking space for subscribers who have already mentally left, and a parked subscriber still shows up in your active count while contributing nothing, which is its own kind of hidden churn. Set a return date on every pause taken during the increase window, and treat a subscriber who does not come back off that pause as a cancelation for reporting purposes, even if your platform does not classify it that way by default.

Before you set a date

Six things worth confirming before the new price touches anyone's account, existing or new. None of them are hard to check, and every one of them has been the actual cause of a messy increase we have been called in to clean up after.

  • The grandfathering decision is written down, not implied by whatever the deploy happens to do, with an owner who can explain it in a year's time.

  • The pre-read is pulled — a like-for-weekday, like-for-season baseline for cancelation rate, sitting in a document before the increase, not reconstructed defensively after a bad month.

  • The new price has run one full billing cycle on new signups before a single existing subscriber sees it, and conversion has been checked against target.

  • All three notice channels are built and tested — email, portal banner, order-confirmation line — with a real send-and-render check, not just a template review.

  • The pause and skip flow is fast and easy to find from the cancelation screen before the migration starts, with a fixed return date on any pause taken during the window.

  • Support has the reasoning, not just the script — a short brief on why the price changed, so the first agent a subscriber reaches can answer honestly instead of reading a line that raises more questions than it answers.

Six checks, none of which require new engineering. Most messy increases we get called in to fix skipped at least two of them.


Sequence it, don't schedule it

A price increase treated as a single scheduled event — one date, one price, one email — behaves like a coin flip. Sometimes the base absorbs it quietly, sometimes it doesn't, and you find out which only after the damage is either banked or done. A price increase treated as a sequence — new cohorts, then a staged existing-base migration, notice in more than one place, a pause valve at the moment of impact, and a measurement plan that already knows what normal looks like — behaves like something you can actually manage.

The grandfathering decision at the start of this piece is the one that costs you for years if you skip it. Everything after that is sequencing and notice, and both are cheap to get right once you have decided to treat the increase as a project rather than a price field edit in your subscription platform.

None of the five phases in this playbook require new engineering most brands do not already have. A selling-plan price change, an email send, a portal banner component, an order-confirmation line, and a pause option that already exists somewhere in your cancelation flow — the work is almost entirely sequencing and discipline, not build. That is also why it gets skipped: nothing about it is technically hard, so it is easy to convince yourself the single-date version is good enough. It rarely is, and the cost of finding out the hard way is measured in subscribers you will not get back.

If you are planning an increase and want a second pair of eyes on the sequence before it ships, that is exactly the kind of thing we help with in a subscription audit. Get in touch through our contact page and we will look at your grandfathering position, your notice channels and your baseline before you set a date.