Skip to content

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.

billing.yourcompany.com/cancel
Your brand

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.

01Selected reason

waiting

02Resolved reason group

waiting

03Selected offer

waiting

04Outcome

waiting

The difference

What happens after the cancel button is pressed?

Today

  1. Clicks cancel
  2. Confirms
  3. Leaves
  4. Reason unknown
  5. Revenue gone

Five steps, one outcome. Not a single question along the way.

With RevFence

  1. Clicks cancel
  2. Tells you why
  3. Sees an offer
  4. 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.

  1. 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.

  2. 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.

  3. 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.

  4. 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 popular

    More 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.