Kajabi tracking

Kajabi Conversion Tracking: Course Sales, Opt-ins & Meta CAPI

This is for course creators, coaches and membership businesses who sell on Kajabi and run ads to their offers and opt-ins. Kajabi hosts the checkout and some system pages, so not every page runs your scripts, and native integrations can overlap with GTM. I set up purchase and lead tracking that works within those limits, and add a server-side copy of each sale.

Kajabi · Ecommerce & lead gen
  • Offer purchases tracked with the real price, not a fixed value
  • Opt-in forms and free offers tracked as leads
  • Native Kajabi integrations and GTM kept from double counting
  • Server-side purchase events from Kajabi's sale notifications
Quick answer

Proper Kajabi tracking means choosing between Kajabi's native GA4 and Meta Pixel integrations and GTM for each event, installing GTM in the site-wide header scripts, tracking purchases on a thank-you page you control with the offer's real value, and sending a server-side copy of each sale from Kajabi's purchase notifications to Meta CAPI and Google Ads.

Tracking flow

How tracking works on Kajabi

The events I set up on Kajabi, and where each one is sent.

Why it breaks

Why Kajabi tracking goes wrong

Not every page runs your scripts

Kajabi's header page scripts load on most site pages, but some system pages don't load site-level scripts. Tags that rely on those pages never fire, and the gap is easy to miss.

Checkout is Kajabi's page

The checkout is hosted and controlled by Kajabi. You can't add your own purchase code to it, so the purchase signal has to come from a native integration, a thank-you page or a server-side source.

Native integrations plus GTM

Kajabi can send events to GA4 and the Meta Pixel natively. If GTM sends the same purchase or lead, every sale is counted twice.

Wrong or missing purchase value

When purchase tracking is a page view on a shared thank-you page, every sale gets the same value, or none. Payment plans, coupons and order bumps make the gap bigger.

Sales without a browser

Upsells, payment plan instalments and sales completed after the buyer closes the tab never reach a browser tag. Meta and Google underreport your best offers.

What I set up

My Kajabi tracking setup

Install & clean-up

  • GTM in the site-wide header page scripts
  • Audit of Kajabi's native GA4 and Meta Pixel settings
  • One sender per event, with duplicates removed
  • Check of which pages in your funnel load site scripts
  • Internal and test traffic kept out of ad data

Sales tracking

  • Purchase event per offer on a thank-you page you control
  • Offer name, price and currency passed with each purchase
  • Google Ads purchase conversion with enhanced conversions
  • Meta Pixel purchase with a shared event ID for CAPI

Lead tracking

  • Opt-in forms and free offers tracked as leads
  • Webinar or call bookings tracked separately
  • UTMs and click IDs kept for attribution
  • Lead values agreed per opt-in where it helps bidding

Server-side

  • Server-side GTM on Stape or Google Cloud with a tracking subdomain
  • Purchase notifications from Kajabi (webhook or automation) sent to server-side GTM
  • Meta Conversions API with hashed email, deduplicated
  • Test purchases checked in Meta Events Manager and Google Ads
Event map

Events I track on Kajabi

EventWhen it firesSent to
page_viewSales page or landing page loadsGA4, Meta Pixel
generate_lead / LeadOpt-in form submitted successfullyGA4, Google Ads, Meta Pixel + CAPI
begin_checkout / InitiateCheckoutClick through to an offer's checkoutGA4, Meta Pixel
purchase / PurchaseBuyer lands on the offer's thank-you pageGA4, Google Ads, Meta Pixel
purchase (server)Kajabi reports the sale to server-side GTMMeta CAPI, Google Ads, GA4
book_appointmentCoaching or discovery call bookedGA4, Google Ads, Meta
Process

How the setup works

  1. 01

    Audit

    I check Kajabi's native integrations, header scripts and offer settings, and compare platform conversions with your Kajabi sales.

  2. 02

    Map the funnel

    We list your offers, opt-ins and thank-you pages, and agree how each sale and lead should be valued.

  3. 03

    Build

    I install GTM, set up thank-you page purchases and lead events, and connect Kajabi's sale notifications to server-side GTM.

  4. 04

    Test purchases

    I run test purchases, using a coupon or low-priced test offer, and confirm each one is counted once with the right value.

  5. 05

    Hand over

    You get an event map and a checklist to follow whenever you launch a new offer.

Getting purchase data out of Kajabi

Because the checkout belongs to Kajabi, there are three places a purchase can come from: Kajabi's own GA4 and Meta integrations, a thank-you page on your site where GTM runs, or a server-side notification of the sale. For each offer I pick the method that gives the most accurate value and avoids duplicates.

A thank-you page per offer, or one page that reads which offer was bought, lets GTM send the real price rather than a guess. The server-side copy then covers buyers who never reach that page, such as people who close the tab after paying.

Kajabi native integrations vs GTM

Kajabi's built-in GA4 and Meta Pixel settings are easy and Kajabi recommends them for purchase tracking across checkout paths. Their limit is control: you can't change event parameters, add Google Ads conversions with enhanced conversions, or run a single server-side pipeline.

I often keep the native Meta integration for basic events and add GTM for Google Ads and lead tracking, or move everything to GTM and server-side GTM. The important part is that each event has one sender.

FAQ

Kajabi tracking FAQ

How do I add Google Tag Manager to Kajabi?

Paste the GTM head snippet into the header page scripts in your site settings, and the body snippet where Kajabi allows it. Then check your key pages in GTM preview, since some system pages don't load site-level scripts.

How do I track Kajabi purchases in Google Ads?

Send buyers to a thank-you page you control and fire the Google Ads purchase conversion there with the offer's price, or send the sale server-side. Turn on enhanced conversions so Google can match more sales.

Why does Meta show double purchases from Kajabi?

Usually the native Meta Pixel integration and a GTM tag both send the purchase. Keep one browser sender, and if you add CAPI, use a shared event ID so Meta can deduplicate.

Can Kajabi send server-side events to Meta?

I send them through server-side GTM, using Kajabi's purchase notifications as the source. Each event includes hashed customer data and the same event ID as the browser purchase, so Meta keeps one copy.

Can you track payment plans and upsells?

Yes, as long as we agree how to value them. I usually send the first payment as the purchase value, and optionally the full plan value as a separate conversion for reporting.

Guides

Read next

Want your Kajabi tracking fixed?

Get a free audit of your tracking and ad account. Usually replies within 1–2 hours.