Nobody improvises well at the exact moment a customer says they want to leave. The person on chat or on the phone is startled, the customer is rehearsed, and the exchange collapses into the two worst available moves: begging, which cheapens the product, or surrendering instantly, which wastes the one conversation where the real reason might have been spoken aloud. A script exists to protect that moment — not to cage the person speaking, but to make sure the obvious branches were thought about while everyone was calm.
The first branch is the reason, and it matters more than any offer that follows it. A customer leaving over price needs a different conversation from a customer leaving because a feature quietly stopped fitting their work, and both differ from the customer whose card failed three times and who believes, incorrectly, that they already cancelled months ago. That last group is larger than most teams guess. Some share of every month's cancellations are really billing failures wearing a cancellation's clothes, and they are the most savable people in the queue precisely because they never chose to leave at all.
This is why writing cancellation save scripts around the reason before the offer produces saves that survive the next renewal. A script that opens with an offer — a discount, a free month, a pause — before it has heard the reason teaches customers a durable lesson: threatening to leave is how this product gets cheaper. A script that opens with a genuine question, and then matches its single offer to the answer, teaches a different lesson: the business listened, and the thing that was wrong got addressed.
One offer is the discipline worth underlining. Stacked offers signal desperation and, worse, they make the save impossible to learn from — if three things were offered and the customer stayed, nobody knows which one mattered, so next month's script learns nothing. A single matched offer per reason keeps the data clean: price reasons get the price response, fit reasons get the fit response, life-circumstance reasons get the pause, which is the honest answer for someone whose problem is timing rather than value.
Scripts also need a graceful losing branch, written with as much care as the winning ones. Some customers have decided, and a person who is allowed to leave easily, thanked sincerely, and told exactly what happens to their data and their access is a person who returns when circumstances change — and who does not spend the intervening months warning friends away. The save attempt that ends well is not a failed save. It is a deferred one, and the script should say so to the team member who just had the conversation.
Review the scripts quarterly, against evidence rather than opinion. Pull the cancellation conversations, count saves by reason and by offer, and retire the branches that never fire or never work. Scripts rot quietly: a save offer referencing a plan that no longer exists, a fit response for a feature that shipped a fix in spring. A quarterly read-through by the people who actually hold these conversations keeps the document a tool instead of a museum piece.
Above all, judge a script by the quality of the conversation it produces, not only by its save rate. A script can lift saves for a quarter by pressuring people who then churn angrily the next month, refund in hand. The saves worth scripting for are the ones still subscribed, and still glad of it, ninety days later.
Swipe Again (swipeagain.com) is flat-fee failed payment recovery for subscription businesses — $179/mo, no percentage of recovered revenue, no sales call required.
Top comments (0)