Skip to content

Collects as they arrive, acts daily

Find out the main reasons customers cancel

Once a month you get the cancellation reasons grouped into a few themes, with how often each came up.

Runs
Collects as they arrive, acts daily
Apps
Recharge
AI
Yes, uses the built-in AI allowance
Access
Subscriptions read

Send this to your assistant

Create a ClickRuntime automation: keep every Recharge cancellation reason, and on the 1st of each month email me the top five themes with a count and an example for each.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

A Shopify subscription store using Recharge gets a trickle of cancellations, each with a reason the customer picked from a list or typed into a box: too expensive, too much product piling up, switched brands, shipping damage. Reading them one at a time tells you nothing. Nobody has time to tally them by hand, so the real reasons people leave stay anecdotal and decisions rest on guesses.

As cancellations happen, ClickRuntime stores each reason. At the end of the month, built-in AI reads the full set, groups the reasons into themes and counts how often each came up, and emails you the result with a few representative quotes. No separate AI account or key is needed.

Subscription brand owners and retention managers get the most from it, because the themes point at what to fix: pricing, frequency options or product quality.

What you get out of it

  • Churn causes become concrete

    Instead of a vague feeling that customers leave over price, you see that a third cite too much product and a fifth mention delivery issues. Fixes can be aimed at the largest cause.

  • Skip and frequency options get tested

    If many customers say they have too much stock, offering a longer delivery interval or a skip option is a direct response. The summary tells you whether that idea has support in your own data. Guesswork about what customers want gets replaced by their own words.

  • Free-text answers finally count

    Typed reasons are the most informative, and the hardest to analyze. AI grouping turns hundreds of short comments into a short list of themes, so the detail is no longer wasted.

  • Month-over-month movement is visible

    When last month's top reason was price and this month's is quality, something changed in your business or supply chain. A regular summary lets you notice and ask why. Trends tell you more than any single month.

  • Product and support teams share evidence

    A themed summary is easy to forward to the people who run packaging, fulfillment or customer service. It carries real customer words, which is more persuasive than a manager's impression.

How it works

What happens, step by step

  1. Each time a customer cancels a Recharge subscription, ClickRuntime saves the reason and any comment they wrote.

  2. On the 1st of the month, AI reads all the saved reasons and groups them into a few themes.

  3. You get an email listing each theme with how often it came up and an example quote from a customer.

Before it runs live

  • Connect Recharge
  • Paste your automation's link into the other app's webhook settings

What you get

RunsCollects as they arrive, acts daily
Find out the main reasons customers canceltoday, 9:00Succeeded
Email · Cancellation themes1. Too much product (14), e.g. "I have three bags left" 2. Price (9), e.g. "Found cheaper beans locally"

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • Your own rules

    Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.

  • Any number of apps

    One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.

  • AI where it helps

    Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.

  • On a schedule or on each event

    Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.

Changes you can ask for

  • Act only on the items that match your own rules, and skip the rest
  • Change what the AI looks for, or how it writes the result
  • Add another app, for example also send it to Slack
  • Combine it with other Recharge steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
ai_summary_of_cancellation_reasons.pyexample
from clickruntime import on_event, on_trigger, state, ai, notify

@on_event
def handle(event):
    if event.header("X-Recharge-Topic") == "subscription/cancelled":
        s = event.json["subscription"]
        reason = " ".join(filter(None, [s.get("cancellation_reason"), s.get("cancellation_reason_comments")]))
        reasons = state.get("reasons") or []
        reasons.append(reason[:300] or "no reason")
        state.set("reasons", reasons)
    return {"ok": True}

@on_trigger
def run(event):  # 1st of the month
    reasons = state.get("reasons") or []
    if not reasons:
        return {"reasons": 0}
    themes = ai.generate("\n".join(f"{i}. {r}" for i, r in enumerate(reasons, 1)), max_output_tokens=600,
                         system="These are subscription cancellation reasons. Give the top five themes, "
                                "each with a count and one example quoted.").text
    notify.email_me(f"Why {len(reasons)} customers cancelled last month", themes)
    state.delete("reasons")
    return {"reasons": len(reasons)}

FAQ

Common questions

How does it collect the reasons during the month?
Each time a subscription is cancelled, Recharge sends an event with the cancellation reason. ClickRuntime saves it as it arrives, and at month end it summarizes everything saved. Nothing needs to be exported from Recharge by hand.
What if customers choose from a preset list of reasons?
Preset reasons are counted directly, and the AI adds value on the free-text field where customers explain in their own words. The summary can show both together, so you see the picked category and the themes behind it.
Does the AI summary ever invent reasons?
The AI works only from the reasons that were stored, and the email shows counts with sample quotes so you can check them against the source. If a theme looks off, you can ask for it to be regrouped differently.
What permissions does it need?
Subscriptions read. Nothing else in your accounts is used.
Does it need AI?
Yes. It uses ClickRuntime's built-in AI, so you don't need an OpenAI or Anthropic key. Every plan includes a monthly AI allowance.
How many runs does it use?
One run each time it checks. Checks that find nothing new and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Find out the main reasons customers cancel” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.