Why GoHighLevel tracking breaks
GoHighLevel makes it easy to launch funnels fast โ and just as easy to end up with tracking you can't trust. The issues we see most often:
- Iframe embeds. GHL forms and calendars embedded on WordPress or Webflow sites run inside an iframe, so the parent page's GA4 and pixels don't see the submission.
- Shared thank-you pages. Several funnels redirect to one thank-you page, so every lead is counted as the same conversion.
- Page-view "conversions". Refreshes and direct visits to the thank-you URL inflate lead counts.
- No server-side events. iOS privacy changes and ad blockers hide a large share of browser-only conversions from Meta.
- Lost UTMs. Source data isn't stored on the contact, so the CRM can't tell you which campaign produced a closed deal.
- Bookings and sales never reach the ad platforms. Google and Meta optimise for cheap form fills instead of qualified calls.
Our GHL tracking setup
Google Tag Manager & GA4
We add one GTM container to your GHL funnels and websites (via the head tracking code settings) and build your GA4 configuration inside it: page views across funnel steps, generate_lead, booking, purchase with value and currency, and custom events for key steps like application starts. Cross-domain measurement is set up when your funnel and main site live on different domains.
Meta Pixel + Conversions API
Browser Pixel events for Lead, Schedule and Purchase, mirrored server-side with matching event IDs so Meta deduplicates them. We check Event Match Quality and pass hashed email and phone where your consent setup allows.
Google Ads conversions & offline conversion import
Primary conversions for qualified actions (booked call, purchase) instead of every form fill, Enhanced Conversions for leads, and gclid capture on the contact so pipeline outcomes โ showed, closed won โ can be sent back to Google Ads.
UTM & click-ID capture in the CRM
Every contact stores source, medium, campaign, content, term, gclid and fbclid. Your GHL pipeline reports then show revenue by campaign, not just lead counts.
Optional: HYROS or Triple Whale
For high-ticket call funnels we connect HYROS to GoHighLevel. Shopify brands using GHL for marketing can combine it with Triple Whale.
Tracking plan example: coaching call funnel
| Step in GHL | GA4 event | Meta event | Google Ads |
|---|---|---|---|
| Opt-in form submitted | generate_lead | Lead | Secondary conversion |
| Application submitted | submit_application | SubmitApplication | Secondary conversion |
| Call booked on GHL calendar | book_call | Schedule | Primary conversion |
| Opportunity moved to "Closed won" | โ | Purchase (server) | Offline conversion with value |
How the project runs
- Audit of your current GHL funnels, forms, calendars and ad accounts.
- Written tracking plan (events, parameters, platforms) for your approval.
- Implementation in GTM, GHL and the ad platforms.
- QA with real test submissions; screenshots from GA4 DebugView, Meta Events Manager and Google Ads.
- Handover document plus a short Loom walkthrough.
Prefer to do it yourself? Our tutorial How to track GoHighLevel funnels with GA4 and GTM covers the basics.