1. Overview
This document outlines how the Zavy online booking system tracks user activity using:
Google Analytics 4 (GA4)
Meta (Facebook) Pixel
It is intended for marketing teams, agencies, and analytics users to support:
Conversion tracking
Funnel analysis
Campaign optimisation
Audience building
2. Tracking Setup
Tracking is configured per practice location.
Each location may include:
googleTagId (GA4)
metaPixelId (Meta Pixel)
Important:
If these are not configured, no tracking data is sent
Tracking initializes automatically when a booking session starts
Works for both:
Embedded (iframe on website)
Standalone booking page
Each session is tracked using a unique:
session_id
3. Booking Funnel (6 Steps)
Step | Stage | Description | Completion |
1 | Patient Type | New or existing patient | 20% |
2 | Service Selection | Service and practitioner | 40% |
3 | Date & Time | Appointment selection | 60% |
4 | Verification | Email/SMS code | 80% |
5 | Confirm Booking | Review and confirm | 95% |
6 | Complete | Booking successful | 100% |
4. Data Captured
Core Parameters
session_id
patient_type (new / existing)
location_id
service_id
service_name
current_step
Page Data
Page title and path
Step metadata
is_standalone (embed vs hosted)
5. Key Events (By Step)
Step 1 — Patient Type
Patient type selected
Step 2 — Service Selection
Location selected
Service selected
Practitioner selected
Search and filters
Step 3 — Date & Time
Date selected
Time slot selected
Calendar interactions
Step 4 — Verification
OTP requested
OTP verified
Errors
Patient selection / creation
Step 5 — Confirmation & Payment
Terms accepted
Payment attempted / succeeded / failed
Booking confirmed
Step 6 — Completion
Booking completed
Book another session
6. Additional Tracking
Session Started
Tracks:
Entry URL
Referrer
Embedded vs standalone
Funnel Drop-off
Tracks:
Drop-off step
Time spent
Exit behaviour
7. Meta Pixel Tracking
Standard Events
PageView
Lead
Schedule
Purchase
Custom Events
StepViewed
ButtonClicked
FunnelDropoff
8. Event Name Reference
GA4 Events
session_started
step_time_spent
funnel_dropoff
form_error
button_clicked
patient_type_selected
location_selected
service_selected
practitioner_selected
category_filter_selected
service_search
date_selected
time_slot_selected
time_slot_deselected
date_picker_interaction
otp_requested
otp_verified
otp_method_switched
existing_patient_selected
new_patient_submitted
terms_accepted
payment_drawer_opened
payment_attempted
payment_failed
payment_succeeded
booking_confirmed
booking_completed
book_another_clicked
Meta Standard Events
PageView
Lead
Schedule
Purchase
Meta Custom Events
StepViewed
ButtonClicked
FunnelDropoff
9. Recommended Conversion Setup
Meta Ads
Funnel Stage | Event | Use |
Top | Lead | Lead generation / scaling |
Mid | Schedule | Default booking optimisation |
Bottom | Purchase | Revenue / ROAS optimisation |
Best Practice:
Start with Lead
Move to Schedule
Scale with Purchase
Google Ads (GA4)
Conversion Type | Event |
Booking | booking_completed |
Payment | payment_succeeded |
Lead signal | otp_verified |
Optimisation Strategy
Low traffic → otp_verified
Medium traffic → booking_completed
High traffic → Purchase
10. Agency Setup Checklist
Tracking
GA4 ID configured
Meta Pixel configured
Events firing correctly
Full booking test completed
GA4
booking_completed marked as conversion
Optional: payment_succeeded conversion
Custom dimensions created:
patient_type
location_id
service_name
Meta Pixel
Events received in Events Manager
Event priority set:
Purchase
Schedule
Lead
Custom audiences created:
Completed bookings
Drop-offs
Step viewers
Campaigns
Correct optimisation event selected
Campaigns segmented (location, service, patient type)
Conversion volume validated before scaling
QA
Test booking completed
GA4 events verified
Meta events verified
No duplicate events
Payment values correct
11. Practical Tips
Use funnel_dropoff for retargeting
Segment by patient_type for growth campaigns
Use service_name for performance insights
Compare embed vs standalone using is_standalone
12. Privacy Notes
No payment details are tracked
Email and phone are not sent to GA4 or Meta
Internal IDs are used for reporting only
Optional name fields may be included depending on configuration
13. Booking URL & Domain Configuration (Critical Setup)
To ensure tracking data is captured and attributed correctly, the booking URL must be set up properly.
Booking URL Format
Zavy standalone booking URLs follow this structure:
https://bookings.zavy360.com/booking/{practice-subdomain}
To verify what is your {practice-subdomain} above, go to Settings > Calendar > Online bookings, click the Online Booking Links button at the top right:
Copy your online booking URL here:


