Skip to main content
Sailia automatically fires tracking events at key points in the booking flow. If you have an analytics provider connected — such as Google Tag Manager or PostHog — these events are forwarded automatically, giving you visibility into how customers move through your booking funnel. When events are forwarded to Google Tag Manager, they are pushed using GA4 reserved e-commerce event names (such as view_item, add_to_cart, begin_checkout, add_payment_info, and purchase). This means you can wire your GTM container up to Google Analytics 4 with no custom event mapping — Sailia’s funnel slots straight into the prebuilt Monetisation and Funnel exploration reports.

How it works

When a customer interacts with your booking page, Sailia sends events to every analytics provider you have configured. Each event includes contextual properties like the session name, ticket counts, and order value. You can use these events to build conversion funnels, retargeting audiences, and revenue attribution reports in your analytics tool.
Tracking events are only sent when at least one analytics provider is configured. See supported providers below.

Booking funnel events

The following events fire automatically during the booking flow. The Sailia event name is the internal name fired into PostHog and the Sailia backend tracker. The GA4 event name is the name pushed into the GTM dataLayer so it slots directly into GA4’s prebuilt e-commerce reports.
The purchase event fires from the payment success page using the authoritative paid total returned by the server. GA4 deduplicates on transaction_id (the basket UUID), so refreshing the success page does not double-count the conversion.

Common event properties

Every event includes a relevant subset of these properties:
Sailia reports order-level data onlyvalue, currency, transaction_id, coupon, and payment_type. Per-item product data (the GA4 items[] array) is intentionally not forwarded to your analytics tools.

Supported providers

Sailia supports the following analytics providers. Events are sent to all active providers simultaneously.
Connect your GTM container to receive booking events in the dataLayer using GA4-standard event names. Each commerce event is pushed with a structured ecommerce payload, so you can connect a GA4 configuration tag with no custom event mapping.Sailia follows GA4 best practice and clears the ecommerce object before each push so values don’t bleed between events:
The original Sailia event name is preserved on every push as sailia_event, so you can still trigger custom tags off Sailia-specific names if you need to.

Top-level basket fields

To make it easy to fire non-GA4 tags — Meta Pixel, Google Ads, TikTok, server-side custom tags — Sailia also mirrors the key e-commerce fields at the top level of the dataLayer push under explicit, Sailia-named keys. You don’t need to dig into the structured ecommerce object to read them.

Cross-domain tracking

If you provide your website URL alongside the GTM container, Sailia automatically configures cross-domain tracking between your website and your Sailia booking page. You can pass additional domains via the linkerDomains config option to extend the linker to other hostnames.

User identification

When a logged-in customer is on the booking page, Sailia pushes a user_id into the dataLayer once at GTM initialisation time. Anonymous and zero-value user ids are skipped, so you don’t pollute reports with placeholder users.
Connect your PostHog project to capture booking events as PostHog events. Sailia automatically identifies logged-in customers, so you can build funnels and cohorts based on booking behaviour.PostHog receives the Sailia event names (booking_completed, add_to_basket, etc.) — the GA4 mapping only applies to the GTM provider.

Use cases

  • GA4 prebuilt reports — events flow straight into GA4’s Monetisation and Funnel exploration reports with no remapping
  • Conversion funnels — track drop-off between begin_checkout, add_payment_info, and purchase
  • Revenue attributionvalue and transaction_id give you accurate ROAS in Google Ads and Meta Ads
  • Retargeting — build audiences of customers who reached add_to_cart but did not purchase
  • Multi-tag firing — use the top-level basket_value / basket_uuid keys to trigger Meta Pixel, Google Ads, and TikTok tags without parsing the GA4 ecommerce object

Online bookings

How the booking flow works for customers.

Meter usage tracking

Track server-side usage events with the meter API.