Google Analytics

Connecting Zonal PMS Booking Engine to Google Analytics 4 via Google Tag Manager

A complete, step-by-step guide to connecting your Zonal PMS Booking Engine to Google Analytics 4 through Google Tag Manager. This guide walks you through the full setup process, from adding your GTM code to the Zonal PMS Booking Engine and configuring page view and purchase tags, to understanding exactly what data pulls through to GA4.

You'll also find the full dataLayer schema for the confirmation page, a complete dataLayer reference covering every stage of the booking journey, and suggested enhancements to get more out of your GA4 and Google Ads reporting. The guide closes with guidance on cross-domain tracking configuration and a troubleshooting checklist to help you resolve common setup issues.

Whether you're setting this up for the first time or auditing an existing implementation, this guide gives you everything you need to track bookings accurately and reliably.

For more information and help select an option from the menu or choose from the following sections:

If purchase data is not appearing in GA4, work through this checklist in order:

Check
GTM container ID entered correctly in the PMS Settings (format: GTM-XXXXXXX)
GTM container published not just saved as draft
GA4 Measurement ID is correct in all GA4 tags
Page View tag trigger: hostname contains high-level-software.com
Purchase tag trigger: page path contains /availability/confirm
'Send Ecommerce Data' ticked on purchase tag, source = Data Layer
Cross-domain tracking configured in GA4 (both domains added)
Same GA4 Measurement ID (G-XXXXXXXXXX) firing on both your website and the booking engine
‘Book Now’ link passes the _gl parameter to the booking engine (check the URL after clicking)
Booking domain (high-level-software.com) added to GA4 ‘List unwanted referrals’
Attribution checked via session_source / session_medium in DebugView - not the Referral report
Tested using GTM Preview Mode - completed a test booking end to end
On confirmation page, dataLayer tab shows 'purchase' event
Allow up to 48 hours for data to appear in GA4 standard reports