Skip to main content
This page explains the concepts. To turn it on step by step, follow the cancel-flows setup guide.

Guided Cancellation Experiences

Cancellation flows create guided, multi-step experiences when customers attempt to cancel. Instead of a single “Cancel” button, you present a structured flow that collects feedback, offers retention incentives, and requires explicit confirmation.
  • Multi-step sequences — Survey, offer, and confirmation steps in any order
  • Retention offers — Discounts, trial extensions, pauses, and custom offers
  • Cooldown periods — Prevent repeated cancellation attempts within a time window
  • Session tracking — Track every cancellation attempt and its outcome
  • Retention analytics — Measure retention rates and top cancellation reasons
Cancellation flows integrate with Churn Prediction to proactively engage at-risk customers before they reach the cancel button.

How It Works

Create a Cancellation Flow

Flow Parameters

Step Types

Retention Offers

Session Lifecycle

Start a Session

If the customer has an active cooldown from a previous session, starting a new session returns a 409 Conflict with the cooldown expiry time.

Submit a Step

Session Statuses

Get Session

Cooldown Periods

The cooldown_hours parameter prevents a customer from starting a new session too frequently, giving retention offers time to take effect.

Manage Flows

Retention Analytics

Webhooks

Best Practices

Keep It Short

Limit flows to 2-3 steps. Long flows frustrate customers and damage brand trust.

Make Offers Relevant

Use churn prediction risk factors to tailor offers. Price-sensitive customers need discounts; underutilizers need onboarding.

Set Reasonable Cooldowns

24-72 hours is typical. Too short and you spam; too long and you trap customers.

Analyze Top Reasons

Review cancellation reasons regularly to drive product decisions and reduce churn at the source.
The session status changes to retained, and the offer is applied to the subscription automatically. For discount offers, a coupon is created and applied for the specified duration.
Yes. Create multiple flows and specify which to use when starting a session. If no flow_id is provided, the default active flow is used.
Yes. All step responses are stored in the session’s responses field as JSON keyed by step ID, retrievable via the session API.