Skip to main content

Setting Up GA-4 with New Online Booking

Create your key events and conversions with new OB URL structure & GA-4 Best Practices

Updated over 3 weeks ago

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_name equals page_view

  • page_location contains /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_name equals page_view

  • page_location contains /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_name equals page_view

  • page_location contains /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_name equals page_view

  • page_location contains /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_name equals page_view

  • page_location contains /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_name equals page_view

  • page_location contains /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_name equals page_view

  • page_location contains /online-booking/explore


8) Booking Landing Page Viewed

Event name: booking_landing_view

Matching conditions (ALL must match):

  • event_name equals page_view

  • page_location contains /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_name equals page_view

  • page_location equals https://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:

  1. Landing

    • Page path contains /online-booking
      (or use the booking_landing_view event if you configured exact match)

  2. Explore Services

    • Page path contains /online-booking/explore

  3. Start Booking

    • Page path contains /online-booking/book-appointment

  4. Select Time

    • Page path contains /online-booking/appointment/time

  5. Client Info

    • Page path contains /online-booking/appointment/details

  6. Payment

    • Page path contains /online-booking/appointment/payment

  7. 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)

  1. /online-booking (landing)

  2. /online-booking/explore

  3. /online-booking/book-appointment

  4. /online-booking/appointment/time

  5. /online-booking/appointment/details

  6. /online-booking/appointment/payment

  7. /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_booked

  • reached_payment

  • booking_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_promotions event occurred

  • Segment B: everyone else in booking flow

Compare:

  • appointment_booked rate

  • funnel 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_payment

  • Exclude: 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_booked

  • Booking conversion rate = appointment_booked / booking_started

Funnel Drop-off

  • Biggest drop step (time → details → payment)

Channel Performance

  • Top source/medium by appointment_booked

  • Best converting campaign

Watch-outs

  • If reached_payment is up but appointment_booked is down → payment failure / friction

  • If traffic is up but booking_started down → landing page problem / CTA issue

  • If booking_started up but time/details drop-off high → scheduling UX issue


Did this answer your question?