A cancel flow is the sequence of screens a customer moves through when they try to cancel their subscription. In Churn.io, every flow is made up of up to four configurable steps. You choose which steps to include, what each one says, and how they connect to each other.
π‘ Good to know
All four steps are optional. You can enable or disable each step individually from your flow configuration at any time.
Step 1: Survey
The survey asks the customer why they want to cancel. You define the list of reasons, up to 10 options. Their selection is used to determine which retention offer to show them next. The more specific your cancel reasons, the more precisely you can match offers to customer intent. Learn how to configure your survey β
Example cancel reasons you might configure:
Too expensive
Missing a feature I need
Not using it enough
Switching to a competitor
Technical issues
Just taking a break
β οΈ Targeting tip
A customer who selects "Too expensive" should see a discount offer. A customer who selects "Not using it enough" should see a pause offer. Specific reasons enable specific offers, and specific offers save more customers.
Step 2: Retention Offer
After the survey, a single retention offer is presented. You configure which offer appears for each cancel reason or for specific audience segments based on subscription attributes such as plan type, billing cycle, or customer tenure. See all offer types β
Available offer types:
Discount: offer a percentage or fixed-amount reduction on their next payment
Pause: let them pause their subscription for a set period instead of cancelling
Free month: extend their billing cycle by one month at no charge
Trial extension: add more days to their current trial period
Book a call: send them to a calendar link to speak with your team directly
Custom page: redirect them to any URL you specify, such as a case study, a feature update page, or an onboarding guide
β What counts as a save?
Customers who accept an offer are counted as a save. Their cancellation is not processed and they remain active on their subscription. Every save is tracked in your dashboard automatically.
Step 3: Feedback
If a customer declines the offer, or if no offer is configured for their cancel reason, they can be shown an open-ended feedback question before their cancellation is confirmed. This step is optional, but it is one of the most valuable sources of qualitative data you can collect. Customers who are about to leave are highly motivated to tell you exactly why. Learn how to set up the feedback step β
Step 4: Cancellation Confirmation
The final screen confirms that the cancellation has been processed. You can customise the heading, supporting copy, and button label shown to the customer directly from your flow settings.
What happens when an offer is accepted
When a customer accepts a retention offer, Churn.io applies the change directly to their Stripe subscription. The specific action depends on the offer type:
Discount: a coupon is applied to the subscription
Pause: a trial end date is set on the subscription to pause billing for the configured period
Free month: a 100% off coupon is applied for one billing cycle
Trial extension: the subscription's trial end date is extended by the configured number of days
π‘ Stripe connection required for offer application
Churn.io applies these changes via your connected Stripe account. Make sure your Stripe API key is connected in Settings and it has full write access. Without a connected key, offer events are still tracked but no changes are made in Stripe.
What happens when a customer cancels
When a customer confirms cancellation after declining all offers, Churn.io sets cancel_at_period_end: true on their Stripe subscription automatically. The subscription remains active until the end of the current billing period, then cancels. The onCancelled() callback also fires for the widget flow, which you can use to update your own UI or trigger additional logic.
Widget flow vs. Cancel Page flow
The four flow steps are identical whether you are using the Widget or the Hosted Cancel Page. The only difference is how the flow is delivered to your customer:
Widget: appears as a modal overlay on your site without any redirect, keeping the customer on your page throughout the entire flow
Hosted Cancel Page: a full-page experience at flow.churn.io/your-org that you redirect customers to before their cancellation is processed
π‘ Did you know?
You can run both a Widget flow and a Hosted Cancel Page flow at the same time. For example, use the widget inside your app and the hosted cancel page in billing emails or external cancellation links.
π¬ Questions or concerns?
Get help from our support specialists at Churn.io. Click the chat icon at the bottom of your screen to reach us directly.
