Set up

Retention offers and help links

When a customer is unhappy, the assistant first works out what they want and why. It explains a charge, points to one of your help pages or hands the conversation to your team, and it never turns a complaint into a refund or a cancellation the customer did not ask for. If you want, it can also show one of your own retention offers before a cancellation or a refund: a pause, a cheaper plan or an exchange, on a page of your site.

Offers and help links decide nothing. Your published policy decides every refund and cancellation exactly as it does without them, and the customer can always cancel or ask for the refund in one press.

What an offer is

An offer is a card with your text and a button that opens a page on your site in a new tab:

  • Title: up to 60 characters, for example "Need a break instead?".
  • Text: up to 280 characters, for example "You can pause your plan for up to three months on your account page."
  • Button label: up to 30 characters, for example "Pause my plan".
  • Your page: a fixed https address on your site. Nothing about the customer is added to it.

Whatever the customer does on your page happens on your site. Chargeless moves no money and changes no subscription for an offer. Offers that do so themselves (a goodwill partial refund, a pause, a discount, a plan change, a longer trial) are not available yet.

An offer is shown in one of two ways:

  • On the confirmation. When the customer asks to cancel or for a refund, the confirmation card shows your offer, its button and the Cancel subscription or Refund button side by side, in the same style and size, then Not now. Pressing Cancel subscription goes ahead at once, decided by your policy exactly as without an offer.
  • On its own. When the customer is only thinking of leaving and has not asked for anything, the card shows your offer, its button and No thanks, with a line saying they can cancel at any time by saying so.

The rules every offer follows

These rules come with every offer and cannot be changed:

  • One offer round. The customer sees at most one offer per kind of request in a conversation. After Not now, nothing else is offered.
  • No offers on request. A customer who says they want no offers ("just cancel it") gets none for the rest of the conversation.
  • "Why?" is asked once. The assistant may ask once why the customer wants to leave, as an optional question. A customer who repeats the request without answering gets the confirmation. The answer helps the assistant solve the real problem first and pick an offer that fits.
  • Your words, shown neutrally. The card shows your text exactly as you wrote it. The assistant writes at most a short neutral lead-in, never argues for staying, never states an offer's terms itself and never makes up an offer.
  • Cancelling stays one press. The cancel or refund button sits beside your offer with equal weight. An offer is never shown alone in front of a request the customer already made, and the customer can always ask for a person.
  • A limit per customer. Offers per Customer caps how often one customer sees any offer, across chats, channels and devices (1 to 10 offers within 1 to 90 days; 1 in 30 days when you add your first offer).

Set up an offer

You need a role that can publish the policy (owner or admin).

  1. Open Policy → Workflow and pick Cancellations or Refunds. The first row is Before a Cancellation (or Before a Refund): a conversation step, without a number, that "decides nothing".
  2. In its side panel choose Add Offer. Write the title, text and button label in English (required) and, if you like, in other languages. A language you leave empty shows the English text.
  3. Enter Your page. Saving adds its site to Sites Offers Link To: check that every site there is yours.
  4. Optionally narrow When to show it: Reason for leaving (cancellations), Refund reason (refunds), Subscription state and Paid renewals, at least. An empty filter matches everything. Also show before a refund (or a cancellation) puts the same offer on the other kind of request.
  5. Check the card in Show Preview, in each language, exactly as customers see it.
  6. Set Offers per Customer, then publish the draft as any policy change.

The offer's ID is made from its English title when you save it and never changes. When several offers fit, the assistant shows the one that fits the conversation best, never more than one.

Paid renewals are known only for subscriptions on your own payment system. Stripe does not report them, so an offer with a minimum number of paid renewals is never shown for a Stripe subscription.

What is refused when you publish

