In previous post, we installed GTM on Kajabi and verified it’s running. Now comes the part that actually matters for your marketing decisions: telling Google Analytics 4 (GA4) exactly when a sale happens — and how much it was worth.
By the end of this post, GA4 will show you real purchase events with revenue, not just page_view.
Why Pageviews Aren’t Enough
By default, GTM + GA4 will track page_view the moment you install it. That tells you people visited your thank-you page, but it doesn’t tell GA4 that a purchase happened, and it definitely doesn’t tell GA4 how much money came in. For that, you need a dedicated purchase event with parameters attached.
The Setup Has Three Parts
- A trigger in GTM that detects when a purchase happens
- A tag in GTM that sends the purchase event to GA4
- Parameters on that event — order value, currency, product name — so the data is actually useful
Step 1: Identify Your “Purchase Confirmed” Signal
Kajabi redirects buyers to a thank-you/order confirmation page after checkout. This page URL is your trigger signal. Common patterns look like:
/offers/xxxxx/order-confirmation- A custom “Thank You” page you built yourself and set as the checkout redirect
Go to that page in Kajabi (or check your offer’s checkout settings) and copy its exact URL path.
Step 2: Create the Trigger in GTM
- In GTM, go to Triggers → New
- Name it something clear, like
Trigger - Purchase Page View - Trigger type: Page View
- Set it to fire on Some Page Views
- Condition:
Page URL→contains→ paste your thank-you page URL path - Save
Step 3: Build the GA4 Purchase Event Tag
- Go to Tags → New
- Tag type: Google Analytics: GA4 Event
- If you haven’t already connected a GA4 Configuration tag, you’ll need to create one first with your GA4 Measurement ID (found in GA4 under Admin → Data Streams)
- Event Name:
purchase(this exact name matters, GA4 has standard ecommerce event names it recognizes automatically) - Under Event Parameters, add:
value→ the sale amountcurrency→ e.g.,USDtransaction_id→ a unique order identifier, if available
Step 4: Passing Real Revenue Data (Not a Fixed Number)
Here’s where most basic tutorials fall short — they’ll show you how to fire a purchase event, but hardcode the value, which breaks the moment you have more than one price point.
To pass the actual sale amount dynamically, you have two options depending on your Kajabi setup:
Option A — URL Parameters: If your thank-you page URL includes the amount (some Kajabi offers append order details to the confirmation URL), you can extract it using a GTM URL Variable or a Custom JavaScript Variable that parses the query string.
Option B — Data Layer (more reliable): If you have access to add a small script to your thank-you page (via Kajabi’s page code editor), push the order value into the dataLayer before GTM fires:
<script>
window.dataLayer = window.dataLayer || [];
dataLayer.push({
event: 'kajabi_purchase',
value: 197.00,
currency: 'USD',
transaction_id: 'ORDER123'
});
</script>
Then in GTM, use Data Layer Variables named value, currency, and transaction_id to pull these into your GA4 tag automatically. This is the more scalable approach if you sell multiple products at different price points, since each offer’s thank-you page can push its own values.
Step 5: Attach the Trigger and Test
- On your GA4 Event tag, under Triggering, select the trigger you built in Step 2
- Save the tag
- Open Preview mode in GTM, navigate to your thank-you page (or a real test purchase), and confirm the
purchaseevent fires with the correct value and currency showing in the debug panel
Step 6: Confirm It’s Landing in GA4
Purchase events can take a few hours to show in GA4’s standard reports, but you can verify in real time:
- In GA4, go to Reports → Realtime
- Trigger a test purchase (or visit your thank-you page)
- You should see the
purchaseevent appear in the Realtime event list within seconds, along with the parameters you set