Route cancelled Recharge subscribers into Klaviyo win-back lists

By General Input

When a Recharge subscription is cancelled, sort the customer into the right Klaviyo win-back audience and flag big spenders for a personal call.

Integrations

  • Recharge
  • Klaviyo
  • Slack Bot

Type

Agentic Task

Categories

  • Marketing

Trigger this workflow with a webhook from Recharge subscribed to the subscription/cancelled topic on API version 2021-11. Every time a subscriber cancels, the payload gives me the cancelled subscription, including the customer id, the product that was cancelled, and the cancellation reason. Recharge sends both a free text reason and a reason code, so read both.

Start by building a picture of who just churned. Use Recharge Get Customer with the customer id from the payload to get their email, their name, and the date they became a customer. Use Recharge List Subscriptions filtered to that customer to confirm which product was cancelled and whether they still have any other active subscriptions. Use Recharge List Orders filtered to that customer to count how many orders they have received and to sum their lifetime spend. Recharge returns money as decimal strings in the store currency, so convert before adding. From the customer creation date and the cancellation date, work out tenure in whole months.

Now pick the win-back audience from the cancellation reason. Reasons are loosely worded free text plus a reason code, so interpret the meaning rather than matching exact strings. Price objections such as "too expensive", "costs too much", or "cannot afford it right now" go to the discount win-back list. Volume and pacing complaints such as "too much product", "still have plenty left", or "shipments come too often" go to the lower frequency list, because the fix there is a longer interval and not a discount. Quality, fit, and experience complaints such as "did not like the taste", "it did not work for me", or delivery and service problems go to the feedback list, where a human should hear the detail before any offer goes out. If the reason is blank or genuinely unclear, use the general win-back list and say so in the summary rather than guessing.

Write what you learned onto the customer's Klaviyo profile with Klaviyo Create or Update Profile (Upsert), matching on their email. Set churn properties for the raw cancellation reason, the segment you chose, tenure in months, order count, lifetime value, the cancelled product name, and the cancellation date. Then place them on the chosen audience with Klaviyo Add Profiles to List.

Only segment and tag in Klaviyo. Do not send any email from this workflow. The merchant already owns their win-back flows in Klaviyo and those flows trigger off list membership, so this workflow is done once the profile is enriched and sitting on the right list.

Finally, post a short summary to the retention channel with the Slack Bot Send a Message operation. Include the customer name and email, the product they cancelled, the reason in their own words, tenure in months, order count, lifetime value, and which audience they landed on. If lifetime value is above the high value threshold, lead the message with a clear flag saying a human should reach out personally before the automated sequence runs, so the team has a chance to save the relationship with a real conversation. If the customer still has other active subscriptions, label it as a partial cancellation so nobody sends a win-back offer to a current subscriber.

Let me configure the Klaviyo list ids for the discount, lower frequency, feedback, and general win-back segments, the Slack channel to post retention summaries into, and the lifetime value threshold that counts as high value.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them