The Google Tag Manager (GTM) integration connects your booking site to your GTM container so you can manage all your tracking tags in one place. We ship a pre-configured GTM container template that wires up purchase, add-to-cart, begin-checkout, and success events with automatic currency and value tracking.
Getting started
Navigate to Settings > Company groups, open the group, switch to the Integrations tab, and click Configure integration on the Google Tag Manager card.
How it works
The configuration view has two halves. The top half is a setup guide that walks you through downloading our pre-built GTM container template, importing it into your GTM account, updating the Measurement ID variable, and publishing. The bottom half is the actual integration form: a single Container ID field plus an Active toggle.
The template is merged into your existing GTM container (or creates a new one if you're starting fresh). It pre-wires tags for the four key e-commerce events on your booking site, so you don't have to build them by hand.
| Event | When it fires |
|---|---|
| Purchase | Customer completes a transaction |
| Add to cart | Customer adds an item to their cart |
| Begin checkout | Customer starts the checkout process |
| Success | Booking or purchase is confirmed |
Each event sends currency and value data automatically.
Step-by-step guide
Download and import the template
| Step | Action |
|---|---|
| 1 | Click Download GTM template in the configuration view. The file downloads to your computer |
| 2 | Open Google Tag Manager and pick the workspace you want to use |
| 3 | Navigate to Admin > Import Container |
| 4 | Choose the downloaded file as the source |
| 5 | Pick Merge as the import option (preserves your existing tags) |
| 6 | Confirm the import |
Update the Measurement ID
| Step | Action |
|---|---|
| 1 | In GTM, navigate to Variables |
| 2 | Find GA4 Measurement ID in the list |
| 3 | Replace the placeholder G-XXXXXXXXXX with your real GA4 Measurement ID |
| 4 | Save the variable |
Publish in GTM
| Step | Action |
|---|---|
| 1 | In GTM, click Submit in the top right |
| 2 | Add a version name and description (e.g., "Off The Couch tracking template v1") |
| 3 | Click Publish to make the changes live |
Connect GTM to your group
| Step | Action |
|---|---|
| 1 | Back on the integration's configuration view, paste your GTM container ID into the Container ID field |
| 2 | Toggle Active on |
| 3 | Click Save at the bottom of the tab |
Verify with GTM Preview
In GTM, click Preview to open the debug console, then visit your booking site in the same browser. As you browse and add items to your cart, the Preview console shows the events firing in real time. Use this to confirm everything is wired correctly before relying on the data downstream.
Reference
Configuration view
| Element | Description |
|---|---|
| Setup guide | Six numbered steps with links to GTM and the Download GTM template button |
| Info alert | Reads: "What's included: Purchase, add to cart, begin checkout, and success events with automatic currency and value tracking." |
| Download GTM template | Primary button that downloads the pre-configured container JSON |
| Container ID | Text input for your GTM Container ID (format: GTM-XXXXXX) |
| Active | Toggle to enable or disable GTM tracking |
| Cancel | Discards changes and returns to the integration list |
| Save | Commits the Container ID and Active toggle |
Pre-configured events
| Event | Description |
|---|---|
| Purchase | Fires when the customer completes a transaction. Includes order total, currency, and item details |
| Add to cart | Fires when an item is added to the cart |
| Begin checkout | Fires when the customer enters the checkout flow |
| Success | Fires on successful booking or purchase confirmation |
Setup links
| Link | Where it goes |
|---|---|
| Google Tag Manager | https://tagmanager.google.com/ |
| GA4 | Used for the Measurement ID, configured in your Google Analytics account |
Good to know
- The downloadable template is the recommended setup. It saves you from configuring four tags, multiple triggers, and variables by hand. Just import, swap in your GA4 ID, and publish.
- Always pick Merge on import, never Overwrite. Merge preserves any existing tags you've already configured in your GTM container; Overwrite wipes them.
- GTM only tracks activity on your public booking site. Internal admin actions (creating an order in the console) don't fire events. The template is designed for customer-facing tracking.
- The template assumes you have a GA4 property. The tags send data to GA4 via the Measurement ID variable. If you don't have GA4 yet, set it up first and use the Measurement ID it generates.
- Container ID format is
GTM-XXXXXX. It's visible in your GTM workspace at the top of the page. - Toggle Active off to pause tracking without losing the Container ID. Useful during testing or maintenance windows.
- Updates to the template ship periodically. Re-download and re-import (with Merge) to pick up new event types or fixes.
- Use GTM's Preview mode liberally before relying on data. Preview shows you exactly which tags fire on each interaction, helping you catch misconfigurations before they corrupt your analytics.
FAQ
Q: Do I still need the separate GA4 integration if I use GTM?
A: Not necessarily. The GTM template sends events to GA4 via the Measurement ID variable. The separate GA4 integration is only needed if you want direct GA4 tracking outside of GTM.
Q: Can I add my own custom tags alongside the template?
A: Yes. The template merges into your existing container. Add any tags, triggers, or variables you need; the imported tags coexist with yours.
Q: My events aren't showing in GA4. What should I check?
A: 1) Confirm the Container ID is correct and Active is on. 2) Confirm the GTM container is published (not just saved as a draft). 3) Confirm the GA4 Measurement ID variable in GTM is your real ID, not the placeholder. 4) Use GTM Preview mode on a real booking site visit to verify the tags fire. 5) Check GA4's DebugView for the events arriving.
Q: Where do I find my Container ID?
A: At the top of your GTM workspace dashboard. Format: GTM-XXXXXX.
Q: Can I use the same Container ID for multiple locations?
A: You can, but it complicates reporting because all events get mixed together. Best practice is one container per group/location, so reports cleanly separate venue performance.
Q: I imported the template but accidentally picked Overwrite. Now my old tags are gone. Can I recover them?
A: GTM has a Versions feature that keeps a history of every published change. In the Versions list, find the version before your import and Set as Latest to restore. Then re-import the template with Merge.
Q: How often is the template updated?
A: Periodically, usually when we add new event types or improve existing tags. Re-download and re-import (with Merge) to pick up updates without losing your customizations.
Q: Can I track conversions on an embedded booking page?
A: Yes, but it's more involved. Iframe-embedded booking pages can't directly fire tags on the parent domain. Use postMessage to relay events to the parent and handle them there. The Google Analytics 4 integration view shows an example code snippet you can adapt for GTM.