Do you integrate with Google Analytics 4?
Yes. The Checkout Widget sends booking events to Google Analytics 4 (GA4) throughout the booking journey. These instructions cover the current Checkout Widget; see Legacy Widgets if you use the older version.
Set up tracking
In your checkout widget’s settings, open Analytics and turn on Enable Google Analytics. Under Send events via, choose how the widget sends booking events. The widget uses one method at a time:
- Google Analytics 4 — choose Use existing tag if your website already loads the Google Analytics tag, or Use custom tag and enter your GA4 Measurement ID (
G-…). The widget sends events through that tag automatically. - Google Tag Manager — turn on Enable Google Tag Manager, then use your website’s existing container or enter a custom Container ID (
GTM-…). The widget pushes events to the Data Layer. Booking events reach GA4 once GA4 Event tags with matching Custom Event triggers and ecommerce data from the Data Layer are configured and published in your container. See the Tag Manager setup guide.
Save your settings to enable tracking. Avoid forwarding the same booking events through Tag Manager or custom code while the widget also sends them via Google Analytics 4, as purchases and revenue may be counted twice.
Events sent automatically
| Event | When the Checkout Widget sends it |
|---|---|
page_view | A widget step is displayed, including selection, checkout, success and error screens |
select_item | A product, package or product voucher is selected from the product/event list |
add_to_cart | A booking or package is added to the basket |
view_cart | The basket is displayed |
begin_checkout | The customer details step is displayed |
add_payment_info | The payment step is displayed — before payment details are submitted |
purchase | Payment succeeds or an order with nothing left to pay is confirmed |
The steps depend on the booking journey. For example, a free booking can skip the payment screen.
What the events contain
- Page views:
page_titleandpage_pathidentify the widget step, for exampletier_selection,extras_selection,basketorpayment.page_locationis the URL of your website page containing the widget. - Product selection:
item_list_id,item_list_nameand anitemsarray identify the selected product or package. - Basket and checkout events:
currency, numericvalue,order_id,localeanditems. Items identify ticket types, quantities, unit prices and their product/package. Selection uses product/package IDs; subsequent events use ticket-type IDs. - Purchase: also includes
transaction_id(the order reference).couponis included onbegin_checkout,add_payment_infoandpurchasewhen available. Analytics events also carrywidget_id.
Revenue coverage: value is the total of the tracked tickets in product and package bookings, including product vouchers. It excludes extras, merchandise and gift-card purchases, so GA4 revenue can differ from the full order total.
Custom tracking
For custom tracking, your website developer can listen for the same seven events on document with a th: prefix, such as th:purchase. Their data is in event.detail, and they remain available when built-in Google Analytics tracking is off.
Check your setup
Complete a test booking on the page where your widget is embedded. Check GA4 Realtime or DebugView; standard reports can take 24–48 hours to update. For Tag Manager, use Preview to verify that your GA4 tags fire, then publish your changes.
For console logging, missing events and consent or ad-blocker issues, follow How to debug Google Analytics & Tag Manager tracking.