Skip to main content

Set up Google Tag Manager in online bookings

Track bookings, measure ad performance, and understand how patients move through your splose online booking page using Google Tag Manager.

Google Tag Manager (GTM) lets you connect your splose online booking page to tools, like Google Analytics 4 (GA4) and Google Ads, without touching any code. Once set up, you can see how many people are booking online, which ads are driving bookings, and where patients drop off in the booking process.

This guide covers how to create a GTM account, connect it to splose, and then - depending on how you share your booking page - set up tracking for a Shareable link page or an Embed code page.


Before You Begin

  • You need a Google account to set up Google Tag Manager, Google Analytics 4, and Google Ads.

  • splose booking pages are single-page apps; the URL never changes as a patient moves through the booking flow. This means standard "thank-you page" tracking won't work. splose uses hidden element labels on each step of the page instead. GTM watches for these labels appearing or being clicked, and uses them as your tracking signals.

  • How you track bookings depends on how you share your booking page:

    • Shareable link – Add to emails, templates or your website

    • Embed code – Insert directly into a website page

  • Everyone should follow set up steps 1–2 below, before following the steps in the ‘Set up for booking pages shared as a link’ or Set up for ‘Booking pages embedded on your website’ sections as relevant.


Step 1: Create a Google Tag Manager account

If you don't already have a GTM account, follow Google's official guide to set one up.

  1. Follow the steps to create an account and container.

  2. Copy your GTM ID — it looks like GTM-XXXXXX. You'll need it in the next step.

📝 Note

You can ignore the installation code Google shows you after setup — splose loads GTM automatically once you've added your GTM ID in Settings.


Step 2: Add your GTM ID to splose

Enter your GTM ID once at the workspace level — splose applies it to all your online booking pages automatically.

  1. Go to Settings > Workspace > Details.

  2. Find the Google Tag Manager field.

  3. Paste your GTM-XXXXXX ID into the field.

    Screenshot of Workspace Settings Details page in splose showing the Google Tag Manager ID input field
  4. Click Save.


Set up for booking pages shared as a link

Follow this path if patients book on your splose booking page via a Shareable link.

Step 3: Set up triggers

A trigger tells GTM when to act — for example, when a booking is completed or when a patient clicks a time slot. splose provides 10 element labels you can track across the booking flow.

⚠️ One-time prerequisite

Before setting up click triggers, go to Variables > Configure in GTM and make sure Click Element is ticked. Without this, click triggers will not fire.

Type 1: Element Visibility triggers

These fire when a step of the booking page becomes visible to the patient. Use the same settings for all six — only the trigger name and element ID change.

Settings (identical for all):

  • Trigger type: Element Visibility

  • Selection method: ID

  • When to fire: Once per page

  • Minimum percent visible: 1 — do not leave at the default 50, and do not set to 100. Booking step containers are often taller than the viewport and may never reach 50% or 100% visibility.

  • Observe DOM changes: ticked

  • This trigger fires on: All Visibility Events

Trigger name (suggested)

Element ID

Fires when…

Booking confirmed ⭐

bookingConfirmed

A booking is completed successfully

Step – Location shown

locationSelectContainer

The location chooser appears

Step – Service shown

serviceSelectContainer

The service chooser appears

Step – Practitioner shown

practitionerSelectContainer

The practitioner chooser appears

Step – Patient details shown

patientInfoForm

The patient details form appears

Step – Payment shown

bookingPaymentForm

The payment form appears

Type 2: Click triggers

These fire when a patient clicks a specific element. Use the same settings for all four — only the trigger name and CSS selector change.

Settings (identical for all):

  • Trigger type: Click – All Elements

  • This trigger fires on: Some Clicks

  • Condition: Click Elementmatches CSS selector → (selector from the table below)

Trigger name (suggested)

CSS selector

Fires when…

Click – Location

#locationSelect, #locationSelect *

A location is clicked

Click – Service

#serviceSelect, #serviceSelect *

A service is clicked

Click – Time slot

#timeSelect, #timeSelect *

A time slot is clicked

Click – Confirm button

#confirmBooking, #confirmBooking *

The Confirm booking button is clicked

📝 Why the selector has two parts

The ", #id *" part catches clicks on child elements inside the button — such as the button label text. Without it, some clicks may be missed.


Step 4: Create a tag

A tag is the action GTM takes when a trigger fires — for example, recording a completed booking in Google Analytics or Google Ads. Choose the option that applies to you.

Option A: Send bookings to Google Analytics 4 (GA4)

  1. In GTM, go to Tags > New and click the pencil icon under Tag Configuration.

  2. Choose Google Analytics: GA4 Event.

  3. Enter your Measurement ID — it looks like G-XXXXXXX. Find it in your GA4 account under Admin > Data Streams.

  4. Set the Event Name to online_booking_completed.

  5. Under Triggering, select your Booking confirmed trigger.

  6. Name the tag GA4 – Booking confirmed and click Save.

Option B: Track bookings as a Google Ads conversion

  1. In your Google Ads account, go to Tools > Conversions > New, choose Website, and set it up manually with GTM. Google Ads will provide a Conversion ID and Conversion Label — copy both.

  2. In GTM, go to Tags > New and choose Google Ads Conversion Tracking.

  3. Paste your Conversion ID and Conversion Label.

  4. Under Triggering, select your Booking confirmed trigger.

  5. Name the tag Google Ads – Booking conversion and click Save.


Step 5: Test and publish

