Back to Payhip in Excel
SheetXAI logo
Payhip logo
Payhip · Excel Guide

Track Churn From Payhip Subscription Deleted Events in Excel

2026-05-14
5 min read

The Scenario

You've been logging Payhip subscription.deleted webhook payloads into an Excel workbook for six months — the "Cancellations" worksheet holds the JSON blobs in column A, one per row. It started as a precaution, something to have around if anyone ever asked. Nobody asked for five months. Then last Monday the founder pinged you in Slack: "Which plans are people actually canceling? I want to know before we redesign the pricing page."

You have six months of cancellation data. You have no idea which plans are churning the most because you've never parsed the raw payloads.

The bad version:

  • Open the first row of column A, extract the plan name and cancellation date by reading the JSON.
  • Write those two values somewhere — a new worksheet, a running list in a text file.
  • Work through all 200-plus rows this way, manually incrementing a count for each plan name as you go.
  • Realize that some rows have different JSON structures because the webhook format changed at some point, and go back to check your counts.

You've been sitting on this data for six months. The fact that getting a simple churn breakdown from it requires a full afternoon of manual work is a failure mode, not a feature.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent that lives inside your Excel workbook. It reads every row of cancellation webhook data, extracts the plan name and cancellation date from each payload, and builds the breakdown you need — without you touching a single row of JSON.

Read my Excel "Cancellations" worksheet where column A holds Payhip subscription.deleted webhook JSON, extract the subscriber email and plan, and write a sorted churn report to the "Churn Report" worksheet.

What You Get

  • A churn report lands on the "Churn Report" worksheet with one row per plan and total cancellation counts, sorted by volume descending.
  • Each month represented in the source data gets its own column so you can see whether churn is accelerating or leveling off.
  • Rows with malformed JSON or missing plan fields are flagged separately, not silently excluded from the report.

What If the Data Is Not Quite Ready

The webhook format changed partway through — two different JSON structures in the same column

Parse the Payhip subscription.deleted events in column A of the "Cancellations" worksheet. Handle two possible JSON structures: one where the plan name is at "data.plan.name" and one where it's at "subscription.plan_id". Extract whichever field is present, note the schema version in a helper column, and produce a unified churn report on "Churn Report".

You want churn counts filtered to only the last 90 days

Parse column A of the "Cancellations" worksheet for Payhip subscription.deleted events. Filter to only events where the cancellation date falls within the last 90 days. Write the results to "Churn Report" with a count column and a "% of total cancellations" column, sorted by count descending.

The plan slugs need to be mapped to display names before reporting

Parse the Payhip subscription.deleted events in column A of "Cancellations". Map plan slugs to display names: "tier_starter" → "Starter", "tier_pro" → "Pro", "tier_enterprise" → "Enterprise". Write cancellation counts by display plan name and month to "Churn Report".

Full analysis in one prompt — parse, clean, pivot by plan and month, rank by churn rate, and flag the worst-performing plan

Parse all Payhip subscription.deleted events from column A of "Cancellations". Map slugs to display names. Write a pivot of cancellation counts by plan and month to "Churn Report". Add a "Churn Rate" column if total subscriber counts by plan are available in a "Subscribers" worksheet. Sort plans by total cancellations descending.

Six months of raw cancellation data becomes a usable analysis in a single prompt.

Try It

Get the 7-day free trial of SheetXAI and open the workbook where your Payhip subscription.deleted webhook payloads are logged, then ask it to parse and pivot the churn data by plan. To see the other side of the same dataset, see Build a New Subscriber Report From Payhip Webhook Data in an Excel workbook or return to the Payhip integration overview.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more