Buzzshot Bookings: Ecommerce Tracking to Google Analytics 4 (GA4)
This guide walks you through setting up Google Analytics 4 (GA4) to receive ecommerce events from Buzzshot Bookings. This allows you to see events such as "added to cart" and "purchases" in Google Analytics and make use of reports such as "E-commerce purchases".
NOTE: Google Analytics 4 has quite a lot of changes from the earlier versions of Google Analytics. Make sure you're using version 4 and that it's already working for tracking regular web traffic on your site, otherwise this guide is going to be very hard to follow!
Two ways to send events: GTM or gtag
Buzzshot can send GA4 events to your site in two different ways. Pick whichever matches what's already on your website:
- Google Tag Manager (GTM) — Use this if you have GTM installed on your site (whether or not you currently use it for GA4). GTM is more flexible: the same events can fan out to GA4, Google Ads, and other tags. Setup involves adding one trigger and one tag in GTM, covered below.
- Google tag (gtag.js) — Use this if you have GA4 installed via the standard Google tag snippet (
<script async src="https://www.googletagmanager.com/gtag/js?id=G-...">). It's also possible to deploy gtag via GTM — if you've done that, gtag tracking will work too (but in that case don't also turn on GTM tracking in Buzzshot, or each event will reach GA4 twice). There is no setup needed in GA4 — once enabled in Buzzshot the events flow straight through to your GA4 property.
It's fine to enable both options if you have a reason to (for example, using GTM for Google Ads and gtag for GA4). Just make sure you're not sending the same events to the same GA4 property through two different paths, otherwise everything will be counted twice.
If you're not sure what you have, check your website's source code: if you see googletagmanager.com/gtm.js it's GTM, if you see googletagmanager.com/gtag/js it's gtag.
For a complete reference of the events and data Buzzshot sends, see the GTM events reference or gtag events reference.
Option A: gtag (the simple option)
If you have GA4 installed via the Google tag (gtag.js) directly:
- In Buzzshot, go to Settings > Booking Widget
- Open the widget you want to configure and click the Tracking tab
- Turn on Enable host page Google tag (gtag.js) tracking
- Click Save
That's it. There's no setup in GA4 — Buzzshot fires the standard GA4 ecommerce events on your page, and they're picked up automatically by your existing gtag('config', 'G-...') call.
To check it's working, open the Realtime report in GA4 (or use DebugView with the Google Analytics Debugger extension) and walk through a booking on your site.
For the full list of events and parameters sent via gtag, see Google tag events reference.
Option B: Google Tag Manager (GTM)
If you have GTM installed on your site, follow the steps below to add a trigger and a tag.
Prerequisites
- A Google Tag Manager container installed on your site
- A GA4 property with a web data stream
- The Buzzshot Bookings widget is embedded in your site
- "Enable host page Google Tag Manager tracking" is switched on in the Tracking section of the Booking Widget settings in Buzzshot.
Finding Your Measurement ID
- Go to analytics.google.com
- Select your GA4 property
- Click Admin (gear icon, bottom left)
- Under Data collection and modification, click Data streams
- Click on your web stream
- The Measurement ID is at the top right (e.g.,
G-XXXXXXXXXX)
Step 1: Create the Trigger
- Go to tagmanager.google.com
- Select your account and container
- In the left sidebar, click Triggers
- Click New (top right)
- Click "Untitled Trigger" at the top and name it
CE - GA4 Ecommerce Events - Click the Trigger Configuration area
- Select Custom Event from the list
- Tick the Use regex matching checkbox
- In the Event name field, paste:
view_item_list|select_item|view_item|add_to_cart|remove_from_cart|view_cart|begin_checkout|add_shipping_info|add_payment_info|purchase|refund(Buzzshot doesn't currently send all of these events but we might send more in the future) - Leave All Custom Events selected
- Click Save
Step 2: Create the GA4 Event Tag
- In the left sidebar, click Tags
- Click New (top right)
- Name the tag
GA4 - Ecommerce Events - Click the Tag Configuration area
- Select Google Analytics: GA4 Event
- In Measurement ID, enter your GA4 Measurement ID (e.g.,
G-XXXXXXXXXX) - In Event Name, click the brick/lego icon and select Event from the list (it will display as
{{Event}}) - Click More Settings to expand
- Click Ecommerce to expand
- Tick Send Ecommerce data (this step means it will pick up the standard ecommerce data we send and you don't have to manually map each field)
- Set Data source to Data Layer
- Scroll down and click the Triggering area
- Select CE - GA4 Ecommerce Events
- Click Save
Step 3: Publish
- Click Submit (top right)
- Add a version name (e.g., "Added GA4 Ecommerce tracking")
- Click Publish
Step 4: Test
- In GTM, click Preview (top right)
- Enter your site URL and click Connect
- Trigger an ecommerce event on your site (e.g., add to cart, complete a purchase)
- In Tag Assistant, click on the event in the left sidebar
- Verify that GA4 - Ecommerce Events appears under "Tags Fired"
Summary of Option B
This setup uses: - 1 trigger - matches all ecommerce event names - 1 tag - sends events with full ecommerce data to GA4
Once configured, all ecommerce events from the Buzzshot booking widget embedded in your site will automatically flow through to your GA4 property.
Troubleshooting
No ecommerce data in GA4
- Allow up to 24 hours for data to appear in standard GA4 reports — but the Realtime report should show events within seconds. Use that to confirm the setup is working.
- If you have both GTM and gtag tracking enabled in Buzzshot, check that you're not sending the same events to GA4 through both paths (e.g. a GA4 tag in GTM and a gtag config on the page) — that will double-count.
- Test from your real website, not the widget's Direct URL — the Direct URL has no host page with tags installed, so no events will fire.
GTM tag not firing
- Check that GTM is correctly installed on your site
- Verify the trigger is attached to the tag
- Ensure your GTM container is published
- Confirm "Send Ecommerce data" is ticked in the tag settings and Data source is set to Data Layer
gtag events not arriving
- Check that the Google tag (
<script ... gtag/js?id=G-...">) is actually installed on the page where you embed the widget - Use the Google Analytics Debugger extension and watch the browser console as you walk through a booking — you should see
gtagcalls logged with each event
Events appear in GA4 but no revenue or product data
- This usually means GTM is forwarding the events but stripping the ecommerce details. In your GA4 Event tag in GTM, check that Send Ecommerce data is ticked and Data source is set to Data Layer.
- If you previously had tracking working with a different booking system (Bookeo, Resova, etc.), your GTM setup will likely need reconfiguring — different booking systems use different event names and data structures.
Where to see the data in GA4
Once events are flowing, the built-in ecommerce reports are at Reports > Monetisation > Ecommerce purchases in GA4. Standard reports take up to 24 hours to populate.
If you're still stuck, get in touch with us at support@buzzshot.com.
