RevOpsGrowth

Pricing Migration Without the Churn Spike 2026

New pricing is a chance to put every customer on the plan that fits how they already work. This play sorts each account by its usage against the new packaging and your successful customers, then runs the move on the CRM record: a wave notice, an upgrade case, a call first – or no move until renewal, with the reason noted.

Peter Preston · Co-founder, Accoil·Updated Sep 2026·Advanced
Measure it onCohort churn per migration waveNRR through the migration windowUpgrade wins bookedCall-first accounts retained

New pricing is a chance to put every customer on the plan that fits how they already work. Calculate who pays less, about the same or more, then decide which accounts need a conversation before the notice goes out.

This play is a one-off project that starts the day new pricing is approved. Plan the calendar from the start: with ten monthly waves and 60 days' notice, the last price change lands around month eleven. Finance sets the destination; this play sets the order. Each account gets one move, drafted on its CRM record: a wave notice, an upgrade case, a call first, or no move until renewal.

Measure it on churn per migration wave, NRR through the migration window, upgrade wins booked, and how many call-first accounts stay.

How it works11 steps

01SignalWrite the pause rule down, then compare every account
Stripe

Before wave one, finance and the CS lead agree the pause rule in writing. Count each account once, and compare each wave with similar accounts (same segment and size band) at the same point in their renewal cycle over the last year. Default: the migration pauses and the notice is rebuilt if the share of a wave's accounts that cancel, give notice or ask to downgrade within 30 days of the notice is more than twice that baseline. Set an account-count limit and an ARR-at-risk limit too; crossing either also pauses. Annual customers can't cancel mid-term, so count non-renewal notices and replies that say they'll leave. Review every account that responds badly, and don't read missing baseline data as a sign the wave is safe.

Then build the benchmark: for each new plan, the customers whose usage maps to it and who renewed at the same or higher revenue after 12+ months. Aim for 20 per plan; with fewer, label it low confidence. This compares past usage mapped to the new plans; it doesn't yet show who will renew at the new prices. Record their median usage on the measures the new plans are priced on (seats, volume, features). Default: "at the benchmark" means at least 80% of that median. Your CS lead approves it.

For every account, pull usage against the new plan limits, old and new price per year, and overages or workarounds (sources in the kit below). Under about a hundred accounts, do it by hand in a spreadsheet.

EmitsUsage vs new plan limitsBenchmark usage per planOld vs new price per yearOverages & workarounds
02ScoreCheck fit, then check the records
Accoil

Map each account to the new plan its usage fits and compare it with that plan's benchmark. Then check the records:

  • Price lock? Contract terms in the CRM or billing.
  • Renewal date: from the CRM.
  • Usage trend: active users over 90 days. A gap in the events is a data problem, not a signal; fix the mapping first.
  • Custom terms: discounts or add-ons. Use the real price, after discounts, in the price change.
EmitsSuggested trackPrice lock or renewal soon?Usage trend, 90 days
03DecisionDecide whether the account moves in a wave

Leave it alone if it has a price lock, renews inside a default 90 days, or its usage records have gaps (fix them and recheck before the next wave). Everything else gets a track.

04ActionLeave it alone, and hand it to the renewal
HubSpot

Set Recommended move to No move, note the reason, and set Review date to the lock's end or 90 days before renewal. The new price goes into the renewal brief for the renewal check. Why no move is a move: leave it alone.

05DecisionPick the track the evidence supports

Apply these in order; the thresholds are defaults to tune:

  1. Call first: the account is in your top 10% by ARR, or its price rises more than 10% and usage is below the benchmark or down 20% in 90 days.
  2. Upgrade win: the new plan is better for how they already work – it absorbs overages they pay, or includes features they work around.
  3. Migrate now: everything else.

Say an account pays $9,600 a year, would pay $11,400, and runs 6 active users where similar customers on that plan run 14. That's call first. The $1,800 is a comparison, not a forecast. (The numbers are illustrative.)

06ActionSend the wave notice with the account's own usage
Customer.io

Your team chose to automate this move: Customer.io sends the notice below in waves, smallest and steadiest accounts first, each send logged on the HubSpot record. Wave size is your call on exposure: smaller waves reduce what's at risk at once but take longer. Before wave one, confirm you can apply the new price. Default to at least 60 days' notice before the new price applies, and meet any longer period or other requirement in the contract and applicable law. Keep the notice factual and separate from promotional offers, and send it as a service notice, not marketing.

07ActionDraft the upgrade case with their numbers
HubSpot

A task for the account owner with the upgrade note below. When their yearly spend would change by more than a default $5,000 either way, the AM makes it a call. If the notes prove right in the early waves, your team may choose to automate this lane too.

08ActionDraft a call brief and a bridge offer
HubSpot

No call-first account hears about the change from an email. The brief below carries a bridge offer: current price held for a default 6 months (12 for your top 10% by ARR), in writing, with an end date – paired with a plan to get them using what they pay for. Finance approves the bridge terms before wave one.

