Original framework
Booking completion model
Choose the strongest available evidence and label weaker stages as diagnostics.
Map the booking journey
Document the source page, embedded or external scheduler, selected service, confirmation state, emails or redirects and the system that owns the appointment record. Identify every domain involved.
Select the success signal
Prefer an official platform event, controlled confirmation page or approved webhook that proves a booking exists. A button click or scheduler load should remain a diagnostic event.
Configure cross-domain measurement where supported
When users move between root domains that share the same GA4 stream, cross-domain measurement can help preserve one session. The booking platform must support the required tagging and linker behavior; verify the destination rather than assuming configuration worked.
Prevent duplicate confirmations
Test page refreshes, rescheduling, cancellations, repeated webhook delivery and confirmation-page revisits. Define whether a rescheduled appointment is the same outcome or a new event.
Connect attendance and qualification
A confirmed booking can still be cancelled, missed or unsuitable. Maintain later statuses in the booking or CRM system and report them separately from the initial appointment event.
Protect booking data
Do not send names, email addresses, phone numbers, appointment notes or sensitive service details to GA4. Review consent, retention and platform contracts with appropriate specialists.
Primary sources
Platform behavior and documentation can change. These primary references were reviewed for this guide: