Paddle Billing

Configure Cancellation Flows and salvage offers

Build a cancellation process that saves customers by presenting them with dynamic salvage attempts, as well as capturing cancellation insights for your team.

You can use Paddle Retain Cancellation Flows to build custom curated off-boarding experiences that are designed to prevent customers from churning.

Retain presents customers with a simple survey that suggests dynamic salvage attempts — like pausing a subscription or switching plan — as well as gathering useful insights around why they want to cancel. As a last resort, you can offer customers a discount to incentivize them to stick around.

Screenshot showing the Retain Control Center page. The cancellation flows tab is open. There are toggles for: pause salvage attempt, plan switch salvage attempt, contact support salvage attempt, and salvage offers.

How it works

Retain Cancellation Flows helps you save customers from canceling by presenting them with dynamic salvage attempts while gathering cancellation insights. Paddle Retain asks customers why they're canceling, as well as what they found valuable about your app, then presents curated salvage attempts.

Paddle Billing is fully integrated with Retain Cancellation Flows, automatically reducing churn through cancellations by up to 30%.

Customer journey

Retain uses data from thousands of subscription companies to target the right salvage attempt based on the product and user. In general, a cancellation flow has five steps:

  1. Retain Cancellation Flow modal step 1. It says: We're sorry to see you go. How did we fall short? The options are: not useful right now, didn't see the value, poor support, missing features, other.

    Cancellation reason

    We ask a customer why they're canceling. This is useful insight for your team, helping you prioritize feature development.

  2. Retain Cancellation Flow modal step 2. It says: It wasn't all bad, right? Did we do anything well? The options are: many things - I'll be back, helpful support, easy to use, other.

    Satisfaction insight

    We ask customers what they liked about your product. By honing in on the psychological phenomenon of the nostalgia effect, we tee up each customer to be more willing to stick around and accept a salvage attempt.

  3. Retain Cancellation Flow modal step 3. It says: Since you're getting value, want to switch to our Starter plan for $30/month. The options are: yes, no.

    Salvage attempt

    Based on a customer's responses, we offer them a salvage attempt. We direct them to pause their subscription, switch to a lower cost plan, or contact your team to chat.


    If you use Calendly, Retain shows a meeting scheduler as part of the cancellation flow so customers can schedule a call in a couple of clicks.

  4. Retain Cancellation Flow modal step 4. It says: One last thing — how about 20% off your subscription for 2 months? The options are: I'll take it!, No, I'd rather just cancel.

    Salvage offer

    If customers don't accept a salvage attempt, we offer them a temporary discount.


    You can choose which discount you offer, or turn this off if you don't want to offer a discount.

  5. Retain Cancellation Flow modal step 5. It says: We'll miss you. There's a paragraph-size text box to enter feedback, and a button that says confirm cancellation.

    Feedback and cancel subscription

    If customers don't accept a salvage offer, we give them a way to provide feedback and cancel their subscription.

    Use Paddle Billing? Retain automatically schedules the subscription to cancel. There's no need to handle this yourself.

One-click cancellation

In some regions, you must provide a one-click cancellation process for compliance. You don't need to build logic to handle cancellation requirements for different regions yourself. Retain automatically includes a link to cancel the subscription on each page of the flow, making sure you're compliant while also gathering insights and helping to reduce churn.

Retain x Paddle Billing

Depending on the options that a customer chooses, Retain automatically takes actions on the related subscription in Paddle Billing for you — including scheduling subscriptions to cancel. There's no need to build logic to handle this.

Before you begin

Paddle Retain works with live data for your billing platform. This means you can't integrate or test with sandbox accounts.

Set up Retain

If you haven't already, connect Paddle Retain to your billing platform and set up Paddle Retain.

Use Paddle Billing? Billing automatically integrates with Retain, so you're ready to get started. Click the Paddle > Retain link to jump to Retain to review your setup.

Set up Cancellation Flows

  1. Grab a copy of the Paddle Retain Cancellation Flows configuration template and fill it in. Send it to us at

  2. Update the cancellation logic in your web app to call the Paddle.Retain.initCancellationFlow() method, passing the Paddle ID of the subscription entity that you'd like to cancel. You may attach a callback to build workflows around the result.

  3. Retain automatically handles pausing, applying a discount, switching plans, or canceling the related subscription in Paddle Billing. When events occur in Paddle, handle provisioning in your app as normal.


Retain returns a promise that contains information about the outcome of the cancellation flow. You can use the .then() method to attach a callback to build workflows that run after your cancellation flow. For an example, see: Paddle.Retain.initCancellationFlow().

Simulate a cancellation flow

Screenshot showing a cancellation flow. The browser console is open. The cancellation flow is on page 1, with options for: Not useful right now, didn't see the value, poor support, missing features, and other.

Now you've set up Retain Cancellation Flows, simulate a cancellation flow to see how it looks to your customers.

Related pages