Skip to main content

How to Reduce Cancellations with a Cancellation Flow

Set up cancellation flows with tailored retention offers to prevent subscription cancellations and collect cancellation data.

What Is a Cancellation Flow?

A Cancellation Flow is the experience a customer sees when they try to cancel a subscription from their customer portal. Instead of cancelling immediately, the customer is shown the reasons you have configured. Based on which reason they pick, the flow can show a tailored retention offer (called a treatment) to encourage them to stay.

Benefits:

  • Retain customers with relevant, helpful offers right at the moment of cancellation

  • Collect data on why customers cancel


How It Works

  1. The customer clicks Cancel Subscription in their portal.

  2. Your cancellation message is shown (e.g. "We're sorry to see you go").

  3. The customer selects one of the reasons you have configured.

  4. If that reason is linked to a treatment, the matching retention offer is shown. If it is not linked to a treatment, the customer goes straight to the final confirmation step.

  5. The customer either accepts the offer (cancellation is prevented) or continues to cancel.


Key Components

Cancellation Reasons

The list of reasons your customers can pick from. You can write any labels that match your business — for example:

  • Too expensive

  • Not using the product

  • Shipping delays

  • Taking a break

You can add, edit, or remove reasons at any time. A flow can have up to 20 reasons.

Any reason can also be configured as an Other reason — a free-text field the customer fills in themselves. Each flow supports one such free-text reason.

Treatments

A treatment is a retention offer shown after the customer picks a reason. If the customer accepts a treatment, the cancellation is prevented and the chosen action is applied to their subscription.

Available treatment types:

  • Skip next order — skip the customer's next 1, 2, or 3 upcoming orders.

  • Delay billing — push the next billing date out so the customer pauses without cancelling.

Treatments are grouped into a treatment box that you connect to a reason. A treatment box has its own title and description — this is the copy the customer reads on the offer card. Each box can contain up to 5 treatments; if you add more than one, the customer is shown them as alternative offers ("OR" branches).

A reason can be left without a treatment box — in that case, picking it goes straight to cancellation confirmation.


Why Use a Cancellation Flow?

1. Reduce churn

Show helpful offers right when customers are considering cancelling. Many cancellations are temporary problems — too many items this month, a tight budget — that a skip or a delay can solve.

Result: more subscribers retained.

2. Gain insights

Track which reasons are picked most often to:

  • Improve your product or service

  • Adjust pricing, logistics, or shipping cadence

  • Tailor future offers and reasons

Result: smarter business decisions.


How to Set Up a Cancellation Flow

The cancellation flow is configured from the Retention page in your Subi dashboard, using a visual flow builder.

Step 1: Open the flow builder

  • Open Retention from the left side menu in your Subi dashboard.

  • On the Cancellation flow card, click Edit flow (or Set up, if you have not built a flow yet).

    Subi logo

The flow builder opens with three areas on screen: an Add to flow palette on the left (with Reason and Treatment cards you can drag onto the canvas), the visual canvas in the middle, and a details panel on the right that appears when you click Edit on any step.

Subi logo

Step 2: Edit the initial cancellation message

Click Edit on the first step in the canvas. In the right-side panel, set the title and description that customers see at the top of the cancellation flow. Examples:

  • "We're sorry to see you go — can you tell us why?"

  • "Before you cancel, let us try to help."

Step 3: Add cancellation reasons

  • From the left palette, drag Reason onto the canvas. Repeat for each reason you want to offer.

  • Click Edit on a Reason node. In the right-side panel, type the Label the customer will see (e.g. "Too expensive").

  • To make a free-text "Other" reason, turn on the Let customer type toggle on that Reason. Only one Reason per flow can have this turned on.

A flow can have up to 20 reasons.

Step 4: Add treatments (recommended)

  • From the left palette, drag Treatment onto the canvas to add a treatment box.

  • Connect a Reason to the Treatment box by dragging from the Reason's right-side handle to the Treatment box.

  • Click Edit on the Treatment box. In the right-side panel, enter the Description customers will read on the offer card, then choose the Treatment type — Skip next order or Delay billing — and configure its details.

  • To offer more than one option on the same card, click + Add Alternative Option and configure the next treatment. Each box can contain up to 5 alternatives.

