Customer Tracking with the Univents DataLayer
After reading this, you'll be able to set up GTM and custom tracking code on your booking page and use the automatic DataLayer events in GA4, Meta Ads, and other systems.
Univents automatically provides a structured DataLayer on every booking page. This lets you pass page views, product selections, and submitted inquiries to external tools like Google Tag Manager (GTM), GA4, or the Meta Conversion API — without personal data and fully GDPR-compliant.
![]()
Adding Tracking Code to Your Booking Page
You'll find the tracking settings in the editor of each booking page under the Analytics section (section 06 in the left navigation).
- Open Booking Pages from the menu and click on the desired page.
- In the editor, select Analytics from the left navigation.
- Enter your container ID in the GTM Container ID field (format:
GTM-XXXXXXX). - Optional: Add additional scripts in the Code for
<head>field, e.g. Meta Pixel or GA4 directly (without GTM). - Optional: Add code in the Code for
<body>field that should be inserted at the end of the body. - Click Save — changes are also saved automatically after a brief period of inactivity.
Conversion tracking via PostHog is automatically active.
Automatic DataLayer Events
Once GTM is active, Univents pushes an event into the DataLayer at every relevant step. You don't need to write any custom code for this.
booking_page_view
Fired when a booking page loads. Contains bookingpage_id, currency, language, and session_id.
add_to_cart
Fired when a customer selects a product or adds it to the cart.
{
"event": "add_to_cart",
"item_id": "...",
"item_name": "Catering Basic",
"item_category": "Catering",
"quantity_1_total": 1,
"quantity_2": 150,
"unit_2": "Persons",
"price_net_total": 2475,
"price_gross_total": 2945.25,
"product_base_price_net": 15,
"multiplied_quantity": 150,
"currency": "EUR",
"session_id": "..."
}
generate_lead
The most important conversion event. Fired when a customer submits an inquiry or booking. Contains, among others, total_gross, total_net, guests, booked_venues, and the list of booked items.
purchase
Identical to generate_lead, but only fired on successful online payment (e.g. via Stripe). Additionally contains a transaction_id.
Key Parameter Reference
| Parameter | Meaning |
|---|---|
booking_layout | "shop" = webshop view with cart, "form" = classic inquiry form |
product_base_price_net | Base price of the product without conditions, surcharges, or discounts |
quantity_1_total | Primary quantity in the cart |
quantity_2 | Secondary quantity, depending on the billing model (e.g. number of guests) |
multiplied_quantity | Derived from quantity_1_total × quantity_2 |
price_net_total / price_gross_total | Final price after all quantities, conditions, and discounts |
Setting Up in Google Tag Manager
- Open your GTM container and select Triggers.
- Create a new trigger of type Custom Event.
- Set the event name to
booking_page_view,add_to_cart, orgenerate_lead. - Create matching tags (GA4 Event, Meta Conversion API, etc.) and link them to the trigger.
- Optional: Access DataLayer variables like
total_gross,guests, oritem_namein your tag settings.
What Data Is Not Transmitted?
Univents does not pass any personal data to the DataLayer:
- No names
- No email addresses
- No phone numbers
- No IP addresses
- No customer IDs
All events are fully anonymized.
Frequently Asked Questions
Can I extend the DataLayer events with custom data? Yes. In GTM you can add further DataLayer pushes via a "Custom HTML" tag — Univents events and your own events run in parallel.
Does this work with Meta Ads? Yes. The add_to_cart and generate_lead events are officially supported standard events in the Meta Conversion API and Pixel.
Can I send personal data along with the events? No. This is not technically supported and would constitute a GDPR violation as well as a breach of Google's and Meta's platform policies.
Where do I find my GTM Container ID? In your GTM account, in the top right next to the container name — the format is always GTM- followed by 7 characters.