Skip to main content

What is Churn.io and How Does It Work?

A
Written by Andreas H

A cancel flow is the experience your customers see the moment they try to cancel their subscription — a short sequence of screens that asks why they're leaving, offers a reason to stay, and only then completes the cancellation. Churn.io is the platform you use to build those flows, show them to your customers, act on what they choose, and measure how much revenue you saved. This article explains what Churn.io does and how the pieces fit together.

What Churn.io does

When a customer decides to cancel, Churn.io steps in before the cancellation goes through. Instead of losing them silently, you get a chance to understand why they're leaving and to present a retention offer — a discount, a pause, a free month, an extended trial, or a call with your team. Churn.io then carries out whatever the customer chooses and records the outcome so you can see what's working.

You can run this experience in two ways:

  • Widget — a pop-up that appears inside your own app when a customer clicks your cancel button.

  • Page — a hosted cancellation page you can link to or host on your own custom domain.

What a flow contains

Each flow is made up of steps you arrange in order. You can include any combination of:

  • Survey — asks why the customer wants to cancel, using reasons you define. Each reason can show its own follow-up question, and you can randomize the order they appear in.

  • Offer — presents one or more retention offers: a Discount, a subscription Pause, a Free month, a Trial extension, a Book a call link, or a Custom page link.

  • Feedback — collects free-text feedback, with an optional minimum length and a skip option.

  • Cancellation — the confirm-cancellation screen with your own headline and button label.

  • Goodbye — a final message shown after the customer cancels.

You can also attach offers directly to individual survey reasons, so someone who selects "Too expensive" sees a discount while someone who selects "Taking a break" is offered a pause.

Targeting the right customers

Every flow has an audience setting that decides who sees it:

  • Everyone — shown to all customers entering cancellation.

  • Specific — shown only to customers who match the conditions you set (for example, based on their plan or attributes you pass in).

  • Everyone else — a catch-all for customers who don't match a specific flow.

When a customer reaches cancellation, Churn.io checks your live flows of the matching type. It first looks for a Specific flow whose conditions the customer matches; if none match, it falls back to your Everyone flow, and finally to an Everyone else flow. Only flows set to Live are ever shown — flows left in Draft or Paused are skipped.

What happens when a customer accepts or cancels

If a customer accepts an offer, Churn.io applies it for you. For discounts, pauses, free months, and trial extensions, the change is made directly against the customer's subscription in your connected billing provider. "Book a call" and "Custom page" offers simply send the customer to the link you provided.

If the customer still decides to leave, Churn.io carries out the cancellation according to how you set the flow up:

  • Cancel automatically — cancels the subscription in your billing provider, either at the end of the current period or immediately, depending on your timing setting.

  • Send email — notifies your team by email so you can handle the cancellation yourself.

  • Webhook only — sends the cancellation details to a webhook URL so your own systems can react.

⚠️ Connect your billing provider first

To apply offers or cancel subscriptions automatically, your billing provider must be connected. Without it, those actions can't reach your customers' real subscriptions. Connect it from the Integrations page before taking a flow live.

Measuring your results

Every cancellation attempt is recorded as a session, and the Dashboard turns those sessions into the numbers that matter. At the top you'll see headline metrics including Revenue saved, Revenue churned, Customers saved, Sessions, and your Save rate (saved divided by saved plus cancelled).

Below that, the Dashboard breaks performance down so you can see which flows and offers retain the most customers, how cancellation reasons trend over time, the most common reasons people leave, and a visual map of how sessions move from start to outcome. You can filter everything by date range and by specific flows, and a live activity stream shows recent sessions as they happen.

💡 Explore before you have data

If you haven't connected billing or collected any sessions yet, the Dashboard shows a setup prompt. Choose View demo to preview the charts with sample data and get a feel for what's coming.

How it fits together

The typical path through Churn.io looks like this:

  1. Connect your billing provider from the Integrations page.

  2. Build a cancel flow with the survey, offer, and cancellation steps you want.

  3. Choose whether it runs as a Widget or a Page, set its audience, and set it Live.

  4. Embed the widget in your app or share your cancellation page link.

  5. Watch the Dashboard to see how much revenue your flow saves.

Did this answer your question?