meetergomeetergo Help

Google Tag Manager Integration

Connect Google Tag Manager to track booking funnel events and conversions on your meetergo booking pages.

Updated on August 26, 2026

Connect Google Tag Manager (GTM) to meetergo to measure events and conversions across your entire funnel. Once connected, meetergo loads your GTM container on your public pages and pushes structured events to the data layer, from the first page view to the confirmed booking.

Before You Begin

  • You need your GTM Container ID in the format GTM-XXXXXXX. You can find it in Google Tag Manager at the top of the workspace, next to your container name.
  • You can connect one container per meetergo organization. All booking pages of your organization use the same container.
  • Make sure you have publish access to your GTM container and admin access to your meetergo organization settings.

Connect Your Container

  1. In meetergo, go to your Integrations page
  2. Select Google Tag Manager from the available integrations
  3. Enter your Container ID (GTM-XXXXXXX) and click Save

That's it. Your container now loads automatically on your booking pages, and meetergo starts pushing events to the data layer. There is no additional setup required on the meetergo side.

Page types

meetergo events fire on several public pages. Every event says where it happened through meetergo.pageType:

pageTypePage
bookingThe booking page with the calendar and form
selectionThe page where visitors pick a meeting type
formA form or funnel under /f/
confirmationThe confirmation page after a booking

That lets you trigger on every page or on one specific page. Booking pages also carry meetingTypeId and meetingTypeName; form and selection pages carry formId and formName.

Available Events

meetergo pushes the following events to the standard dataLayer. All event names are prefixed with meetergo. to avoid collisions with your other tags.

EventFires whenPage type
meetergo.page_viewThe page has loaded, once per viewall
meetergo.form_step_viewedA visitor sees a step of a multi-step form, including the firstform
meetergo.time_selectedA visitor selects a time slotbooking
meetergo.form_startedA visitor starts filling in the booking formbooking
meetergo.form_submittedA visitor submits the formbooking, form
meetergo.booking_confirmedThe booking is successfully completedbooking

Every event carries a meetergo object with the fields of the page it happened on:

  • meetergo.pageType is included in all events
  • meetergo.meetingTypeId and meetergo.meetingTypeName are included on booking pages
  • meetergo.formId and meetergo.formName are included on form and selection pages
  • meetergo.form_step_viewed adds stepIndex (zero-based) and stepName
  • meetergo.time_selected adds selectedTime (ISO 8601) and duration (minutes)
  • meetergo.booking_confirmed adds appointmentId, startTime, endTime, duration, bookingType, and assignedTo

A page view on a selection page looks like this:

{
  "event": "meetergo.page_view",
  "meetergo": {
    "pageType": "selection",
    "formId": "123339b3-95d6-4ea5-a2c8-2a5d1f2868b7",
    "formName": "Pick a meeting type"
  }
}

Set Up Triggers in GTM

To react to meetergo events, create Custom Event triggers in your container:

  1. In GTM, go to Triggers and click New
  2. Choose the trigger type Custom Event
  3. Enter the event name, for example meetergo.booking_confirmed
  4. Save the trigger and attach it to your tag (for example a Google Ads conversion tag or a GA4 event tag)

To pass event details into your tags, create Data Layer Variables:

  1. Go to Variables and click New
  2. Choose the variable type Data Layer Variable
  3. Enter the variable name, for example meetergo.meetingTypeName or meetergo.duration

Enhanced Conversions

The meetergo.booking_confirmed event includes a user_data object with the invitee's email, phone_number, first_name, and last_name. You can map these fields to Google Ads Enhanced Conversions using Data Layer Variables (user_data.email, user_data.phone_number, and so on) to improve conversion measurement accuracy.

Test Your Setup

You can verify the integration immediately using GTM's preview mode:

  1. In GTM, click Preview and enter your meetergo booking page URL
  2. Walk through a test booking
  3. The meetergo. events appear in the debugger timeline as you progress through the funnel

Embedded Booking Pages

The integration also works when your booking page is embedded on your own website:

  • Inline embed (widget): The booking widget runs directly inside your page, so events are pushed straight into your page's dataLayer. If your website already loads a GTM container, it picks the events up natively. meetergo will not load a second container if one is already present on the page.
  • Iframe embed: Your connected container loads inside the iframe, so your tags fire there as usual. Additionally, meetergo forwards each event to the parent page via postMessage (with personal data removed). If you want to process the events in your website's own container, add this listener to your page:
<script>
  window.addEventListener('message', function (e) {
    if (e.data && e.data.event === 'meetergo:datalayer') {
      window.dataLayer = window.dataLayer || []
      window.dataLayer.push(e.data.data)
    }
  })
</script>

FAQ

Does meetergo offer server-side tagging (sGTM)?

meetergo does not provide a native server-side GTM endpoint. You have two proven options instead: route your tags from the web container through your own server-side GTM container (standard GTM configuration, fully compatible with this integration), or use meetergo webhooks to send booking events to your backend and forward them to the GA4 Measurement Protocol or the Google Ads Conversion API.

Can I use GTM and the native Google Analytics integration at the same time?

Yes, both can be active. To avoid double-counting, track GA4 events through one path only: either via your GTM container or via the native Google Analytics integration.

Can I use different containers for different team members or meeting types?

No, meetergo supports one container per organization. Use the meetergo.meetingTypeId or meetergo.meetingTypeName Data Layer Variables in your triggers to segment by meeting type inside GTM.

Your GTM container is loaded on the booking page, so your container's own consent configuration (for example Consent Mode) applies to all tags you fire there.

Was this article helpful?

Let us know if this article answered your questions.