Subscription retention
Don't lose the customer who clicked cancel
RevFence sits in front of the cancel flow in your product. It asks the customer why first, then shows one retention offer based on the rules you set. Accepted offers are applied automatically in your own Stripe account.
No credit card. Setup is a single redirect.
- We never see your secret key
- Billing impact shown before accepting
- Cancelling stays visible at every step
Live demo
Not a screenshot. The engine itself.
The cancellation page below is real. Pick a reason and watch the rule engine choose the offer and compute the billing impact exactly as it would inside your product.
One moment before you go
We understand you want to cancel. Before you do, one quick question.
Why are you cancelling your subscription?
Pick a reason and the offer appears here.
No offer is shown before a reason is given. That isn't a design choice, it's the rule itself: making an offer without knowing what you're solving is just handing out discounts.
waiting
waiting
waiting
waiting
The difference
What happens after the cancel button is pressed?
Today
- Clicks cancel
- Confirms
- Leaves
- Reason unknown
- Revenue gone
Five steps, one outcome. Not a single question along the way.
With RevFence
- Clicks cancel
- Tells you why
- Sees an offer
- Stays
Four steps, two possible outcomes. Even when they leave, you learn why.
The problem
Cancelling takes one click and nobody asks a single question
In most SaaS products the cancel button is the end of the story. That costs you three things, and none of them get measured.
You never learn why
The customer leaves quietly. Price, a missing feature, a temporary break — you have no idea. Product decisions get made on guesswork.
You lose the ones who would have stayed
The customer who'd stay for a small discount and the one who'd come back after two months leave through the same button. Neither is offered an alternative.
Retention runs by hand
Teams that try it end up writing emails one by one and creating coupons manually in the Stripe dashboard. Nobody measures the result and nobody can repeat it.
The most expensive way to keep a customer is to replace them after they've gone.
How it works
Four steps to live
No code to write, no cancel flow to redesign, no Stripe API to wrestle with.
- 01
Connect Stripe
Authorize the Stripe account that handles your subscriptions through Connect. RevFence acts on behalf of that account and never sees or stores your secret key.
- 02
Define your offers
Percentage discount, free billing cycles, or a payment pause. You decide who sees what based on plan, subscription age, amount, and cancellation reason.
- 03
Redirect the cancel button
Your server opens a cancellation session and sends the user to the single-use URL it returns. That is the whole integration.
- 04
Watch the results
Recovery rate, monthly revenue saved, reason breakdown, and per-offer performance. You stop guessing which offer works.
Offer types
Five types, all genuinely applied in Stripe
One cancellation session shows exactly one offer. There is no chain of escalating offers and no pressure.
Percentage discount
A set percentage for a set number of billing cycles
For customers leaving over price. The discount takes effect from the next invoice, and the acceptance screen states that with the actual date.
Not shown when the subscription already has an active discount.
Free billing cycles
One or more cycles at no charge
Buys time for a customer who hasn't seen the value yet. When the free period ends, the subscription resumes at its normal price automatically.
Not shown to subscriptions still in a trial.
Payment pause
30, 60, or 90 days
For customers who want a temporary break. Collection resumes automatically when the pause ends, and the customer gets a reminder before it does.
Whether access continues during the pause is your decision.
Plan downgrade
A lower-priced plan you have pre-approved
For the customer who will keep using the product but not at this price. The switch takes effect next period; no proration is applied.
Not shown if the customer is already on the target plan.
Invoice credit
An amount deducted from the next invoice
A one-off gesture that leaves the plan price untouched. The amount goes to the customer's balance, comes off the next invoice, and any remainder carries forward.
It is not a coupon, so it does not clash with an existing discount.
Built right
What a system that moves money has to get right
Rule-based matching
Plan, subscription age, monthly amount, failed payment count, and cancellation reason decide who sees which offer. Rules are ordered and the first match wins.
Billing impact before acceptance
The new amount, the next charge date, and when the effect ends are written on screen. The numbers come from a Stripe preview, not from our own arithmetic.
Immutable consent record
The exact text the customer saw when they accepted, its version, and a timestamp are stored. Editing the copy later does not alter past records.
Indeterminate outcomes are never retried
If Stripe times out, the change may already have been applied. Nothing is retried; the record waits until reconciliation reads the truth from Stripe.
Test mode
Connect with a Stripe test key and run the whole flow against a fake subscription. See what would be shown without any money moving.
A full quota never closes the page
If you exhaust your monthly session quota, offers stop being shown but the cancellation page keeps working. Your customer is never stuck unable to cancel.
No dark patterns
Retention without cornering the customer
Pressure tactics lift the retention number this month and produce refund requests, chargebacks, and brand damage next quarter. So the cancel option stays visible at every step, an offer can be declined in one click, no extra hoop is required to accept, and the billing impact is stated plainly before acceptance. The same line applies to our own billing: our trial starts with a card, the date and the amount are stated up front, a reminder goes out before the charge, and cancelling is a single button in the dashboard.
- The cancel link is visible on every screen
- No pre-ticked acceptance boxes
- One offer per session, no insisting
- The same offer isn't shown again until its cooldown passes
- Our own trial: cancelling is one click and we warn you before the charge
Who it's for
Too small for a dedicated retention team, too big to chase cancellations by hand
Solo founders
Teams with no room to build a cancel flow of their own.
Growing SaaS teams
Companies with a few hundred to a few thousand subscribers.
Agencies and studios
Teams running several products under one account.
Operations teams
Anyone who wants retention to stop depending on a specific person and become a measurable step.
Pricing
Per cancellation session opened
A session counts even when no offer is shown. Sessions that fail on a technical error do not count.
Starter
Core retention infrastructure for small SaaS teams
$19/mo
7-day free trial, no credit card
Start free- 100 cancellation sessions / month
- 1 project
- Stripe Connect and hosted cancellation flow
- Cancellation reason survey
- 3 offer types: % discount, free billing cycle, 30/60/90-day pause
- Rule-based offer matching and eligibility rules
- Real offer application on Stripe
- Financial impact and invoice preview
- Core analytics and test mode
- Audit, consent records and quota management
- Email support
Growth
Most popularMore capacity for growing SaaS companies
$49/mo
7-day free trial, no credit card
Start free- 500 cancellation sessions / month
- 3 projects
- Everything in Starter
- Advanced rule-based offer matching
- Session details and filtering
- Analytics and export
- Stripe offer application tracking
- Reconciliation and failure handling
- Tenant notifications
- Priority support
Scale
For SaaS companies with higher cancellation volume
$99/mo
7-day free trial, no credit card
Start free- 2,000 cancellation sessions / month
- 10 projects
- Everything in Growth
- Advanced analytics and export
- Detailed tracking of offer application and recovery
- Audit logs
- Billing and quota management
- Tenant notifications
- Priority support
The trial starts the moment you sign up and runs for 7 days. We do not ask for a card. When it ends nothing is charged: offers simply stop being shown while your cancellation page keeps working. Pick a plan in the dashboard whenever you want to continue.
Prices are monthly, in USD, excluding tax. When the quota runs out the cancellation page stays open; only offers stop showing and the customer goes straight to your own cancellation flow.
Add-on session credits
Bought as a one-off when you exceed your quota. Credits never expire at the end of a period and are only consumed after the plan allowance runs out.
- 100 sessions$15
- 250 sessions$32
- 500 sessions$55
Credits never expire at the end of a period and are only used once the plan allowance runs out. They are the way to cover an overage without changing plan.
FAQ
Frequently asked
Why do you ask for a card at sign-up, and when is it charged?
So the trial starts with a card and runs into the subscription without a break. The card is stored on Stripe's side only and nothing is charged at sign-up. The first charge is on day 10 of the trial, for the monthly price of the plan you picked; cancel before that date and nothing is charged at all.
How do I cancel the trial?
With a single button on the Billing page in the dashboard. No email to support, no form to fill in; and if you change your mind, the undo button on the same page reverses the cancellation.
What happens if I cancel the trial?
Nothing is charged. Your cancellation page keeps working and your customers go straight to your own cancellation flow; only offers stop being shown. Your account is not closed, and you can move to a plan later from the same page.
Do you warn me before the charge?
Yes. A few days before the trial ends, a reminder goes to your account and your email address with the date, the amount and the link to cancel. You are also notified if the payment needs extra verification or fails.
Does RevFence cancel the subscription itself?
No. If the customer declines the offer they are redirected to your own cancellation URL. The decision and the action stay with you; we only apply an accepted retention offer.
Do I hand over my Stripe secret key?
No. You connect your own account through the Stripe Connect authorization flow, and RevFence acts on behalf of that account. It never sees or stores your secret key, and you can revoke access from the Stripe dashboard at any time.
What does the customer see before accepting?
The discount percentage or pause length, how many billing cycles it covers, and the next charge amount and date. Those numbers come from a Stripe invoice preview.
How do I know an offer was really applied?
An offer counts as applied only when Stripe confirms the change. Acceptance alone is not a save. If Stripe does not respond the record is held and hourly reconciliation writes the truth.
Is there a test mode?
Yes. Connect with a Stripe test key and run the whole flow against a fake subscription from the dashboard. Test sessions cannot be opened in live mode.
How long does setup take?
Connect Stripe, define one offer, redirect the cancel button. On your side it's a single request and one redirect.
What if we don't use Stripe?
Only Stripe is supported today. That is a deliberate scope decision; no other payment provider is in the first release.
Where is our data stored?
Card data never sits with RevFence; it stays on Stripe's side. The application and database hosting, the content delivery network and the email providers are listed by name on the Sub-processors page. Free-text feedback is deleted after 180 days, and the IP hash and user agent after 30 days.
Turn the cancel button into a second chance
Connect Stripe, define one offer, redirect the button. Every cancellation you miss today is a question you'll never get to ask.