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

5 steps. Names of menus and buttons are as they appear today; vendors rename things, so look for the closest match.
  1. Step 1: Find your Pixel ID

    Meta Events Manager → Data sources → your Pixel. The ID is the long number under the Pixel's name.

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

  3. Step 3: Paste the ID into the widget

    Dashboard → widget → Tracking → Ad conversions → "Meta Pixel ID". Save. This field needs Pro.

  4. 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_completed
  5. Step 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

Something not covered? Email hello@bookingsxp.com.

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.