Publishing checks every offer and refuses the draft when:

  • the title or button label reads like the cancel or refund button ("Cancel", "Refund", "Confirm" and the like in English, Turkish, Spanish or Portuguese), so the customer can never mistake your offer for cancelling. The text may mention them;
  • a text contains a number shaped like a card number, an email address, a line break, or a control, text-direction or invisible character;
  • the English text is missing, or a text is too long;
  • the page is not a fixed https address on one of your listed sites: no user name or password, no IP address or local name, the host in lower case, no :443, no template syntax such as { };
  • a filter does not fit the request (a reason for leaving on a refund-only offer, a refund reason on a cancellation-only offer);
  • there are more than 10 offers or more than 5 sites;
  • a custom rule names the reason for leaving or anything about offers. The reason a customer gives is never something your policy decides on.

Help links are your own help pages (billing questions, how to update a card, your refund policy) that the assistant may point a customer to. They decide nothing and reveal no account data, so visitors who have not proved who they are see them too.

Set them on Settings → Help Links. You need a role that manages the widget (owner, admin or developer), and saving asks for a code from your authenticator app.

  • Up to 20 links, in the order the assistant may use them, on up to 5 sites.
  • A title per language (English required), the page address, and optionally the reasons for leaving and topics (short tags such as billing) a page helps with.
  • The assistant names at most two links in a reply, listed under its text. Titles may mention refunds and cancelling, since your refund or cancellation policy is often the page to link.

The assistant uses saved links from its next reply.

Where customers see offers

  • The chat widget and the customer portal's assistant, to customers who have proved who they are (signed token, email code or email link).
  • The customer portal's own cancel and refund panels, on your help site. The customer's answer to "Why are you leaving?" (now with the reasons for leaving: too expensive, not using it, missing a feature, technical problems, switching, a break) or the refund's reason picks the offers, as in chat. At most two show, only when the policy would let the cancellation or refund go through, beside the panel's own confirm button, with the same size and colour, and "Not now". One round per kind of request per visit, counted in presentations per customer with the chat's. The reason for leaving never changes how the cancellation is decided.
  • Tickets the automation answers (email, web form, widget messages): only when the customer is thinking of leaving, as a short block with your title, text and page address and the line "If you'd like to cancel, reply to this message and say so". A ticket that asks to cancel gets no offer: the cancellation goes ahead without an extra email round.

No offer is shown to a visitor who has not proved who they are, under the matched identity level, on tickets from your helpdesk (Zendesk or the generic webhook), on tickets your team holds, during an emergency stop or before you go live, for a payment connection that is not live, or for a refund while the circuit breaker is open.

In the widget the offer's button carries a new-tab mark. If your page reads the widget's events, retention_offer reports opened or declined, with no offer, address or customer data.

Your cancellation path stays yours

The chat is never your statutory cancellation path. Where the law requires one, keep your own on your site, for example:

  • Germany: the online cancellation button of § 312k BGB.
  • European Union: the withdrawal function of Article 11a of the Consumer Rights Directive (Directive (EU) 2023/2673), from 19 June 2026.
  • United States: ROSCA's simple mechanism to stop recurring charges; California's automatic renewal law, which allows a save offer only if the customer can still cancel immediately; New York's rules.

Offers are designed for the strictest of these as we understand them: an offer never adds a step to cancelling, stays beside the cancel button, and never stands in the way of a cancellation. You remain responsible for your offers, your terms and what your page says.

Not legal advice. This page describes how the product behaves. Ask your own counsel what your markets require.

What is recorded

Each time an offer is shown, Chargeless records which offer, beside which request, the reason for leaving the assistant understood, the policy version, and the customer's answer: opened (clicked your button), continued (pressed Cancel subscription or Refund), declined (Not now) or no answer. "Opened" means the customer clicked; whether a tab opened, and whether they paused on your page, happens on your site and is not known to Chargeless. Answers on tickets are not recorded. Records hold ids and codes only, never the conversation, and are kept 13 months.

The panel does not report on offers yet; offers shown, links opened and reasons for leaving will come to the reports later. A cancellation or refund after an offer appears in the Action Log and on the case like any other, decided by the same steps.

Turning offers off

Remove the offers from Before a Cancellation and Before a Refund and publish (removing the last offer removes the whole block), or restore a version without offers from Versions. The change applies to the next reply. Help links go away when you remove them from Settings → Help Links.