Within your Appointments > Smart Configuration Wizard, you can connect your GA-4 measurement to your online booking flow in order to analyze your lead traffic and conversions.
In this article, you can find the URL slugs for each step in the new Online Booking flow & step-by-step best practices for measuring lead interaction and creating periodic reporting to analyze intent, drop-off, and conversion.
If you are running Google Ads off of your AR online booking domain, we STRONGLY suggest that you enable a custom subdomain so that it stays within your same URL and doesn't not flag any redirect rule violations. It's also a more seamless experience for your leads!
For example: instead of Lovelylines.myaestheticrecord.com/online-booking, your leads would to go booking.lovelylines.com/online-booking
For more information on activating a custom subdomain for your practice, visit our overview here.
New URL slugs
You will add your online booking domain to the front of this slug to get the exact URL:
Example: booking.lovelylines.com/online-booking/appointment/confirmation
URL slug | Events |
/online-booking/appointment/confirmation | Confirmed booked appointment |
/online-booking/promotions | Promotions Page |
/online-booking/appointment/details | Client Info page |
/online-booking/appointment/payment | Payment Page |
/online-booking | Landing Page |
/online-booking/book-appointment | Start Booking Flow |
/online-booking/appointment/time | Select a time |
/online-booking/explore | Explore services |
GA4 Events to Create
Go to: GA4 → Admin → Events → Create event → Create
1) Primary Conversion Event: Appointment Booked
Event name: appointment_booked
Matching conditions (ALL must match):
event_nameequalspage_viewpage_locationcontains/online-booking/appointment/confirmation
After creating, go to Key events and toggle ON for appointment_booked
2) Booking Started (Entry into the flow)
Event name: booking_started
Matching conditions (ALL must match):
event_nameequalspage_viewpage_locationcontains/online-booking/book-appointment
Recommended: Mark as Key Event if you want a “Started Booking” metric in reporting.
3) Time Selected Page Viewed
Event name: booking_time_step
Matching conditions (ALL must match):
event_nameequalspage_viewpage_locationcontains/online-booking/appointment/time
(Not usually a Key Event — more for funnel debugging.)
4) Client Info Page Viewed
Event name: booking_details_step
Matching conditions (ALL must match):
event_nameequalspage_viewpage_locationcontains/online-booking/appointment/details
(Not usually a Key Event — but helpful for funnel drop-off.)
5) Payment Page Reached (High Intent)
Event name: reached_payment
Matching conditions (ALL must match):
event_nameequalspage_viewpage_locationcontains/online-booking/appointment/payment
Recommended: Mark as Key Event
This becomes your best “almost converted” signal.
6) Promotions Page Viewed
Event name: viewed_promotions
Matching conditions (ALL must match):
event_nameequalspage_viewpage_locationcontains/online-booking/promotions
(Usually not a Key Event, but great insight.)
7) Explore Services Page Viewed
Event name: explored_services
Matching conditions (ALL must match):
event_nameequalspage_viewpage_locationcontains/online-booking/explore
8) Booking Landing Page Viewed
Event name: booking_landing_view
Matching conditions (ALL must match):
event_nameequalspage_viewpage_locationcontains/online-booking
⚠️ Important: This one will match all booking pages because they all contain /online-booking.
If you want it to be ONLY the landing page, use this version instead:
Event name: booking_landing_view
Matching conditions (ALL must match):
event_nameequalspage_viewpage_locationequalshttps://YOURDOMAIN.com/online-booking
(Use the full URL exactly as it appears in GA4 realtime.)
Key Events (Conversions) — What to Toggle ON
Go to: GA4 → Admin → Key events
Turn ON:
appointment_booked(must)reached_payment(recommended)booking_started(recommended if you want a clean “Start Rate” metric)
Leave the rest OFF unless you have a reason.
Funnel Setup (GA4 Explore → Funnel exploration)
Go to: Explore → Funnel exploration
Choose Closed funnel (best if you want clean “step-to-step conversion”).
Funnel Steps:
Landing
Page path contains
/online-booking
(or use thebooking_landing_viewevent if you configured exact match)
Explore Services
Page path contains
/online-booking/explore
Start Booking
Page path contains
/online-booking/book-appointment
Select Time
Page path contains
/online-booking/appointment/time
Client Info
Page path contains
/online-booking/appointment/details
Payment
Page path contains
/online-booking/appointment/payment
Confirmation
Page path contains
/online-booking/appointment/confirmation
This gives you drop-off by step + total completion rate.
Quality Check (Do this before trusting the numbers)
Step 1: Confirm page views fire per step
Go to Reports → Realtime and walk the flow yourself:
Start booking → time → details → payment → confirmation
If you see the URL update and GA4 logs it as a new page view = you’re set.
If you don’t see step changes (SPA issue)
Then the site isn’t firing page_view on route changes, and your event strategy won’t work fully without dev support.
But even then, the confirmation page often still triggers, so your main conversion may still work.
Best reporting metrics you’ll get from this
Appointments Booked (true conversion)
Booking start rate
Payment-step abandonment rate
Promotion page influence
Drop-off step-by-step
Your GA4 Booking Flow Reporting Setup (Best Practice)
1) Create a Dedicated “Booking Overview” Report (fastest daily view)
Path: Reports → Library → Create new → Detail report
(If you don’t have access to Library, you’ll still be able to use Explore + standard reports.)
Name it: Online Booking Performance
Add these metrics (top of report)
Users
Sessions
Key events (or Conversions depending on your GA4 UI label)
Event count
Engagement rate
Average engagement time per session
Filter it to the booking flow only
Add a report filter:
Page path + query string contains
/online-booking
This keeps the report focused only on booking pages.
2) Your “North Star” KPI Dashboard (the 3 numbers that matter)
Primary KPI (real conversions)
Key event: appointment_booked
High-intent KPI (near conversion)
Key event: reached_payment
Volume KPI (top of funnel)
Key event: booking_started
These 3 together tell the whole story:
Are we getting traffic in?
Are they starting?
Are they converting?
3) Build a Weekly Funnel Report (drop-off insights)
Path: Explore → Funnel exploration
Funnel steps (use Page path contains)
/online-booking(landing)/online-booking/explore/online-booking/book-appointment/online-booking/appointment/time/online-booking/appointment/details/online-booking/appointment/payment/online-booking/appointment/confirmation
Settings we recommend:
Funnel type: Closed funnel
Show elapsed time: ON
Breakdown (optional): Default channel group OR Source/Medium
This answers:
Where are they dropping?
Which channels convert best?
Are people getting stuck at payment?
4) Best Acquisition Reports (so you can attribute performance)
A) Traffic that drives bookings
Reports → Acquisition → Traffic acquisition
Add comparison #1:
Include: Page path contains /online-booking
Then look at:
Session source / medium
Users
Key events
appointment_booked
This tells you what sources actually lead to confirmed bookings.
B) Campaign tracking (UTM performance)
Still in Traffic acquisition, swap dimension to:
Session campaign
Then evaluate:
appointment_bookedreached_paymentbooking_started
This is where you’ll see what ads / email / promos work best.
5) Promotions Reporting (if you want to prove impact)
You already have the promo page:
/online-booking/promotions
Create a quick segment comparison:
Users who saw promotions vs Users who didn’t
Explore → Free form
Segments:
Segment A:
viewed_promotionsevent occurredSegment B: everyone else in booking flow
Compare:
appointment_bookedratefunnel completion %
time to convert
This becomes your “Promotions influence” view.
6) Suggested “Saved Comparisons” (makes reporting 10x faster)
In GA4 reports, use the “Add comparison” button and save these:
Comparison 1: Booking Flow Traffic
Include: Page path contains
/online-booking
Comparison 2: Booked Appointments
Include: Event name =
appointment_booked
Comparison 3: Payment Drop-Off Risk
Include: Event name =
reached_paymentExclude: Event name =
appointment_booked
This instantly identifies “high intent but didn’t finish.”
7) Weekly Reporting Template (what you should check every Monday)
Here’s the quick weekly readout:
Volume
Users to booking flow
booking_started
Conversion Health
appointment_bookedBooking conversion rate =
appointment_booked / booking_started
Funnel Drop-off
Biggest drop step (time → details → payment)
Channel Performance
Top source/medium by
appointment_bookedBest converting campaign
Watch-outs
If
reached_paymentis up butappointment_bookedis down → payment failure / frictionIf traffic is up but
booking_starteddown → landing page problem / CTA issueIf
booking_startedup but time/details drop-off high → scheduling UX issue

