Articles on: Appointment Bookings

📊 Configure Google Analytics 4 Tracking for Appointment Bookings

Want to see which appointments are driving the most revenue, where your bookings come from, and how customers move through your booking flow? Google Analytics 4 can help with that.


Hoppy Appointments can automatically send booking events to your GA4 property — including conversions, cancellations, reschedules, and waitlist signups. Once connected, you’ll be able to analyze booking behavior alongside the rest of your store traffic.


This guide walks you through connecting GA4 step-by-step.



⚠️ Before You Begin


Before setting up GA4 tracking, make sure you have:


  • The Hoppy Appointments app installed on your Shopify store
  • At least one active service
  • A Google Analytics 4 property already created
  • Access to your GA4 Measurement ID and API secret


💡 If you haven’t created a GA4 property yet, you can do that in your Google Analytics account first. You only need the property — no website tag installation is required inside Shopify for Hoppy Appointments events.



🛠️ Step 1 — Open Analytics & Tracking Settings


In your Shopify admin:


  1. Open the Hoppy Appointments app
  2. Click Settings in the app menu
  3. Click Analytics & Tracking


You’ll see cards for the available tracking providers. This guide focuses on the Google Analytics 4 card.



🛠️ Step 2 — Find Your GA4 Measurement ID and API Secret


You need two values from Google Analytics.


Measurement ID


  1. In Google Analytics, open your property
  2. Go to AdminData Streams
  3. Click your Web data stream
  4. Copy the Measurement ID (it looks like G-XXXXXXXXXX)



API Secret


  1. In the same web data stream, click Measurement Protocol API secrets
  2. Click Create
  3. Enter a nickname like “Hoppy Appointments”
  4. Copy the generated API secret


⚠️ Important:


The API secret is used server-side and is never shown to customers or stored in the browser. Keep it private, just like any API key.



🛠️ Step 3 — Enter GA4 Credentials in Hoppy Appointments


Back in the Hoppy Appointments Analytics & Tracking page:


  1. Find the Google Analytics 4 card
  2. Paste your Measurement ID into the Measurement ID field
  3. Paste your API secret into the API Secret field


That’s the minimum required to start tracking booking events.


ℹ️ There is no separate “Enable GA4” toggle. Once the Measurement ID and API secret are entered, GA4 tracking becomes active.



🛠️ Step 4 — Optional Settings


Depending on your setup, you may also want to configure these optional fields.


GTM Container ID


If you use Google Tag Manager, enter your container ID (it looks like GTM-XXXXXXX).


When filled in, the GTM loader script is injected into the booking iframe. This lets you route data to GA4, Google Ads, or other tags through GTM.


ℹ️ This is completely optional. GA4 tracking works without GTM.



Debug Mode


Enable Debug mode while testing your setup.


When debug mode is on:


  • Events are validated against Google’s debug endpoint first
  • You can see events in GA4’s DebugView in real time
  • Malformed payloads surface as errors instead of being silently dropped


Turn debug mode off once you’re happy with the setup.



💾 Step 5 — Save


Click Save in the top bar.


Wait for the confirmation message, then your GA4 tracking is live 🎉



📈 What Events Are Tracked


Once connected, Hoppy Appointments sends the following events to GA4 automatically.


purchase


Fired when a booking is confirmed as created.


  • Free bookings → fires immediately after the customer submits the form
  • Paid bookings → fires after the customer completes checkout and payment is confirmed
  • Includes booking value, currency, and service details


This is your main conversion event.



booking_completed


Fired when you mark a booking’s attendance as Completed in the admin.


Use this to track appointments that were actually fulfilled.



booking_cancelled


Fired when a booking is cancelled — either by you or by the customer.



booking_rescheduled


Fired when a booking is moved to a new date or time.



generate_lead


Fired when a customer joins the waitlist for a fully booked slot.



⚠️ Important Notes & Limitations


  • GA4 events are sent server-side. Hoppy Appointments uses the GA4 Measurement Protocol, so events work even if the customer uses an ad blocker.
  • There is no separate payment event. The conversion is tracked as purchase under the booking_created action. The event fires once the booking is confirmed, not when the customer starts checkout.
  • Manual bookings are not tracked. Bookings created by your team in the admin, POS, or manually are excluded from analytics.
  • Bundle bookings count as one conversion. A single event is fired for the parent bundle, not for every session inside it.
  • The API secret is required. GA4 tracking will not work with only the Measurement ID.
  • GTM is optional and client-side only. If you add a GTM container ID, the script loads inside the booking iframe. Server-side GA4 events still go directly to GA4.
  • Debug mode validates first. In debug mode, every event is checked against Google’s debug endpoint before being sent to the production stream.



🎉 Final Result


Once configured:


✅ Booking conversions are sent to your GA4 property
✅ Free and paid bookings are tracked correctly
✅ Lifecycle events like reschedule, cancel, and complete are recorded
✅ Waitlist signups appear as lead events
✅ You can analyze appointment behavior alongside your store traffic


With GA4 connected, you can build reports and audiences based on real booking activity — and make smarter decisions about your services 📊


Updated on: 20/08/2026

Was this article helpful?

Share your feedback

Cancel

Thank you!