Why This Matters

Google Tag Manager gives House of Legends a single control panel for all marketing tags. When activated, GTM can relay website activity to Google Ads, GA4, and any other advertising tool — without changing the website code each time. Think of GTM as a switchboard: instead of asking the development team to add a new tracking tag every time you want to run a campaign, you simply flip a toggle in the GTM dashboard.

Current Status

GTM is dormant. The website does not currently load the GTM script, so no events are being sent through it. This is intentional — GTM will be activated when the team is ready to connect Google Ads or other Google tools.
Doc Status: GTM is configured but not mounted in the application runtime. The environment variable exists; the script loader does not inject the GTM container.
ItemValue
Environment variableNEXT_PUBLIC_GTM_ID
Current valueGTM-XXXXXXX (placeholder)
Container loadedNo
dataLayer events pushedNo (would be pushed if activated)

Events Sent to GTM

When GTM is activated, the website tracks these visitor actions. Marketing teams can build tags in the GTM dashboard to send these events to Google Ads, GA4, or other connected tools.
Visitor ActionEvent Name
Views any pagepage_view
Views a show detail pageview_item
Adds tickets to their selectionadd_to_cart
Starts the checkout processbegin_checkout
Enters payment detailsadd_payment_info
Completes a paid bookingpurchase
Submits a booking inquirylead
Each event includes the booking value, currency, show details, and item quantities — everything needed for campaign optimization. No raw personal data (email, phone, name) is ever sent to the dataLayer.
When GTM is activated, the landing analytics module (apps/landing/lib/analytics/analytics.ts) pushes these events to the window.dataLayer. Event properties include value, currency, content IDs, item quantities, and item names when available. No raw PII (email, phone, name) is pushed to the dataLayer.

How to Activate GTM

1

Set the container ID

Replace NEXT_PUBLIC_GTM_ID with a real GTM container ID (format: GTM-XXXXXXX).
2

Enable the GTM loader

In apps/landing/lib/analytics/analytics.ts, uncomment or enable the GTM initialization block. The loader injects gtag.js and the container snippet into the document head.
3

Configure tags in GTM UI

In the GTM web interface, create tags for GA4, Google Ads conversion tracking, or any other tool. Map them to the dataLayer event names listed above.
4

Verify in the browser

Open landing, check the GTM Preview mode, and confirm events appear in the dataLayer with correct properties.

Relationship to Other Platforms

GTM is independent of PostHog and Meta Pixel. All three platforms consume the same browser events from the centralized analytics module, but each has its own initialization and delivery path. See Analytics Overview for the full architecture, Meta Pixel + CAPI for Meta tracking, and PostHog for product analytics.