How to Track GoHighLevel Funnels and Sites in GA4
GoHighLevel Google Analytics tracking works through two separate paths inside the platform, and most setup headaches start with someone using the wrong one for the job.
One path records pageviews as visitors move through a funnel or website. The other fires custom events from inside a workflow, like a form submission or a booked appointment.
They need different credentials and live in different parts of the interface, which is how teams end up with duplicate events in their reports.
How GoHighLevel Google Analytics tracking splits in two
The simplest way to tell the two paths apart is to ask what triggers the data. Pageview tracking fires the moment a page loads, because the gtag.js script sits in the page itself.
The workflow action fires only when a workflow runs, so it sends data when a contact does something that trips a trigger you built.
| Pageview tracking (gtag.js) | Add To Google Analytics (workflow action) | |
|---|---|---|
| Where it lives | Funnel/Website Settings, Head tracking code | A step inside a workflow |
| What you need | A GA4 Data Stream and its Measurement ID | Measurement ID plus a Measurement Protocol API secret |
| What it captures | Page loads across a funnel or website | Named events: form subs, tag additions, bookings, purchases |
| Delay before it shows in GA4 | Standard GA4 processing | 24 to 48 hours, per GoHighLevel's own support documentation |
That last row catches people out more than anything else. Fire a workflow event and check GA4 an hour later expecting to see it, and you won't. GoHighLevel's support article on GA4 tracking is specific that the wait runs 24 to 48 hours after the workflow finishes.
Setting up pageview tracking on a funnel or website
Start in Google Analytics, not GoHighLevel. Create a GA4 property, open Admin, go to Data Stream, and set up a Web stream for the funnel or website's URL.
GoHighLevel's guide to recording pageviews in GA4 covers that part on the Google side before any script touches GoHighLevel.
Back in GoHighLevel, decide whether the script runs site-wide or on one page in the GoHighLevel website builder or funnel editor.
A base script meant for every page, like the main Google Analytics tag, belongs in the funnel or website's Settings tab, under Head tracking code. One meant for a single page belongs in that page's own Tracking Code option instead.
Don't add the same script in both places. The support article on adding tracking code to funnels and websites warns that doing so produces duplicate page views, duplicate events, duplicate conversions, and reporting data you can no longer trust.
If this is more setup work than you want to take on in-house, it's the kind of thing our GHL setup and configuration work handles directly.
Firing custom events with the Add To Google Analytics workflow action
Pageviews tell you traffic showed up. They don't tell you what that traffic did once a workflow took over, which is where the Add To Google Analytics action earns its place in the workflow automation built around GoHighLevel.
Add the action to a workflow, pick GA4, and fill in the Measurement ID from your GA4 Data Stream, an event name you choose, and an API secret generated under Data Stream, then Measurement Protocol API secrets.
An optional Event Value field can pass along a number, such as an order total.
The action's own support documentation lists its practical uses:
- Logging a form submission as a named event
- Recording a visit to a specific location or page
- Marking when a contact gets tagged, such as "New Lead"
- Documenting a booked appointment
- Recording a product purchase
Get the Measurement ID or API secret wrong, or leave a stray space in the pasted value, and the action fails quietly rather than throwing an error you'd notice. Paste carefully, then give it the day or two it needs before checking GA4.
Cover photo by Daniil Komov on Pexels
Need help implementing this in GoHighLevel?
Our team builds, automates, and scales GoHighLevel systems for agencies every day. Book a free call and we'll map out exactly what to ship next.
Book a free call


