WIN-BACKGOCARDLESS

How to win back customers on GoCardless

How to bring back customers who cancelled on GoCardless: checking the mandate, restarting with consent, setting up a new mandate, and offers by reason.

Published 5 min read

On GoCardless, a customer who cancelled their subscription has often left something useful behind: an active Direct Debit mandate. If it is still active, a returning customer can restart without filling in their bank details again. If it is gone, they need a new one, which GoCardless also makes simple with a hosted flow. Either way, the hard part of win-back is not the payment. It is the message, its timing, and the customer’s agreement to be charged again.

This guide covers what to check before contacting a former customer, the two ways to restart, what to offer based on why they left, and how to measure the result. It sticks to GoCardless’s documentation: the subscriptions API reference, the mandate events reference, the developer guide Responding to mandate events and the help centre article on payer notifications (all accessed November 2026). GoCardless’s documentation site was not reachable from our research environment, so we checked endpoint and status descriptions against GoCardless’s official API client libraries, such as gocardless-pro-ruby, which are generated from the same API schema.

Who you are writing to

Not every former customer is in the same place. Sort them first:

Situation How to tell Win-back path
Cancelled the subscription, mandate still active Subscription cancelled, mandate active Restart on the existing mandate, with their agreement
Mandate cancelled at the bank Mandate cancelled; see details.cause and origin on the event New mandate through a hosted flow
Mandate expired Mandate expired (GoCardless expires mandates due to dormancy) New mandate
Left after a charge-back Payment charged_back Talk first; win-back only if the issue is resolved
Subscription ended after failed payments Payment failures, then a cancelled subscription Recovery, not win-back: see recovering failed Direct Debit payments

Check the mandate’s status right before you send anything, not when the customer cancelled. A mandate can expire or be cancelled in the meantime.

Path 1: restart on an active mandate

GoCardless’s guide says to cancel a mandate only when the customer explicitly asks, so many customers who cancel a subscription keep an active mandate. A new subscription can be created on it with one API call.

Technically possible is not the same as appropriate. The customer chose to stop. Before any new payment:

  1. Get explicit agreement. The win-back email links to a page showing the plan, the amount, the interval and the first charge date. The customer confirms with a button, while signed in.
  2. Create the subscription on the existing mandate, with a start date no earlier than the mandate’s next_possible_charge_date.
  3. Confirm in writing what will be collected and when, and how to cancel again.
  4. Respect advance notice. Payers are told about upcoming Direct Debits; GoCardless’s help centre on payer notifications explains what it sends. If you send these notices yourself, make sure the new schedule is notified in time.

A customer who is charged again without a clear “yes” is a likely indemnity claim, and on Bacs, GoCardless says there is currently no time limit on those.

Path 2: set up a new mandate

When the mandate is cancelled or expired, the customer needs to authorise a new one:

  1. Create a Billing Request for the customer and send the link to its hosted Billing Request Flow. The customer enters their bank details on GoCardless’s page; you never handle them.
  2. Wait for the mandate to become active. It goes through pending_submission and submitted first. If it fails (for example because the account cannot take Direct Debits), ask the customer to try another account.
  3. Create the subscription on the new mandate.

If the customer cancelled the mandate at their bank because they wanted to stop paying, a new mandate is the only respectful path, even if GoCardless’s API offers a reinstate action for cancelled mandates. Reinstating resubmits the old authorisation to the bank; it is meant for mandates that should still be valid, not for overruling a customer’s decision.

What to send, and when

Base the message on the reason the customer gave when they left. A schedule that suits many subscription businesses:

Day after cancellation Message
30 What changed since they left, tied to their reason. No offer yet.
60 An offer that fits their reason, if there is one.
90 A short last note with a direct way back. Then stop.

By reason:

  • Too expensive: a lower price for a set number of payments. On GoCardless, you can create the new subscription at the reduced amount and update it later (each amount change counts toward GoCardless’s limit of 10 amendments per subscription), or create a subscription with a fixed count at the offer price followed by a regular one. State the full price and the date it applies.
  • Only needed it for a while: point out that next time they can pause instead of cancelling. GoCardless lets you pause subscriptions that run indefinitely or for a fixed count, for a set number of cycles.
  • Missing a feature or had a problem: write only once it is fixed, and say exactly what changed.
  • Moved to another provider: one honest message, then stop.

Keep the emails short, from a real person’s address, with one link. And honour opt-outs: win-back emails are marketing in most jurisdictions, unlike payment notifications.

Measure what matters

  • Restarts by path. How many came back on an existing mandate and how many through a new one. If the new-mandate path converts badly, look at the flow.
  • Months retained after return. One discounted month followed by a second cancellation is not a win.
  • Claims after return. Any indemnity claim from a returning customer means the consent step was not clear.
  • By original reason. Which reasons come back, and which do not, tells you where the product needs work.

Tag the new subscription in its metadata with the campaign and the original cancellation date, so the payments it creates can be traced back.

Doing this with NoChurn

GoCardless keeps the mandates, collection and bank details. NoChurn reads customers, mandates and subscriptions from GoCardless, including mandate status, and sends win-back emails at day 30, 60 and 90 written from the reason the customer gave in NoChurn’s cancel flow, with a link to come back. The cancel flow itself keeps a one-click cancel always visible, and returning customers are tracked with the churn score from 0 to 100. See NoChurn + GoCardless.

PROMPT

Read https://www.nochurn.sh/llms.txt,
then follow https://www.nochurn.sh/docs/quickstart/
to add NoChurn to this app. Use a test key
(nc_test_…) until I say we go live.

Stop leaking revenue.

  • Free until $300 MRR
  • No card needed
  • Live in 10 minutes
  • Never a cut of what we recover