> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hyzl.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Win-back Offers

> Set the discount the AI is allowed to offer a cancelling member, and choose what it applies to.

The win-back offer is what the AI is allowed to offer a cancelling member to keep their subscription.

## Set the offer

1. Click the edit (pencil) icon on the trigger row you want to change, on the **Workflows** page. The wizard reopens in place at its **Offer** step.
2. Adjust the percentage (0 to 90)
3. Click **Save changes**

Each trigger (cancellation, trial) has its own campaign, so you edit its offer and script separately.

You review and edit the call script itself in the full campaign editor. You can also preview the call to your own phone there.

This is a flat discount off the member's subscription. Setting it to **0** turns the call into a feedback-only conversation. The AI still calls to find out why the member is leaving. It has nothing to offer, and it will not try to change their mind.

<Note>
  The offer percentage only applies to workflows created by your Stripe
  connection. RevenueCat saves are funded from your Apple offer-code pool
  instead. See [Connecting
  RevenueCat](/docs/revenue-recovery/setup/connecting-revenuecat).
</Note>

## Choose what the offer applies to

By default, the win-back discount applies to the member's **current plan**. That is the same subscription they are cancelling, just discounted. You can instead have the offer apply to your **annual plan, paid upfront**. A saved member then commits to a full year, rather than staying on their existing (often monthly) plan.

1. Open the workflow's campaign in the full campaign editor
2. Find the **Revenue Recovery** settings
3. Choose **Their current plan** (default) or **Annual plan, paid upfront** under **Offer applies to**
4. If you chose the annual plan, choose an active yearly Stripe price from the **Annual plan to offer** dropdown

<Note>
  This choice is only available for Stripe-managed recovery campaigns.
  RevenueCat/App Store campaigns configure their annual offer in App Store
  Connect instead. The AI just describes that same offer on the call.
</Note>

The dropdown is pulled live from your connected Stripe account and only lists your active yearly prices. If you do not have one yet, it shows this message:

`No active yearly plan found on your Stripe account — create one in Stripe first, then pick it here.`

Create a yearly recurring price in Stripe, then come back and choose it. Until you choose an annual plan, the campaign keeps offering the member's current plan.

### What the member gets

hyzl applies the discount (for example, 50%) to the annual plan for the first year. It then renews at the full annual price. The coupon is one-time, just like the current-plan offer.

### What each member pays

* **Already lapsed**: a member whose subscription has already ended pays the full discounted first year up front.
* **Still subscribed and cancelling**: hyzl immediately switches a member who is still active but cancelling to the annual plan. hyzl charges the discounted annual price **minus a proration credit for the unused time left on their current plan**. That is standard Stripe proration, so their first charge can be a little less than the full discounted year.

## Test different offers

Instead of relying on a single flat offer, you can test a few script-and-discount combinations against each other. See [A/B Testing](/docs/revenue-recovery/analytics/ab-testing).