A reason without a connected treatment box goes straight to the cancellation confirmation.

Step 5: Turn on the flow

  • Review your reasons and treatments on the canvas.

  • Click Turn on flow at the top right of the builder.

The flow will then appear automatically the next time a customer tries to cancel a subscription from their portal. You can turn the flow off at any time from More actions at the top right.


Show different offers with conditions

By default, every customer who picks a reason sees the same treatment. Conditions let you go further and show a different offer depending on who the customer is or what they are subscribed to — so you can be generous with the customers worth keeping and save your best offers for the people most likely to stay.

How a condition works:

  1. You place a condition between a cancellation reason and your treatments.

  2. When a customer picks that reason, the condition checks their subscription against the rule you set.

  3. Customers who match the rule see one treatment (the met branch); customers who do not match see a different treatment, or go straight to cancellation (the not-met branch).

A cancellation flow where a reason routes through a condition to met and not-met treatments

What you can check

A single condition can check any of the following:

  • Billing cycles — how many times the subscription has already been billed (for example, at least 6 cycles).

  • Subscription value — the total value of the subscription, in your store currency (for example, $50 or more).

  • Products — whether the subscription contains or excludes specific products or variants.

  • Customer tag — whether the customer has one of the tags you list, or has none of them (for example, a VIP tag).

You can combine several checks in one condition. Rules in the same group are matched with OR — any one is enough — and separate groups are matched with AND, so every group must be true.

Choosing what a condition checks: billing cycles, subscription value, products, or customer tag

Examples

  • Reward your VIPs. Condition: Customer tag has one of "VIP". Customers who match get a bigger discount, while everyone else sees your standard offer.

  • Protect high-value subscriptions. Condition: Subscription value is $50 or more. These customers see a more generous "stay" offer; lower-value subscriptions see a smaller one.

  • Thank long-term subscribers. Condition: Billing cycles is 6 or more. Long-tenured customers are offered a loyalty discount or a free gift.

  • Tailor by product. Condition: Products contains "Coffee Beans" to offer a skip on that item, or Products excludes "Trial Kit" so trial subscribers don't see the same offer.

  • Combine rules. Condition: Customer tag has one of "VIP" AND Subscription value is $50 or more — reserve your very best offer for high-value VIPs only.

Condition editor: customer tag has one of VIP

How to add a condition

  1. In the flow builder, add a Condition from the reason you want to target.

  2. Choose what to check — billing cycles, subscription value, products, or customer tags — and set the rule, for example Customer tag has one of "VIP".

  3. Connect the met branch to the treatment for customers who match, and the not-met branch to the treatment for everyone else (the not-met branch is optional).

  4. Save and turn on the flow.

Condition editor: subscription value greater than or equal to 50

Good to know: Subscription value is compared in your store's currency. If a customer's tags or products can't be read at that moment, the condition is treated as not matched, so the customer always sees a valid treatment.


Best Practices

  • Keep reasons short and easy to scan.

  • Match treatments closely to reasons:

    • "Taking a break" → Skip next order

    • "I have too much product" → Delay billing

  • Offer more than one treatment per reason when it makes sense, so customers can pick the option that works best for them.

  • Use friendly, non-pushy messaging in the treatment box description — you are trying to help, not guilt the customer into staying.

  • Once your flow is live, track what is working in your cancellation flow analytics and refine your reasons and offers over time.

  • For another retention option you can add to your flow, see Offer Frequency Change to Reduce Subscription Cancellations.


Summary

A cancellation flow:

  • Asks customers why they are cancelling (Reasons)

  • Offers personalised alternatives such as skipping the next order or delaying billing (Treatments)

  • Collects churn insights so you can improve your service

Set up properly, it is a powerful tool to grow and retain your subscriber base.

Did this answer your question?