Skip to content

Cancellation Retention

When a customer tries to cancel from the portal, Gro can intercept the flow and present retention offers based on the cancellation reason they select. This gives you a chance to save the subscription before it’s cancelled.

Offers are arranged into Playbooks — a sequence of offers attached to a reason. If the customer declines the first offer, Gro shows the next one in the chain, so you can escalate (e.g. a tip → a skip → a discount) before giving up.

Pause and skip have their own flows — see Pause Prevention and Skip Prevention.

Customer clicks "Cancel"
→ Selects a cancellation reason
→ If the reason has a playbook attached:
→ Show the first offer
→ Accept: apply offer, keep the subscription (save)
→ Decline: show the next offer in the chain
→ Chain ends with nothing left → proceed with cancellation
→ If no playbook attached:
→ Proceed with cancellation

These are the offer blocks you can chain together in a playbook. The same blocks are available for Pause Prevention.

TypeWhat Happens
DiscountApplies a Shopify discount code to the subscription
Skip a deliverySkips the next one or two deliveries — useful for “I have too much product”
Change frequencyMoves the subscription to a less-frequent cadence
Change delivery dateLets the customer pick a new next-delivery date (delivery-enabled accounts only)
Free giftAdds a free product to the next order
Book a callEmbeds a scheduler so the customer can talk to your team
TipShows a helpful message or article — “accept” means they’re staying
Celebrate the saveAn optional “thank you” card (with confetti) shown after a customer accepts an offer. It auto-closes and doesn’t change anything — purely a nice touch.

Navigate to Subscriptions → Playbooks and create a playbook with its intent set to Cancel. Drag in the offer blocks you want and connect them: each offer’s Declined path leads to the next offer to try, and its Saved path can optionally lead to a “Celebrate the save” card.

For discount offers, attach an existing Shopify discount code to the block — Gro validates it against Shopify on save, and Shopify remains the source of truth for the discount’s value.

Go to Subscriptions → Churn Prevention → Cancel Reasons, edit a reason, and pick the playbook to run when a customer selects it. Reasons without a playbook skip straight to confirming the cancellation.

In Subscriptions → Settings → Customer Portal → Retention offer cooldown:

  • Default: 180 days
  • Prevents customers from repeatedly cancelling and accepting offers
  • Scoped per subscription: a customer can redeem one offer per subscription within the cooldown window, but different subscriptions are tracked independently
  1. They select their cancellation reason
  2. Gro shows the first offer — for discounts, the customer sees the discount amount and their new price
  3. They can Accept (offer is applied, subscription continues) or Decline (the next offer in the chain is shown, or the cancellation proceeds if there are none left)
  4. If the playbook ends in a “Celebrate the save” card, the customer sees a short confetti thank-you that closes itself

All retention offer interactions are tracked:

  • Whether the offer was shown
  • Whether the customer accepted or declined
  • Redemption dates for cooldown calculations