See which Kajabi offers actually made money this period

Pick any date range and see gross revenue, orders, refunds, and average order value for every Kajabi offer, then drill into the exact sales behind each number.

App
KajabiGoogle SheetsFinanceOperationsAI ReportsData Sync
PromptCreate

Build me an app that answers the question Kajabi's own analytics tab will not: which of my offers actually made money in a given period, and how much of that money stayed. I open the app, pick a date range at the top, and the main view gives me a table with one row per offer and per product, showing gross revenue, order count, the split between new and recurring revenue, refund and cancellation rate, and average order value. I want to be able to sort that table by any column, because the offer with the biggest revenue is not always the one with the healthiest numbers.

The handler builds this table itself rather than relying on any single summary endpoint. Use List Offers and List Offer's Products to learn which products belong to which offer, List Products for the product catalog, and List Orders plus List Purchases across the selected date range as the transaction data. Roll all of it up server side into the per offer and per product figures. Every one of these list endpoints is paginated, so the handler must page through with page[number] and page[size] and keep following links.next until it comes back null, otherwise the totals will be quietly short. Use sort=-created_at where recency matters. If the account has more than one site, pass filter[site_id] so the numbers are scoped to a single site instead of silently blending brands.

Clicking any offer row drills into the individual orders behind that number. This detail view lists the orders in the range with their customer, date, and amount, and uses Get Order Details and Get Transaction Details so I can see exactly which transactions moved the total. If a number in the summary table looks wrong or surprising, I should be able to click it and reach the specific transactions that produced it without leaving the app.

A second tab shows what is leaking: every cancelled and refunded purchase in the selected range, pulled with List Purchases and enriched with Get Purchase Details, showing the offer, the customer, the amount, and when it happened. This is the view I open when the gross number looks fine but the net does not.

Add an Explain this period button that kicks off a background agent. The agent recomputes the same rollup for the comparison period, compares it against the selected range, and identifies the two or three offers driving the swing in either direction. For each of those it works out whether the change came from volume (more or fewer orders), price (a different average order value), or churn (more cancellations and refunds), and then writes a short plain English business review back into the app, where it is displayed alongside the table. Write it for a business owner, not an analyst: what changed, which offers caused it, and why.

When that agent finishes, it also appends a snapshot row per offer to a Google Sheets tracker using Append Values, capturing the period start and end, offer name, gross revenue, order count, refund and cancellation rate, and average order value. That way I accumulate a running month by month history outside Kajabi that survives independently of the app.

Two rules to bake in throughout. First, every monetary amount Kajabi returns is in cents, including price_in_cents and amount_in_cents, so convert to real currency before anything is displayed, written into the review, or appended to the spreadsheet. Never show a raw cents value. Second, the comparison period defaults to the immediately preceding range of the same length, so a 30 day selection compares against the previous 30 days and a single month compares against the month before it. Let me override the comparison range if I want to, but that default is what should load.

What does this prompt do?

  • Pick any date range and get one row per offer and product with gross revenue, order count, the new versus recurring split, refund and cancellation rate, and average order value.
  • Click any offer to open the individual sales behind that total, right down to the specific transactions that moved the number.
  • A second tab lists every cancelled and refunded purchase in the range, so you can see exactly where money is leaking back out.
  • Press Explain this period and an assistant compares your range against the one before it, names the two or three offers driving the swing, says whether it came from volume, price, or churn, and writes a short plain English review inside the app while logging a snapshot row per offer to a Google Sheets tracker.

What do I need to use this?

  • A Kajabi account with the Public API turned on. It is included on the Pro plan or available as a paid add-on, and only owners or subowners can create the connection.
  • A Google account and a spreadsheet you want to keep the running month by month history in.
  • If you run more than one Kajabi site, knowing which site the numbers should cover.

How can I customize it?

  • Change the date range that loads by default when you open the app, and the comparison period the written review is measured against.
  • Sort or filter the table the way you think about the business, for example by revenue, refund rate, or order count, and hide columns you do not use.
  • Point the history tracker at a different spreadsheet or tab, and choose which figures get saved on each snapshot.

FAQs

How is this different from the analytics tab inside Kajabi?
Kajabi's built-in reporting is deliberately high level, and its funnel revenue counts every sale of a linked offer no matter where the buyer actually came from. This gives you offer level and product level revenue for a range you choose, with refunds and cancellations sitting next to the gross number, plus the ability to click through to the individual sales that make up any total.
Will the money amounts show correctly?
Yes. Kajabi stores every amount in cents behind the scenes, which is a common source of numbers that look a hundred times too big. The app converts everything into real currency before it is shown, so what you read is what you earned.
What date ranges can I choose?
Any range you like, such as last month, a launch week, or a full quarter. The written review compares your selection against the period immediately before it of the same length, so a 30 day range is always measured against the previous 30 days.
Does it change anything in my Kajabi account?
No. The app only reads your orders, purchases, offers, and products. The only thing it writes to is the Google Sheets tracker you connect, where it appends a snapshot row per offer so you build a history outside Kajabi.
What if I sell through more than one Kajabi site?
You can scope the dashboard to a single site, so the totals reflect just that brand or business rather than everything mixed together.

Related templates

Kajabi customer support console for member access fixes

Look up any Kajabi member by email or name and see every offer, purchase, and payment in one profile, then grant, revoke, or swap access from the same row.

Kajabi
Gmail
Slack
App
A weekly Keap cleanup desk for duplicate contacts and tag sprawl

See duplicate Keap contacts side by side with their orders and tags in view, merge the right record on purpose, and retire the tags nobody uses.

Keap
Google Sheets
App
Klaviyo list health and sunset workbench for deliverability

Clean your email list from one screen: see every audience, review who is in it, and suppress unengaged people in batches a human approves first.

Klaviyo
Google Sheets
App
WhatsApp broadcast console for planning and launching campaigns

Compare every WhatsApp campaign side by side, launch a new one from a spreadsheet audience, and stop a bad send in one click.

Kapso
Google Sheets
App
Daily buying signal desk your SDRs work like an inbox

Every morning your reps open one queue of people publicly asking for alternatives, complaining about a renewal, or shopping your category.

Infegy
HubSpot
Google Sheets
+1
App
Kajabi launch opt-in versus buyer conversion dashboard

Pick a Kajabi opt-in form and a launch window and see who opted in, who bought, and who did not, then tag the non-buyers for follow-up in one click.

Kajabi
Slack Bot
App

Find out which offers actually made you money.

Stop exporting one spreadsheet per metric and guessing where the revenue really came from.