The cancel click
Listen first. Cancel always works.
Cancel your subscription
- TodayYou cancel
- Oct 25Access ends
- ThenNo further charges
What you still have
- 30 days left in this billing period
- 1,200 credits left
- 3 saved templates
After Oct 25, you’ll no longer have
The problem
Most cancel flows argue with the customer.
01
Offers before listening
A lost job gets a discount pitch. A double charge gets a survey.
02
Discounts nobody needed
Blanket offers buy back people who were staying anyway.
03
Exits that hide
Unkind, and a legal risk in California, New York and the EU.
How it works
What Tenure does, step by step.
01
Listen before offering
Hardship gets no offer, just one kind line. Billing trouble holds every offer and emails you. How-to questions get a help card.Customer clicked cancel
What’s the main reason you’re leaving?
Optional. “Cancel now without answering” is always on screen.
“How do I export everything first?”
A how-to questionShows one help card you published. Not counted as a save.
“I lost my job this month.”
HardshipNo offer, no question. One kind line, then the exit.
“You charged me twice.”
Billing troubleEvery offer held. Cancel goes through. You get an email.
Read once, before any offer is chosen02
One offer at most
A pause, a lower plan or a discount, from rows you published. A discount needs their own words about price, and comes last.One offer, from your published planSwitch to Basic instead?
$19 $49 a month
Your plan changes to Basic on 12 October 2026; nothing changes until then.
On Basic you won’t have
Team seatsPriority exportsSwitch at renewalCancel insteadBilling
Stripe schedule from the period end, no proration
Counted as kept only when the renewal on Basic is paid.
03
Switch plans at renewal
“Nothing changes until then.” Stripe schedules it with no proration. It counts as kept only when the new plan's renewal is paid.app.trytenure.co/customersGoing quietA customer on Pro, monthly
Facts from billing and your app · no score- Paid so far
- $294
- Last active
- 23 days ago
- Usage, 30 days
- −46%
MarAprMayJunJulAugSepCheck-in sent, in your voice
From your domain · 1 of at most 2At the cancel click
Switch to Basic at renewal, Oct 12
Nothing changes until then. Cancel stays one button away.
Still to confirmcounts when Oct 12 is paid04
A clear last step
When access ends, what they still have, what they'll lose. Then two buttons of the same size, and one confirmation email.Cancel your subscription
PlanPro · $49 a month- TodayYou cancel
- Oct 25Access ends
- ThenNo further charges
What you still have
- 30 days left in this billing period
- 1,200 credits left
- 3 saved templates
After Oct 25, you’ll no longer have
Unlimited projectsTeam seatsPriority exportsContinue to cancelKeep my subscription05
A floor no theme can break
Exits repaired if a page hides them. One-step cancel on by default for the EU, Canada, New York and every US state.What’s the main reason you’re leaving?
Too expensiveNot using it enoughMissing a featureCancel now without answeringOne-step cancel, on by default27 EU statesCanadaNew YorkEvery US statehost CSS: .cancel { opacity: .2 }
Exit restored
The details
What’s in it.
- One script tagAbout 40 KB gzipped, in its own shadow DOM.
- Hosted pageNo code: point your cancel link at it.
- Mobile appsOpen the hosted page in a web view.
- Your own screensHeadless SDK; exits and terms stay fixed.
- Support agentsThe same decision over REST or MCP.
- Fails safeTenure unreachable? Your own cancel runs.
Good to know
- There's no chat on the cancel screen, by design: listen, at most one offer, and a way out.
Questions about this part.
Does every cancelling customer see an offer?
Does this help with click-to-cancel laws?
What happens if Tenure is down?
See the plan Tenure would draft for your app.
Give it your site address. It reads your pricing and your Stripe catalogue, drafts a retention plan in about a minute, and waits for you. Nothing reaches a customer until you publish.