Your WellnessLiving widgets can send event data to Google Analytics 4 (GA4), Facebook (Meta) Pixel, and other analytics tools you already use on your website. This lets you measure how visitors interact with your booking, store, and lead capture widgets, from the first page view all the way through to a completed purchase. You can tie those results back to the ads, emails, and campaigns that brought visitors to your site.
This article explains how analytics and conversion tracking work in your widgets, how to set it up for Google and Facebook, what events are tracked for each widget, and how to use the data to grow your business.
What conversion tracking does for your business
When someone lands on your website and books a class, buys a membership, or fills out a lead form, that's a conversion. Conversion tracking is the process of capturing each step they took to get there and sending that information to your analytics tools.
With conversion tracking set up, you can answer questions like:
Which Facebook or Google ads actually drive paying customers, not just clicks?
Where in the booking flow are visitors dropping off?
Which classes, services, or memberships have the highest conversion rate?
What's the return on investment of a specific marketing campaign?
Without it, your analytics platform only sees that someone visited your site. Everything that happens inside the WellnessLiving widget is invisible to it.
How tracking works in your widgets
Your widgets are built to send analytics events automatically. You do not need a developer to write custom code. As a visitor moves through a widget, the widget broadcasts events at each meaningful step. Three things can receive those events:
Google Analytics 4 picks up events through your website's GA4 setup or Google Tag Manager (GTM) container.
Facebook Pixel picks up events if you have a Pixel ID configured.
The WellnessLiving Marketing Suite receives the events directly so it can attribute revenue to your campaigns, trigger abandoned-checkout automations, and report on campaign performance inside WellnessLiving. The Marketing Suite is available on a Marketing Suite subscription.
You can enable any combination of these. If you only use Google Analytics, you can use just that. If you run Facebook ads, add the Pixel. If you use the WellnessLiving Marketing Suite, the third path is already active for you with nothing to configure.
Where tracking applies
The same tracking works everywhere your clients interact with WellnessLiving widgets:
Widgets embedded on your own website — the Schedule, Store, Appointments, Events, Book-a-Spot, and Lead Capture widgets you embed on the website you maintain.
Widgets on a Presence custom website — if WellnessLiving built your website through the Presence service, the widgets on it are tracked exactly the same way.
The Client Portal — when a client books or buys directly through your Client Portal (the WellnessLiving-hosted pages clients use to manage their account), those interactions also fire the same events.
The same Measurement ID and Pixel ID configured in your WellnessLiving settings apply across all three. You do not need separate setup for each.
UTM parameters are captured automatically
If a visitor arrives on your site through a link with UTM parameters (for example, ?utm_source=facebook&utm_campaign=spring_promo), your widgets capture those parameters and attach them to every event. This means a purchase that came from your spring Facebook campaign will show up as such in GA4, Facebook, and the WellnessLiving Marketing Suite, even though the booking happened inside the widget.
Before you begin your setup
You will need:
A Google Analytics 4 property and its Measurement ID (format:
G-XXXXXXXXXX), if you want Google tracking. You can find this in your GA4 admin under Data Streams.
A Facebook (Meta) Pixel and its Pixel ID (a 15-16 digit number), if you want Facebook tracking. You can find this in Meta Events Manager.
Your website domain added to WellnessLiving's allowed domains list. Open the App Drawer
then click Setup > Web Applications > Client View Settings. Scroll to Website Integration Settings and add your domain under Website Address.
If you do not have a GA4 property or Facebook Pixel yet, set those up in Google Analytics and Meta Events Manager first.
Setting up Google Analytics tracking
Set up your Google Analytics 4 Measurement ID in WellnessLiving so your widgets can start sending event data to GA4.
To set up Google Analytics tracking:
Open the App Drawer
then click Setup > Web Applications > Client View Settings > Analytics.
In the Google Analytics 4 Measurement ID field, paste your Measurement ID (for example,
G-ABC1234DEF).
Click Save.
Your widgets will start sending GA4 events the next time they are loaded, across your website, your Presence custom site, and the Client Portal.
If you use Google Tag Manager
If your website manages tags through Google Tag Manager (GTM), you do not need to enter a Measurement ID in WellnessLiving. Your widgets will push events to the standard dataLayer, and your existing GTM container will pick them up. Make sure your GTM container has GA4 configuration and event tags set up to forward dataLayer events to GA4.
Verifying it works
To verify Google Analytics tracking is working:
Open your website in a Chrome browser.
Install the GA Debugger Chrome extension and enable it.
Open your widget and complete a test booking or purchase.
Open Chrome DevTools (right-click > Inspect > Console). You'll see events like
view_item,begin_checkout, andpurchaselogged.
In GA4, open Admin > DebugView to see the events arrive in real time.
Setting up Facebook Pixel tracking
Set up your Meta Pixel ID in WellnessLiving so your widgets can start sending conversion events to Facebook.
To set up Facebook Pixel tracking:
Open the App Drawer
then click Setup > Web Applications > Client View Settings > Analytics.
In the Meta Pixel ID field, paste your Pixel ID.
Click Save.
Your widgets will start sending Pixel events the next time they are loaded, across your website, your Presence custom site, and the Client Portal.
Verifying it works
To verify Facebook Pixel tracking is working:
Install the Meta Pixel Helper Chrome extension.
Open your website and load a page with a widget on it.
Click the Pixel Helper icon. You should see your Pixel ID and a list of events firing as you interact with the widget (
ViewContent,InitiateCheckout,Purchase, and so on).
In Meta Events Manager, open Test Events to confirm events are arriving.
Telling website traffic apart from Client Portal traffic
Because the same events fire from your website, your Presence custom site, and your Client Portal, you may want to see how each surface is performing on its own, for example, "what's my booking conversion rate from my website specifically?"
GA4 captures the page URL of every event automatically. You can use this to filter and compare:
Your own website events come from your domain (for example,
yourstudio.com).
Your Presence custom site events come from your Presence-managed domain.
Client Portal events come from a
wellnessliving.comURL (for example,www.wellnessliving.com/rs/...).
Filtering by surface in GA4
To filter by surface in GA4:
Open Explore and start a new Free form exploration.
Add Page location or Hostname as a dimension.
Add Event count or Conversions as a metric.
Group or filter by Hostname to compare your website versus the Client Portal.
For ongoing tracking, you can also create separate Audiences in GA4 based on Hostname, for example, an audience for "Client Portal visitors." You can use that audience to segment your standard reports.
What events are tracked for each widget
Not every widget fires every event. The events depend on what the visitor can actually do. The table below summarizes which events fire for each widget.
Event (GA4 name) | What it means | Lead Capture | Store | Schedule | Events | Appointments | Book-a-Spot |
|---|---|---|---|---|---|---|---|
| A lead form is submitted | ✓ | |||||
| A new client profile is created | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| The visitor sees a list of services or products | ✓ | ✓ | ✓ | ✓ | ✓ | |
| The visitor clicks into a specific item to see details | ✓ | ✓ | ✓ | ✓ | ✓ | |
| An item is added to the cart | ✓ | |||||
| An item is removed from the cart | ✓ | |||||
| The visitor commits to the purchase or booking | ✓ | ✓ | ✓ | ✓ | ✓ | |
| Payment details are submitted | ✓ | ✓* | ✓* | ✓* | ✓* | |
| The booking or purchase is confirmed | ✓ | ✓ | ✓ | ✓ | ✓ |
* Only fires when payment is actually collected. If the booking is covered by an existing pass or membership, no payment step happens and this event does not fire.
Facebook Pixel equivalents
The same events are sent to Facebook Pixel under their standard event names:
GA4 event | Facebook Pixel event |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
For all booking widgets (Schedule, Events, Appointments, Book-a-Spot), a successful booking fires both Purchase and Schedule on Facebook. The Schedule event is what Facebook uses to optimize ad delivery for appointment-based businesses, so it's important for ad performance.
A few details worth knowing
Zero-dollar bookings still count as conversions. When a client books a class using an existing pass or membership, the widget still fires a
purchaseevent with a value of zero. This keeps your funnel reports accurate. A custom parameter (payment_source) tells you whether the booking was paid for or covered by a pass.
Every purchase has a unique transaction ID. This prevents the same booking from being counted twice in your analytics, which is a common problem with manually set up tracking.
List views are smart about not over-firing. If a visitor browses a class list, clicks into a class, and comes back, the
view_item_listevent only fires once. It only fires again if they apply new filters or switch to a different list.
Tips and best practices
Set up a key event in GA4. In your GA4 property, mark
purchase(andgenerate_leadif you use the Lead Capture widget) as a key event. This unlocks more accurate conversion reporting and lets you import the conversion into Google Ads.
Wait a few days before drawing conclusions. Conversion data populates over time. Give GA4 and Facebook at least a week of data before judging campaign performance.
Check your numbers across platforms. GA4, Facebook Pixel, and WellnessLiving may report slightly different numbers because of attribution windows, ad blockers, and cookie restrictions. Treat each as a directional signal, not an exact match.
Respect visitor privacy. If your website uses a cookie consent banner (such as OneTrust or Cookiebot), make sure visitors have accepted analytics and marketing cookies before events fire. WellnessLiving widgets respect standard consent management platforms.
Do not put personal information in event names or parameters. The widgets are built to avoid sending names, emails, and phone numbers to third-party platforms. If you customize your GTM setup, follow the same rule.
Common use cases
Measure your booking funnel in GA4
Once events are flowing, GA4 will automatically populate the Monetization > Ecommerce purchases report. To see funnel drop-off, build a Funnel exploration in Explore > Funnel exploration with steps for view_item, begin_checkout, add_payment_info, and purchase. You'll see exactly where visitors abandon the booking flow.
Optimize Facebook ad campaigns for bookings
In Meta Ads Manager, when you set up a new campaign, choose Conversions as the objective and select Schedule or Purchase as the optimization event. Facebook will then deliver your ads to people most likely to book or buy, based on the conversion events your widgets are sending. Make sure the event has fired at least 50 times in the past week so Facebook has enough data to optimize.
Attribute bookings to specific campaigns
Add UTM parameters to the links you use in ads, emails, and social posts:
https://yoursite.com/book?utm_source=facebook&utm_medium=paid&utm_campaign=spring_promo
The widgets will capture those parameters and attach them to every event. In GA4, open Acquisition > Traffic acquisition to see which campaigns are driving the most bookings. In the WellnessLiving Marketing Suite, campaign reporting picks these up automatically.
If you do not want to build UTM URLs by hand, you can use Google's free Campaign URL Builder.
Recover abandoned bookings
When a visitor reaches the checkout step but does not complete the booking, the widget records an abandoned checkout event. The WellnessLiving Marketing Suite uses this to trigger automated follow-up messages, for example, an email reminder a few hours later inviting them to finish booking.