FFP Guides

Online bookings

Can you track splose online bookings in GA4?

Partly. splose fires a bookingConfirmed trigger for its hosted link and a splose_booking_confirmed event for an embedded page once a Google Tag Manager ID is set in splose's own settings, so a count is reliable. splose does not document whether the original ad or search source survives the embed, so the hosted link plus UTM tags is the safer choice when the source matters.

Last checked 25 Sep 2026 against the sources listed at the end of this page.

Method
A Google Tag Manager ID entered once inside splose (Settings, Workspace, Details) rather than added per page, applied to both the hosted booking link and any embedded booking page
On mobile
Both the Element Visibility and custom event triggers rely on JavaScript running properly in the client's browser, which is more fragile on older phone browsers and in app browsers (for example a booking link opened from an Instagram bio) than on desktop. Test the whole booking to confirmation flow from an actual Instagram or Facebook in app browser, not just Chrome or Safari, since that is where a lot of allied health bookings start.
Can you track bookings?
Partly. splose's own help centre gives two different ways to detect a finished booking, and neither is a simple thank you page URL, because splose's booking pages are single page apps where the address never changes. For a link you send clients to on splose's own domain, GTM watches for an Element Visibility trigger on the bookingConfirmed element. For a booking flow you have embedded on your own page, splose fires a custom event called splose_booking_confirmed with the service, location and price attached. Both let you count a completed booking reliably. What splose's documentation does not say is whether the click that brought the client to your site in the first place (a paid search ad, a Google Ads click, an Instagram link) is still attached to that event once it fires, and it separately warns that some website builders restrict scripts running inside embedded content, which can stop the trigger firing at all.

Add splose bookings to your website

  1. Create a GA4 property and a GTM web container if the clinic does not already have one from its main site.
  2. In splose, go to Settings, Workspace, Details, and paste in the GTM container ID. splose applies it to every online booking page automatically, there is no per page setting to repeat.
  3. Add a Google tag in GTM with your GA4 Measurement ID, firing on All Pages, so the standard page_view data reaches GA4 as usual.
  4. Add the booking completion trigger that matches how you publish the widget, covered below, and a GA4 Event tag on it.
  5. Publish the container and make a real booking with a tagged test link before trusting the numbers.

Track the bookings

  1. For the hosted link: add the GTM Element Visibility trigger watching bookingConfirmed, and a GA4 Event tag (for example booking_confirmed) that fires on it. Because the client's browser has fully navigated to splose's domain, any UTM parameters on the link you sent them survive in that page's URL, so tag the link itself (utm_source, utm_medium, utm_campaign) before you publish it anywhere.
  2. For an embedded booking page: add a Custom Event trigger matching splose_booking_confirmed and a GA4 Event tag on it. Test this specifically on the website builder you use. splose's own guide names GoDaddy, Wix and Squarespace as platforms known to restrict third party scripts inside embedded blocks, which is a common reason the trigger silently does not fire.
  3. To bring a booking into Google Ads, mark the GA4 event as a key event, then in Google Ads go to Goals, Conversion actions, Import, and choose the Google Analytics 4 property and event. You need at least Marketer access in Google Ads to import it.
  4. If you cannot confirm the embedded event is firing reliably, fall back to reconciling by hand: compare weekly booking counts inside splose against sessions on your Book online page in GA4, or switch the button to the hosted link, which is the setup you can actually verify end to end.

Why there is no thank you page to point analytics at

Most booking software you can measure with a simple rule: watch for the page path that only appears after a successful booking. splose does not give you that option, because its booking pages are single page apps and the URL in the address bar does not change from the first step to the confirmation screen.

Instead, splose's Google Tag Manager guide describes two different signals depending on how you have published the widget. Send clients to splose's own hosted link and GTM can watch an on page element called bookingConfirmed appear. Embed the booking flow inside your own site and splose instead fires a JavaScript event named splose_booking_confirmed, carrying the service, location, booking page name and price. Either one gives GTM something concrete to react to, but they are not interchangeable and you set up different triggers for each.

The part splose does not document: does the source survive

splose's own guide is thorough on how to detect a completed booking. It is silent on whether the original marketing source, the ad or search term that brought the visitor to your site, is still attached to that booking once the event fires.

This matters most for the embedded version. The booking flow inside the iframe is served from splose's domain, not yours, and splose's documentation does not describe forwarding your page's referrer or UTM parameters into that iframe. Treat an embedded booking's reported source as unconfirmed until you test it yourself with a tagged link and check what arrives in GA4 DebugView.

For the hosted link, this is less of a problem. The client's browser genuinely navigates to splose's own address, and any UTM parameters you put on the link you sent them travel with it in the URL, the same way they would for any other outbound link. If getting the channel right in GA4 and Google Ads matters more to the clinic than an in page look, the hosted link with tagged buttons is the setup you can actually stand behind.

When the trigger simply does not fire

splose's own material calls out that GoDaddy, Wix and Squarespace can restrict scripts running inside an embedded block, which is enough on its own to stop the splose_booking_confirmed trigger without any error message appearing anywhere. If GA4 shows zero booking events for a week where splose's own booking calendar shows real appointments, this is the first thing to check, not a GTM misconfiguration.

Sources

  1. splose booking pages are single page apps where the URL does not change between steps. Booking completion is detected with a bookingConfirmed Element Visibility trigger for the shareable hosted link, or a custom event splose_booking_confirmed carrying service, location, booking page name and price for an embedded booking page. splose Help Centre, checked 25 Sep 2026.
  2. A Google Tag Manager container ID is entered once under splose Settings, Workspace, Details, and applies to all of a clinic's online booking pages, rather than being configured per page. splose Help Centre, checked 25 Sep 2026.
  3. splose's guide notes that some website builders, including GoDaddy, Wix and Squarespace, can restrict scripts running inside embedded content, which can stop GTM triggers on an embedded booking page from firing. splose Help Centre, checked 25 Sep 2026.
  4. splose's Google Tag Manager guide covers tracking bookings as a Google Ads conversion by creating a website conversion action in Google Ads and entering its Conversion ID and Label as a Google Ads Conversion Tracking tag in GTM. splose Help Centre, checked 25 Sep 2026.
  5. A GA4 event must be marked as a key event before it can be imported into Google Ads as a conversion, and importing it requires at least Marketer access in Google Ads. Google Ads Help, checked 25 Sep 2026.