Ad platforms
Meta Pixel for Microsoft Bookings
Meta's standard event for a booked appointment is Schedule, and Meta Ads can optimise for it only if the Pixel sees it. BookingsXP fires it from your page when Microsoft Bookings confirms the appointment, using the Pixel you already have installed.
- Plan
- Plan: ProNeeds Pro ($19 a month) or Business ($49 a month).
- In short
- Schedule on every confirmed booking and ViewContent when the widget is seen, through your existing Pixel.
- Microsoft Bookings
- Stays your system of record. Bookings land in Outlook and Teams and Microsoft sends the invites and reminders.
How it works
What happens with Meta Pixel
- You enter your Pixel ID in the widget's Tracking tab. The loader uses it as a switch: it calls the fbq function that your Pixel base code defines.
- On widget_viewed the loader calls fbq('track', 'ViewContent'); on booking_completed it calls fbq('track', 'Schedule', {}, { eventID: 'BXP-…' }).
- The eventID is the booking reference. If you also send Schedule from the Conversions API with the same event_id, Meta de-duplicates the pair.
- The fbclid of the visit and the _fbp and _fbc cookies are read on your page and stored with the booking's attribution, so the webhook payload and booking notes show that the booking came from Meta.
Setup
Set up Meta Pixel
Step 1: Find your Pixel ID
Meta Events Manager → Data sources → your Pixel. The ID is the long number under the Pixel's name.
Step 2: Make sure the Pixel base code is on the booking page
The loader never injects the Pixel on your site; it only calls fbq if the global exists. Check with the Meta Pixel Helper extension.
Step 3: Paste the ID into the widget
Dashboard → widget → Tracking → Ad conversions → "Meta Pixel ID". Save. This field needs Pro.
Step 4: Test the event
In Events Manager open Test events, enter your booking page URL, and complete a test booking. You should see ViewContent when the widget loads and Schedule after confirmation.
What the loader calls fbq('track', 'ViewContent'); // widget_viewed fbq('track', 'Schedule', {}, { eventID: 'BXP-7K2M9Q' }); // booking_completedStep 5: Optimise ads for Schedule
In Ads Manager choose a Leads or Sales objective with a website conversion location, and pick Schedule as the conversion event once Meta has received some.
Outcomes and caveats
What you get
The result
- A Schedule event for each confirmed booking, optimisable in Meta Ads.
- ViewContent when the booking widget is shown, for retargeting people who looked but did not book.
- An event ID for de-duplication with a Conversions API setup.
- Meta click data (fbclid, _fbp, _fbc) kept with each booking's attribution.
Good to know
Limits and caveats
- Pro plan. On Free you can send the same event from GTM with a Custom HTML tag on bookingsxp.booking_completed.
- The loader sends no customer data to Meta: no email, phone or hash. Advanced matching is whatever your Pixel is already configured to do.
- Browser events can be blocked by ad blockers and Safari tracking protection. For server-side delivery, send a webhook to your own server and forward it to the Conversions API with the booking reference as event_id.
- Schedule is sent without a value. If you need value-based optimisation, send the event from GTM with bookingsxp.service.price.
FAQ
Meta Pixel questions
Start free, no card
Start on Free with the widget and GA4 events, then move to Pro when you want ad conversions, webhooks and chat alerts.