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.

Customer Tracking with the Univents DataLayer

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).

  1. Open Booking Pages from the menu and click on the desired page.
  2. In the editor, select Analytics from the left navigation.
  3. Enter your container ID in the GTM Container ID field (format: GTM-XXXXXXX).
  4. Optional: Add additional scripts in the Code for <head> field, e.g. Meta Pixel or GA4 directly (without GTM).
  5. Optional: Add code in the Code for <body> field that should be inserted at the end of the body.
  6. 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

ParameterMeaning
booking_layout"shop" = webshop view with cart, "form" = classic inquiry form
product_base_price_netBase price of the product without conditions, surcharges, or discounts
quantity_1_totalPrimary quantity in the cart
quantity_2Secondary quantity, depending on the billing model (e.g. number of guests)
multiplied_quantityDerived from quantity_1_total × quantity_2
price_net_total / price_gross_totalFinal price after all quantities, conditions, and discounts

Setting Up in Google Tag Manager

  1. Open your GTM container and select Triggers.
  2. Create a new trigger of type Custom Event.
  3. Set the event name to booking_page_view, add_to_cart, or generate_lead.
  4. Create matching tags (GA4 Event, Meta Conversion API, etc.) and link them to the trigger.
  5. Optional: Access DataLayer variables like total_gross, guests, or item_name in 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.