Before going live, confirm your triggers are firing correctly using GTM's Preview mode.

  1. Click Preview in the top right of GTM.

  2. Enter your booking page URL and connect.

  3. Complete a test booking from start to finish.

  4. On the confirmation screen, confirm your tag appears under Tags Fired for the Booking confirmed trigger. If it appears under Tags Not Fired, check the element ID spelling and confirm Observe DOM changes is ticked.

  5. Once working, click Submit > Publish to go live.

📝 Note: Run your test outside of busy hours and cancel the test appointment in splose afterwards so it doesn't appear on your calendar.


Set up for Booking pages embedded on your website

Follow this path if you've added your booking page to your website using the Embed code (from the Share tab).

An embedded booking page needs a different tracking signal. When a booking is confirmed, splose pushes a dataLayer event called splose_booking_confirmed on the page. GTM listens for this event and fires your conversion tag at the right moment - no developer or custom code needed.

The event also includes booking details you can pass to your ad platform:

Detail

What it is

service_name

The service booked

location_name

The practice location

booking_page_name

The booking page name

service_price

The service price (use this to send conversion value to Google Ads)

booking_page_uuid

A unique identifier for multiple purposes. Eg. you may have separate booking pages for physiotherapists and occupational therapists


Step 3: Create the trigger

  1. In GTM, go to Triggers > New.

  2. Choose Custom Event as the trigger type.

  3. In Event name, enter splose_booking_confirmed.

  4. Name it Booking confirmed (embedded) and click Save.


Step 4: Create your conversion tag

For Google Ads:

  1. In GTM, go to Tags > New and choose Google Ads Conversion Tracking.

  2. Paste your Conversion ID and Conversion Label (from Google Ads: Tools > Conversions > New).

  3. To send the booking value, add a variable mapped to service_price from the event.

  4. Under Triggering, select your Booking confirmed (embedded) trigger.

  5. Name the tag Google Ads – Booking conversion and click Save.

For Meta (Facebook):

  1. In GTM, go to Tags > New and choose Custom HTML.

  2. Add your Meta Pixel event code, using Purchase or Lead as the event type (depending on your campaign).

  3. Under Triggering, select your Booking confirmed (embedded) trigger.

  4. Name the tag Meta – Booking conversion and click Save.


Step 5: Test and publish

  1. Click Preview in GTM and open the page on your website where you added the Embed code.

  2. Complete a test booking from start to finish.

  3. On the confirmation screen, confirm your tag appears under Tags Fired.

  4. Once working, click Submit > Publish to go live.

📝 Note: Run your test outside busy hours and cancel the test appointment in splose afterwards so it doesn't appear on your calendar.


Things to Note

  • Entering your GTM ID once under Settings > Workspace > Details applies it to all your online booking pages. You don't need to add it to each page separately.

  • The Practitioner shown trigger only fires if your booking page lets patients choose a practitioner. If that step is skipped in your booking flow, this trigger won't fire; that's expected.

  • bookingConfirmed fires after a booking is successfully saved. confirmBooking fires when the button is clicked — which doesn't guarantee the booking completed. Use bookingConfirmed for conversion tracking.

  • splose support can help with GTM setup in splose. For questions about configuring Google Analytics, Google Ads, or GTM itself, contact the Google support team.

Migrating from Online Bookings 1.0? See what's changed

Most existing OB1 GTM configurations will work in OB2 without changes. The following IDs have changed or been removed:

OB1 element ID

OB2 equivalent

Notes

practitionerSelect

Removed

Use practitionerSelectContainer (Element Visibility) instead

smsVerificationContainer

Removed

OB2 has no SMS verification step

bookingConfirmedContainer

bookingConfirmed

Renamed

bookingPayment

bookingPaymentForm

Renamed

bookingToPayment / bookingWithoutPayment

confirmBooking

Consolidated into one ID regardless of payment state


FAQs and Troubleshooting

Do I need to add code to my website to use GTM with splose?

No. splose loads GTM for you once you've entered your GTM ID under Settings > Workspace > Details. You don't need to touch your website's code. (If your booking page is embedded on your website, you'll still add the standard Custom Event trigger in GTM - see embedded booking page steps above - but no custom code is required.)

I have several booking pages, do I need to set this up for each one?

No. The GTM ID you enter in Settings > Workspace > Details applies to all your online booking pages automatically.

Which path do I follow - Shareable link or Embed code?

Open your booking page in Settings > Online bookings > open the saved bookings page > Share. If you share it as a link, follow the shareable link steps above. If you inserted it into your own website using the embed code, follow the embedded booking page steps above.

Why can't I just track the thank-you page?

splose booking pages never reload or change their URL as a patient moves through the flow. There's no separate thank-you page to track. splose fires a tracking signal the moment a booking is completed instead - the bookingConfirmed label (for sharable links) or the sploseonlinebooking:booking_confirmed event (for embedded booking pages).

One of my triggers isn't firing, what should I check?

For click triggers, confirm Click Element is enabled under Variables > Configure in GTM, and that the CSS selector is entered exactly including the ", #id *" part. For the Practitioner step, confirm your booking page actually shows a practitioner selection. If it doesn't, that trigger won't fire. For all triggers, double-check the element ID spelling and re-run the Preview test.

Will GTM slow down my booking page or affect patients?

No. Tracking runs in the background and is invisible to patients.

This is too technical for me, can someone help?

Yes. You can share this article with your web person or marketing agency — Steps 3 onward are standard GTM work. Or contact splose support and we'll point you in the right direction.

Did this answer your question?