Google Tag Manager Integration
Connect Google Tag Manager to track booking funnel events and conversions on your meetergo booking pages.
Connect Google Tag Manager (GTM) to meetergo to measure events and conversions across your entire booking funnel. Once connected, meetergo loads your GTM container on your booking 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
- In meetergo, go to your Integrations page
- Select Google Tag Manager from the available integrations
- 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.
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.
| Event | Fires when |
|---|---|
meetergo.page_view | A visitor opens your booking page |
meetergo.time_selected | A visitor selects a time slot |
meetergo.form_started | A visitor starts filling in the booking form |
meetergo.form_submitted | A visitor submits the booking form |
meetergo.booking_confirmed | The booking is successfully completed |
Every event carries a meetergo object with details about the meeting type:
meetergo.meetingTypeIdandmeetergo.meetingTypeNameare included in all eventsmeetergo.time_selectedaddsselectedTime(ISO 8601) andduration(minutes)meetergo.booking_confirmedaddsappointmentId,startTime,endTime,duration,bookingType, andassignedTo
Personal data of the invitee (email, name, phone) is only included in the meetergo.booking_confirmed event, inside a separate user_data object. Earlier funnel steps contain meeting-type metadata only.
Set Up Triggers in GTM
To react to meetergo events, create Custom Event triggers in your container:
- In GTM, go to Triggers and click New
- Choose the trigger type Custom Event
- Enter the event name, for example
meetergo.booking_confirmed - 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:
- Go to Variables and click New
- Choose the variable type Data Layer Variable
- Enter the variable name, for example
meetergo.meetingTypeNameormeetergo.duration
Use meetergo.booking_confirmed as your conversion trigger. It only fires after the booking is fully confirmed, so you never count abandoned bookings as conversions.
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:
- In GTM, click Preview and enter your meetergo booking page URL
- Walk through a test booking
- 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>
For privacy reasons, events forwarded to the parent page never contain invitee personal data. The user_data object is only available inside the booking page itself.
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.
Which consent settings apply?
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.