09Human stepYour team decides and runs the move

The AM or CSM runs the move as drafted, changes it, or passes. They own every customer conversation. Before acting, record the success measure and review date, and set Bridge end date for any bridge.

10Human stepRead each wave before the next one goes

Thirty days after each wave, the CS lead and finance read cancellations, downgrades and replies by track against the pause rule, and write the wave read below. Over the line, pause: find the track and message behind it, rebuild, then resume. The next wave waits for the read.

11OutcomeReview what changed, then sharpen the benchmark

Eight weeks after each wave's new price applies, review that wave's billing and early responses, and track renewals as they come due. Once the last wave has had its eight weeks, set Review result on each account and answer: churn per wave against the pause rule, NRR through the window (with the price increase reported apart from expansion, contraction and cancellation), upgrade wins booked, and whether bridge accounts are closing the gap to the benchmark. Keep activity (notices sent), progress (accounts migrated and using the plan) and results (renewals, upgrades) apart, and note what else played a part. Where a track didn't hold, change the move, stop it, or give it time. To compare earlier and later optional announcements and guidance, use what changed after the release. That comparison doesn't measure the effect of the price change itself. Then update the benchmark to the new plans.

Setup and templates

Company properties in HubSpot (Starter or above; free HubSpot allows 10 custom properties in total), or your CRM's account object:

PropertyTypeFilled by
New planDropdown select: your new plansFit check
Price change per yearNumber (currency)Fit check
Usage vs benchmarkDropdown select: At or above · Below · FallingFit check
Migration waveNumberCS lead
Notice sentDate pickerCustomer.io (webhook step)
Recommended moveDropdown select: Wave notice · Upgrade case · Bridge call · No moveFit check
Move reasonSingle-line textFit check
Success measureSingle-line textAccount owner
Review dateDate pickerFit check, then account owner
Bridge end dateDate pickerAccount owner
Review resultDropdown select: Migrated · Upgraded · Bridged · Left alone · Downgraded · CanceledAccount owner

The automation here uses HubSpot workflows (any Professional hub). On Free or Starter, run the same saved view and create the tasks by hand. The working list is a saved view: Recommended move is Upgrade case or Bridge call and Migration wave is [this wave] (update it when a wave starts), or Review date is this week or overdue. In HubSpot that's two filter groups: Review date is This week, or Review date is before Today. The wave's moves are a third group. On Pipedrive, make it two filters: this wave's upgrade cases and bridge calls, and reviews due this week or overdue. Each of those moves creates a task for the owner, "Pricing migration: [move]", with the draft in the body. Wave reads go in the migration's decision doc; post them in Slack.

Sync Migration wave to Customer.io and use it to pick each wave. A webhook step after each notice calls HubSpot's API to log the send and set Notice sent on the company. If the From address belongs to a HubSpot user, a BCC to your HubSpot logging address also logs the email – but only the webhook sets the date.

Data sources: usage from a saved query in PostHog, Amplitude or Mixpanel; prices and overages from Stripe; price locks and renewal dates from the CRM; workarounds from support tickets. Account-level numbers need your analytics tool's account add-on (group analytics in PostHog, Accounts in Amplitude, Group Analytics in Mixpanel) and a group call in your app. Save the query, then subscribe to it (in Amplitude, add it to a dashboard and subscribe to that) so the result lands in your inbox or Slack on the schedule you set. By hand, one spreadsheet row per account.

Wave notice (Migrate now):

Hi [name] – on [date], [product] moves to new plans. Based on how your team uses it – [usage measure] last quarter – [new plan] fits, at [new price] a year. Nothing changes in how you work. Questions? Reply here or book time with [owner].

Upgrade note (Upgrade win):

Hi [name] – last quarter you paid [overage amount] for [usage measure] / worked around [feature]. [New plan] includes that, at [new price] – [difference vs today]. Want me to switch you on [date]?

Call brief (Call first): the change and the date · their usage against similar customers on [new plan] · the price change · the bridge offer: [current price] until [end date], in writing · the adoption plan · the ask.

Wave read: "Wave [n]: [accounts] migrated. Cancellations, notices and downgrade asks: [n] of [accounts in the wave] ([x]%), [ARR at risk]. Pause limits: [2 × baseline]%, [n] accounts, [ARR]. Decision: [continue · pause], because [reason]."

No move: "No move – [price lock to date · renews on date · usage records incomplete]. New price goes in the renewal brief. Recheck [date]."

How Accoil fits

Accoil is a customer-success consultancy with our own tooling, and this is a play we run with you, not for you. We build the benchmark with your team, and you approve it. When you share the approved pricing and wave dates, you brief us on which accounts to check and when, so your team has the evidence before each wave. The recommended move and its evidence land on the account record in your CRM – we recommend HubSpot – at a pace your team can actually run. Your team makes every call, including which moves run on their own. Nobody from Accoil contacts your customers. After the agreed window we review what changed together, and you keep the playbook, the benchmark and the analysis.

