> For the complete documentation index, see [llms.txt](https://docs.flycode.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flycode.com/docs/guides/reactivation-winning-back-customers-cancelled-for-non-payment.md).

# Reactivation: winning back customers cancelled for non-payment

How FlyCode Reactivation wins back Stripe customers cancelled after a failed payment: trigger, timing, branding, promo code guidance and templates.

{% hint style="info" %}
**TL;DR:** Reactivation is the FlyCode product layer that runs after recovery has been exhausted and a subscription is cancelled for non-payment. It sends a branded win-back email the moment the cancellation happens, only to payment-failure cancellations (never voluntary churn), from your domain, with optional time-boxed promo codes and per-product templates. It is priced on outcome: you pay only when a customer comes back.
{% endhint %}

*By the FlyCode team. Last reviewed September 2026.*

{% hint style="success" %}
**Key takeaways**

* Customers cancelled for non-payment did not decide to leave; a payment network decided for them. They are the warmest win-back audience you have and most recovery stacks stop just before reaching them.
* Three principles: fire only on payment-failure cancellations, fire immediately (not in next week's batch), and send in your brand and voice from your domain.
* Promo guidance from live accounts: 10 to 20 percent off the next two or three months, time-boxed to 48 to 72 hours, one unique code per template, and never lead with the discount.
* Separate templates for trials versus paid plans and for your top two or three products by ARR outperform a single generic message.
  {% endhint %}

## The gap at the end of every recovery chain

A complete recovery stack handles the failure while the subscription is still alive: adaptive retries, backup payment methods, and dunning emails or SMS. When all of that is exhausted, the lifecycle rule fires (cancel, void or leave past due) and the customer disappears from the recovery funnel. Generic win-back campaigns, if they exist, treat this person like any churned user and reach them weeks later, mixed in with people who chose to cancel.

Reactivation closes that gap. It is a category rather than a single feature: every channel, message and offer that brings a payment-failed customer back. The first product in the suite is Reactivation Emails.

## How Reactivation Emails work

| Principle     | What it means in practice                                                                                                                                                       |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Trigger**   | Only subscriptions cancelled for non-payment. Voluntary cancellations are never touched, so the message can be specific: "your payment did not go through and your plan ended". |
| **Speed**     | The email fires the moment the cancellation event arrives, while the customer still remembers the product and before a competitor's onboarding email does.                      |
| **Branding**  | Your brand, your voice, your sending domain. Customers on premium plans send fully unbranded; basic plans carry a small FlyCode footer.                                         |
| **Offer**     | Optional promo code, unique per template, time-boxed.                                                                                                                           |
| **Reporting** | The Reactivation dashboard shows volume, engagement, the funnel from sent to clicked, and trends over time.                                                                     |

## Promo code guidance

The promo code works as a soft hand rather than a discount campaign. Patterns from accounts already running Reactivation:

* Keep it modest: 10 to 20 percent off the next two or three months is typical. Keep the discount small enough that you would be happy if everyone took it.
* Time-box it to 48 to 72 hours so the decision is made while the context is fresh.
* Use a unique code per template so redemptions are attributable.
* Do not lead with the discount. Lead with what the customer loses (data, settings, team access, history) and what continuing gets them; put the code below that.

Non-discount win-backs also convert well for products with a strong "you will lose your data, your settings, your team" angle.

## Templates: one per product, and trials separated

* **Trials versus paid.** A cancelled trial conversion and a cancelled long-term subscriber need different notes. Within trials, separate customers who had a card on file from those who never added one.
* **Per product.** Add variants for your top two or three products by ARR. Product-specific language (what the customer was using, what they lose) outperforms a generic template.
* **Dynamic templates** by lifetime spend and tenure are on the roadmap, along with multi-step sequences and additional channels.

## How to turn it on

1. Existing customers on premium plans may already have Reactivation live in the Reactivation tab of the FlyCode dashboard.
2. Otherwise, ask your account manager; Reactivation can be enabled within the week.
3. New customers use the request-access flow on the product page; responses arrive within a day.

There is no charge to turn it on. Pricing is outcome-based: you pay only when Reactivation brings revenue back.

## What is coming next

Sequences (a per-product template structure rather than a single send), an analytics tie-in so paid resubscriptions are visible end to end, dynamic templates by lifetime spend and tenure, and more channels.

## FAQ

### How is Reactivation different from a regular win-back campaign?

Three ways. It fires on the right trigger (payment failures only, not your whole churned list). It fires immediately, the moment cancellation happens. And it runs inside the same recovery stack as your retries and dunning, so the customer experience is consistent from first failure to win-back.

### Does Reactivation contact customers who cancelled on purpose?

No. Voluntary churn is never touched. Only cancellations caused by a failed payment trigger the flow.

### Does Reactivation work if I only recover payments through the FlyCode Stripe app?

Yes. It uses the same Stripe integration; no additional integration work is needed.

### What does Reactivation cost?

Nothing to enable. Fees apply only to revenue Reactivation actually brings back, in line with FlyCode's outcome-based pricing.

## Related

* [How FlyCode works](/docs/guides/how-flycode-works-architecture-of-the-recovery-engine.md)
* [Failed trial-to-paid payments on Stripe](/docs/guides/failed-trial-to-paid-payments-on-stripe-why-they-hide-and-how-to-recover-them.md)
* [Dunning management 2026 guide](/docs/dunning-management-2026-guide.md)
* [Failed payment outreach](https://help.flycode.com/failed-payment-outreach) in the Help Center
* Launch post: [New product: Reactivation](https://www.flycode.com/blog/new-product-reactivation.-winning-back-the-customers-you-lost-to-a-failed-payment-in-stripe)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.flycode.com/docs/guides/reactivation-winning-back-customers-cancelled-for-non-payment.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
