Skip to main content

Tracking the Online Scheduler: Google Tag Manager

Learn how to set up Google Tag Manager for custom analytics and scripts in your online scheduler.

Written by Pablo
Updated over 2 weeks ago

You can use Google Tag Manager to add custom analytics and scripts to your Clinicminds online scheduler. This page provides a description of setting up and using the integration with Google Tag Manager.

Note: Do you want to use Google Analytics or Meta Pixel tracking in the online scheduler? We recommend to use our integration for that, because they are optimised for tracking useful events. See the help pages for Google Analytics and Meta Pixel. Use Google Tag Manager only if you want to load other scripts.

Set Up Google Tag Manager

To use Google Tag Manager, you need to have a Google Tag Manager account. Are you new to Google Tag Manager? Then follow the getting started guide. Are you already using Google Tag Manager? Then add a new container, so you can configure tags separately from your existing website. Don’t forget to add and publish tags in your container.

After setting up a container, find its ID in Google Tag Manager. Sign in to Google Tag Manager and click Admin (top left). Find the right container, and copy the container ID that’s displayed right of its name.

Now open Clinicminds and go to menu > Clinic Settings > Calendar > Online Bookings. Click on Analytics & Redirect. Next, check the option Load Google Tag Manager container. Enter your container ID in the Container ID field below.

Save the settings with the Save button at the bottom. The Google Tag Manager container will become active in your online scheduler immediately!

Note: You should ensure that your container and its tags comply with (privacy) regulations like GDPR.

Tracked Data Layer Events

Some events are tracked during the booking flow. The tracked events for the three possible flows are listed below.

Alternatively, we recommend using the Google Tag Manager Preview Mode to see information about everything that’s tracked in a debug console.

New Booking

For new bookings, the following events are tracked:

  1. Event: name ServiceSelected; variable appointments with appointments array*

    • Legacy/deprecated: variable service with service name

  2. Event: name AppointmentTypeSelected; variable appointments with appointments array*

    • Legacy/deprecated: variable appointmentType with appointment type

  3. Event: name ServiceRemoved; variable appointments with new appointments array*; variable removedService with removed service name; variable removedAppointmentType with removed appointment type
    ​This event only occurs when a service is removed from a multi-service booking.

  4. Event: name LocationSelected; variable location with location name
    If the location is specified in the URL, this event may be tracked earlier.

  5. Event: name AppointmentBooked; variable appointments with appointments array*; variable location with location name

    • Legacy/deprecated: variable service with service name; variable appointmentType with appointment type

∗ The appointments array contains objects like { service, appointmentType } with the service name and appointment type. For multi-service bookings, the array contains multiple items. We recommend using the appointments array instead of the legacy/deprecated service and appointmentType variables, because those don’t provide complete data for multi-service bookings.

Rescheduling

For reschedulings of existing bookings, the following events are tracked:

  1. Event: name LocationSelected; parameter location with location name

Cancellation

For cancellations of existing bookings, no events are tracked.

Did this answer your question?