Cancellation flow
Introduction
Cancellation Flow is a customizable retention process that engages subscribers the moment they attempt to cancel or pause their subscription. Instead of losing them right away, you can ask why they're leaving and present targeted actions — such as a discount, a product swap, a skip, or a pause — that address their specific reason.
By turning a single "Cancel" click into a meaningful conversation, you reduce churn, recover revenue, and gather structured feedback about why subscribers leave. Cancel flow and Pause flow are configured independently, so you can design different retention strategies for each.
Understanding the cancellation flow
A retention flow is built from three core elements:
- Reason — a clear option subscribers select when they want to cancel or pause (for example, "It's too expensive" or "I receive it too early or too late"). You can use the default reasons or create your own.
- Message — the empathetic response shown after a subscriber picks a reason. This is your chance to acknowledge their concern and introduce a solution.
- Action — the retention offer attached to each reason. You can combine multiple actions per reason, including Offer discount, Offer gift, Skip next order, Swap product, Pause subscription, Change frequency, Change next order date, Edit quantity, Contact support, and more.
You can also add Conditions to control when each reason appears — for example, only show "It's too expensive" to subscribers whose total spend is below a certain amount, so you don't offer discounts to your most loyal customers.
When a subscriber clicks Cancel on the Customer Portal, Joy Subscriptions opens a modal with your configured reasons. After they choose one, they see your message plus the matching action buttons. They can accept an offer (and stay subscribed), keep the subscription as-is, or proceed with cancellation.
How to set up the cancellation flow
Step 1: Go to Settings → Cancellation flow in your Joy Subscriptions admin.
Step 2: Open the Cancel tab and select Customer retention flow under Cancellation options. This replaces the default immediate cancel with the retention experience.
Step 3: Customize the Heading and Description that subscribers see at the top of the cancellation modal. Keep the tone supportive and inviting.
Step 4: In the Cancellation reasons section, click Add reason (or open an existing one) to configure a retention offer.
Step 5: Enter the Reason title (what subscribers see) and the Message (your empathetic response after they select the reason).
Step 6: Under Actions, click Add action and choose a retention offer that fits this reason. For example, pair "It's too expensive" with Offer discount, or pair "I already have more than I need" with Skip next order. You can add several actions to one reason.
Step 7: (Optional) Under Conditions, click Add condition to limit when this reason appears. Conditions cover customer attributes (tag, total spent), subscription details (lifetime value, frequency, country), and product makeup. Use AND or OR to combine multiple conditions.
Step 8: Click Save to add the reason to your flow. Repeat Steps 4–7 for each reason. Drag the handle on the left of each row to reorder how reasons appear to subscribers.
Step 9: (Optional) Enable Custom answer to let subscribers type a free-text reason. Choose to always show the text field, or only show it when subscribers pick specific reasons like "Other reasons."
Step 10: Open the Settings tab. Adjust the Discount cooldown days (default 100) — this prevents subscribers from repeatedly cancelling to claim the same discount. You can also enable Allow skip reason if you want subscribers to cancel without choosing a reason.
Step 11: Click Save at the top of the page. Your retention flow is now live on the Customer Portal.
How to track retention performance
Open the Events tab on the Cancellation flow page to monitor how well your flow is keeping subscribers.
Step 1: Review the four overview cards at the top — MRR retained, Retention rate, Subscriptions retained, and Flow entries. These metrics are calculated over the last 30 days and update automatically.
Step 2: Browse the events table below to see every cancellation attempt: the contract ID, the reason selected, the offer shown, and whether the subscription was retained or lost. Use the date range, result, and reason filters to narrow down what you need.
Step 3: Click Export in the top right to download the events as a CSV file for deeper analysis in your spreadsheet tool.
Tips & best practices
- Match each reason with a relevant action. Subscribers respond better when the offer addresses their specific concern. Pair "It's too expensive" with a discount, "Not the items I want" with a swap, and "I have more than I need" with skip or change frequency.
- Write messages with empathy. Avoid pressure tactics. A line like "We hear you — would 15% off your next two orders help?" works better than "Don't go!"
- Protect your margins with conditions. Add a condition like Total spent ≥ $500 to exclude high-value subscribers from discount offers — they're already loyal and don't need price incentives.
- Use the discount cooldown. A cooldown of 100 days or more prevents subscribers from repeatedly cancelling just to claim a discount.
- Don't leave reasons without actions. A reason with no actions only shows the message and a Cancel anyway button — make sure every reason has at least one retention offer where it makes sense.
- Test your flow. Click Cancel on a test subscription in your Customer Portal to make sure the experience feels natural before going live.
Overall
Cancellation Flow transforms the moment a subscriber considers leaving into an opportunity to keep them — and to learn from those who do. By configuring thoughtful reasons, supportive messages, and well-matched retention actions, you can lower churn, recover revenue that would otherwise walk away, and build a feedback loop that helps you improve your subscription program over time. Start with the defaults, refine based on your Events data, and you'll see your retention numbers grow.