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. Set up with one redirect, or with no code at all.
- 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.
How it works
Four steps to live
No cancel flow to design and no Stripe API to wrestle with. On your side it is one request and a redirect.
- 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, a payment pause, a plan downgrade or an invoice credit. 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.
One command withnpx revfence init - 04
Watch the results
Recovery rate, monthly revenue saved, reason breakdown, and per-offer performance. You stop guessing which offer works.
No code? Use e-mail recovery
When a customer schedules a cancellation in Stripe, RevFence e-mails them your offer, then a reminder and a last-chance notice before it ends, each with an unsubscribe link. Nothing to install, but an e-mail is read later or not at all, so the in-app path recovers more. The two can run together.
Turn it on in the panel's Stripe tab.
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. It is capped at three months of the subscription's value.
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 Stripe in test mode, or open a test session from the dashboard against a sample 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 win this month's number and cost you refunds, chargebacks and trust next quarter. So the customer can always leave in one click, and sees exactly what an offer changes before accepting it.
- The cancel link is visible on every screen
- One offer per session, declined in one click
- No pre-ticked acceptance boxes
- The same offer isn't repeated until its cooldown passes
Pricing
Per cancellation session opened
A session counts once it is opened, even if no offer is shown. An e-mail session counts only when the customer opens the link, and technical failures never 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
- All 5 offer types and targeting rules
- In-app and e-mail recovery
- Analytics, CSV export and test mode
- 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
- 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
- Remove RevFence branding from the cancellation page
7-day free trial without a card; nothing is charged when it ends unless you choose a plan. Prices are monthly, in USD, excluding tax.
Plan changes, add-on credits and what happens when the quota runs outFAQ
Frequently asked
Do you ask for a card at sign-up?
No. The 7-day trial needs no card, and nothing is charged when it ends unless you have chosen a plan: offers stop showing while your cancellation page keeps working. You pick a plan yourself, whenever you are ready.
Do I need to write code?
For the in-app path, one server request and a redirect on your cancel button; `npx revfence init` sets it up. For e-mail recovery, none: RevFence picks up cancellations scheduled in Stripe and e-mails your offer.
Do I hand over my Stripe secret key?
No. You connect your account through Stripe Connect and RevFence acts on its behalf. It never sees or stores your secret key, and you can revoke access from the Stripe dashboard at any time.
Does RevFence cancel the subscription itself?
No. If the customer declines, they continue to your own cancellation flow, and a cancellation already scheduled in Stripe stays as it is. RevFence only applies an offer the customer accepted.
Is there a test mode?
Yes. Connect Stripe in test mode, or open a test session from the dashboard against a sample subscription. Test sessions opened from the dashboard are free and stay out of your analytics.
What if we don't use Stripe?
Only Stripe is supported today. That is a deliberate scope decision.
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.