Tracking and Analytics for the Booking Widget

The Buzzshot booking widget can send e-commerce tracking events (such as "add to cart" and "purchase") to the analytics tools running on the website where the widget is embedded. This lets you measure conversion, track marketing campaigns, and build remarketing audiences using the same tools you already use for the rest of your site.

This article gives a general overview of how tracking works. For detailed setup steps and a list of the events and data we send, follow the link for whichever tool you use.

Supported Tools

You can enable any combination of these — turn on the ones that match what's already installed on your website.

  • Google Tag Manager (GTM) — events are pushed to your website's GTM dataLayer, ready for you to forward on to GA4, Google Ads, or any other tag.
  • Google tag (gtag.js) — events are sent directly to the gtag() function on your page. Use this if you have GA4 or Google Ads installed via the standard Google tag snippet, without GTM.
  • Meta (Facebook) Pixel — events are sent to fbq() using Meta's standard event names, so they appear in Meta Events Manager and can be used for Facebook/Instagram ad campaigns.

If you also want to follow a step-by-step setup guide for GA4, see Ecommerce Tracking to GA4.

How It Works

The booking widget runs inside an iframe on your website. It can't see your analytics tags directly, but when something interesting happens (a customer adds a slot to their cart, completes a purchase, etc.) the widget sends a message up to the page that's hosting it. The embed script we provide listens for these messages and forwards them to whichever tracking tool you've enabled.

This means:

  • The tracking tags must already be installed on your website. Buzzshot does not install GTM, gtag, or the Meta Pixel for you — we just feed events into whatever you already have.
  • Events are attributed to your website's GA4 property, GTM container, or Pixel — not to Buzzshot's. This is what you want, because the customer is using your site.
  • Tracking only fires when the widget is embedded on your website. If you open the widget via its Direct URL (from the Embed tab), there is no host page with tags installed, so no events fire. Always test from your real website.

Enabling Tracking

You can turn each tracking option on or off independently in the widget settings.

  1. In Buzzshot, go to Settings > Booking Widget
  2. Open the widget you want to configure
  3. Click the Tracking tab
  4. Turn on the toggles for the tools you have installed on your website
  5. Click Save

The three toggles are:

  • Enable host page Google Tag Manager tracking
  • Enable host page Google tag (gtag.js) tracking
  • Enable host page Meta (Facebook) Pixel tracking

You only need to turn on the ones that match what's installed on your site. It's fine to turn on more than one — for example, you might use GTM to send events to Google Ads and gtag to send events to GA4. Just be careful not to send the same events to the same destination twice. If you use GTM to deploy GA4 and you also turn on gtag tracking, every GA4 event will be counted twice.

What Events Are Sent

The booking widget sends the same set of e-commerce events to every tool, just in the format each one expects:

Event When it fires
page_view Every time the customer navigates to a new page in the widget
view_item The customer opens a room (or other bookable) details page
add_to_cart The customer adds a slot or product to their cart
remove_from_cart The customer removes something from their cart
view_cart The customer views the cart
begin_checkout The customer starts checkout
purchase The customer completes a booking and payment

remove_from_cart is sent to GTM and gtag but not to the Meta Pixel — Meta has no standard event for it.

For the exact event names, parameter names, and data structure used by each tool, see the dedicated article for that tool linked above.

Testing Your Setup

After enabling tracking, embed the widget on your website (or a staging copy) and walk through a booking. Each tool has its own way to confirm the events are arriving:

  • GTM: Use the Preview mode in your Tag Manager workspace to watch the dataLayer in real time.
  • gtag / GA4: Open the Realtime report or use the GA4 DebugView with the Google Analytics Debugger browser extension.
  • Meta Pixel: Use the Meta Pixel Helper browser extension and watch events appear as you click around.

Common Pitfalls

  • No events firing on the Direct URL. The widget needs a host page with tags installed. Test on your actual website.
  • Custom iframe wrapping the Direct URL. If you've put the Direct URL in your own <iframe> (rather than using the embed code from the Embed tab), tracking won't work — the embed script is what listens for events from the widget and forwards them to your tags. Use the embed code from the Embed tab instead, or contact us for help with a more custom setup.
  • Double-counted events. If you turn on both GTM and gtag tracking, and GTM is configured to forward events to GA4 (and your page also has the GA4 gtag installed), GA4 will see each event twice. Either turn off one of the tracking toggles in Buzzshot, or change your GTM configuration so it doesn't fan out to a destination that the gtag is also reaching.
  • Events not appearing in GA4. GA4 reports take up to 24 hours to update. Use the Realtime or DebugView report to confirm events are arriving while you test.

If you get stuck, get in touch with us at support@buzzshot.com.