Running it yourself? Swap HubSpot for Salesforce or Pipedrive, Stripe for Orb (each wave becomes a plan-version migration of that wave's subscriptions), and Customer.io for Ortto (rebuilt as account journeys) or Userlist. The play stays the same. On Salesforce, the field writes need API access (Enterprise and up, or an add-on on Professional). On Pipedrive, automations and date triggers need the Growth plan.

Talk to a founder

Thirty minutes with Kate, Simon or Peter on one example segment: what a successful customer looks like, where the gaps are, and whether there's work worth doing this quarter.

Talk to a founder →
Share this playbookLinkedInX

Keep reading

YOUR EXISTING EVENT STREAMAPIYESLEAVE ALONEOVER 90DINSIDE 90DRIGHT-SIZESIGNAL · ACCOILWeekly check: fewer seats in usethan peers your sizeActive vs paid seatsPeers' active-seat %Plan & ARR vs peersActivity per seatSCORE · ACCOILCheck the records before callingit a gapSustained, notseasonal?Quiet vs never startedDays to renewalCuts, champion &ticketsDECISIONIs there a move worth makingnow?DECISIONWhich move fits this account?ACTION · HUBSPOTDraft a seat review with bothpaths on the recordACTION · HUBSPOTDraft a reactivation plan for theunused seatsACTION · HUBSPOTDraft a right-size quote with theseat listACTION · HUBSPOTNo move: note why on the recordfor the next checkHUMAN STEPAM or CSM decides and runs themoveACTION · APPCUES Guide never-started seats to afirst result in-appACTION · STRIPEIssue the right-size quote at thestandard rateOUTCOMEEight weeks on: seats in use, or aright-size agreed?
Account ManagementRevOps

The Shelfware Confession Playbook 2026

Seats paid and seats in use drift apart. This play compares each account's seat use every week with customers its size that renewed at the same or higher revenue, checks the records before calling it a gap, and puts one move on the account in your CRM: a seat review with both paths, a reactivation plan, a right-size quote – or no move, with the reason noted.

Intermediate
YOUR EXISTING EVENT STREAMAPIYESLEAVE ALONESELF-SERVEHIGH-TOUCHSIGNAL · ACCOILWeekly check: one feature wherepeers use two or threeFeatures in regular usePeers' feature countNext feature peersaddedPlan & ARR vs peersSCORE · ACCOILCheck the records before callingit a gapPast onboarding?Peers who kept itIn their plan already?Renewal or orgchangesDECISIONIs there a move worth makingnow?DECISIONWhich move fits this account?ACTION · APPCUES Prompt the next feature wheretheir main task endsACTION · CUSTOMER.IO Send a story of a team like theirsadding itACTION · HUBSPOTDraft the second use case on theHubSpot recordHUMAN STEPCSM decides and brings it to thenext callACTION · HUBSPOTNo move: note why on the recordfor the next checkOUTCOMEEight weeks on: is the secondfeature in regular use?
SuccessGrowth

Second-Value Seeding Playbook 2026

Your best customers show you which feature comes after the first. This play checks every account against them each week, finds the feature customers like it added next and kept, and puts the move on the account in your CRM: an in-app prompt and a short story, the CSM on the next call – or no move, with the reason noted.

Starter
YOUR EXISTING EVENT STREAMAPILEAVE ALONEAGENTAMCLEANHAND OFFSIGNAL · ACCOILWeekly check: small renewals in60 days vs renewersARR vs the long-taillineUsage vs renewersRenewal date &auto-renewSCORE · ACCOILCheck the records: onbenchmark and in policy?Standard price &terms?Open tickets or asksBudget or org changesDECISIONWhich lane does this renewaltake?ACTION · HUBSPOTNo move: note the terms and arecheck dateACTION · CLAUDEAgent sends the notice, quoteand remindersACTION · HUBSPOTLog every send and reply on theHubSpot recordCustomer repliesDiscount or term asksDecline or competitorDECISIONDoes any reply need a person?ACTION · STRIPECollect payment on the renewalinvoiceACTION · HUBSPOTPut the AM's renewal task on therecord, with contextHUMAN STEPAM decides and runs the renewalconversationOUTCOMEA quarter on: GRR vs last year,exceptions caught?
Account ManagementRevOpsAI Agents

AI Renewal Agent for the Long Tail 2026

Small renewals go best when they're handled on time, and your team's hours go further on the accounts that need a person. This play checks every renewal below your long-tail line against customers who renewed, then picks a lane: leave it alone, a renewal agent your team set up for standard terms, or the AM – with every step on the CRM record.

Advanced
The playbook pack

Every playbook, one download

All 32 workflows as print-ready playbooks — diagrams included. Plus every new workflow as we publish it.

On-page playbooks stay ungated. Downloading subscribes you to new workflows from Accoil – unsubscribe anytime.