GoHighLevel Booking Conversion Tracking with GTM (GA4 & Google Ads Setup Guide)

Introduction

GoHighLevel booking widgets are usually embedded as iframe booking forms, which means default form triggers in Google Tag Manager cannot detect the booking submission. To solve this, we implement gohighlevel booking tracking using gtm with a custom listener script and Data Layer event tracking.

✔ This setup allows you to track:

➜ GoHighLevel booking conversions
➜ Google Ads conversion tracking
➜ GA4 booking events
➜ GoHighLevel iframe booking tracking
➜ Accurate appointment tracking using GTM

Tracking will be configured using:

  • Google Tag Manager
  • Google Ads
  • Google Analytics 4

Prerequisites 

Before starting, make sure you have:

✔ Website with GoHighLevel booking iframe
✔ Google Tag Manager installed
✔ Access to Google Ads account
✔ Access to GA4 property
✔ GoHighLevel booking listener script

📞 Need Help?

✅ Hire Me for SetupWhatsApp Me
✅ Book a ConsultationSchedule a Call

Step-by-Step Implementation

PART 1 – Detect GoHighLevel Booking Event

Step 1: Confirm Booking Widget Is an iframe

Open your website and inspect the booking section.
Right-click → View Frame Source.

✔ If the booking widget loads inside an iframe, the booking system is embedded.

GoHighLevel iframe Booking

Step 2: Add GoHighLevel Booking Listener Script

Add the custom JavaScript listener code to your website.

✔ This script will:

➜ Detect GoHighLevel booking completion
➜ Capture booking event
➜ Push booking data to the Data Layer

GoHighLevel Listener Script

PART 2 – Test Data Layer Event

Step 3: Open GTM Preview Mode

Open Google Tag Manager → Click Preview → Enter your website URL → Connect.

✔ If preview connects successfully, GTM is working.

GTM Preview Connected

Step 4: Test Booking Submission

Create a test booking on your website.

Example test process:

➜ Select booking date
➜ Choose available time
➜ Enter test name and email
➜ Confirm appointment

After confirmation, check GTM Preview Events.

✔ You should see two events:

  • form_submit
  • booking_complete

✔ Use booking_complete event for conversion tracking.

Booking Complete Event

PART 3 – Create GoHighLevel Booking Tracking Trigger in GTM

Step 5: Create Custom Event Trigger

  • Open GTM → Create new trigger.
  • Trigger Type: Custom Event
  •  Event Name: ghl_booking
  • Save the trigger.

✔ This trigger fires when the booking_complete event occurs.

Custom Event Trigger

PART 4 – Google Ads Conversion Tracking for GoHighLevel

Step 6: Create Google Ads Conversion Action

Open Google Ads → Create new conversion action.

  • Conversion type: Booking
  • Conversion name: GoHighLevel Booking
  • Count: One

Select Google Tag Manager as implementation method → Save.

✔ Copy the following:

  • Conversion ID
  • Conversion Label

Google Ads Conversion Setup

Step 7: Create Google Ads Conversion Tag

  • Create a new tag in GTM.
  • Tag Type: Google Ads Conversion Tracking

Add:

  • Conversion ID
  • Conversion Label
  • Trigger: ghl_booking event
  • Save the tag.

Google Ads Conversion Tag

Step 8: Create Required Google Ads Tags

Google Tag
Create new tag → Tag Type: Google Tag → Add Conversion ID → Trigger: All Pages

📸 Screenshot Here – Google Tag Setup

Conversion Linker
Create Conversion Linker tag → Trigger: All Pages

✔ This tag is required for accurate Google Ads attribution.

Conversion Linker Tag 

PART 5 – GA4 Booking Event Tracking

Step 9: Create GA4 Configuration Tag

Create new tag in GTM.
Tag Type: Google Tag
Add GA4 Measurement ID
Send Page View = True
Trigger: All Pages
Save as GA4 Configuration.

GA4 Config Tag

Step 10: Create GA4 Booking Event Tag

Create another tag.
Tag Type: GA4 Event
Event Name: booking
Measurement ID: GA4 Measurement ID
Trigger: ghl_booking event
Save the tag.

GA4 Booking Event Tag

Testing GoHighLevel Booking Tracking

Open GTM Preview Mode → Open GA4 DebugView → Create another test booking.

✔ Confirm the following:

➜ GoHighLevel booking event fires
➜ Google Ads conversion tag fires
➜ GA4 booking event fires

DebugView Booking Event

Final Publish Step

Publish the GTM container.

✔ Your GoHighLevel booking conversion tracking is now active for:

  • Google Ads conversions
  • GA4 booking events

Frequently Asked Questions

Why doesn’t default form tracking work with GoHighLevel?
Because GoHighLevel booking widgets are embedded inside an iframe.

Why use a listener script?
It captures booking completion events and pushes them into the Data Layer.

Why do two events appear during testing?
One event is form submission and the other is booking completion.

Which event should be used for tracking?
Use booking_complete event.

Does Google Ads conversion appear instantly?
No, conversions may take some time to appear in the Google Ads dashboard.

Professional Conclusion

✔ By implementing this setup, you now have:

➜ GoHighLevel booking conversion tracking
➜ Reliable Google Ads conversion measurement
➜ Accurate GA4 booking event tracking
➜ Structured Data Layer event tracking

This ensures accurate tracking for GoHighLevel iframe booking forms.

Need expert help with GoHighLevel booking tracking?

✅ Hire Me for SetupWhatsApp Me
✅ Book a ConsultationSchedule a Call

Author

Md Zubayer Islam
Marketing Data Analyst

LinkedIn
Facebook
Twitter

Leave a Comment

Your email address will not be published. Required fields are marked *