š Overview
If you want full, independent control over your Meta Pixel rather than using the Pixel tied to our Facebook Business integration - you can do this by embedding Widget 2.0 on your own website and firing your own Pixel events using our booking tools SDK.
This is a different setup to our native Facebook/Instagram integration, and it comes with an important trade-off, so please read the "Which option is right for you" section below before setting this up.
ā ļø Which option is right for you?
There are two ways to get Meta Pixel data on Appointedd bookings:
| Native Facebook Business integration | Your own Pixel (this guide) |
Where the booking happens | Inside the Facebook/Instagram app - no redirect | On your own website |
Who selects/manages the Pixel | Chosen during the FBMS connection flow | You, entirely self-serve |
Setup effort | Guided wizard in Appointedd and Meta | Manual - requires basic JavaScript |
Best for | Businesses who want customers to stay in-app on Facebook/Instagram | Businesses who want full control of Pixel events/parameters, and don't mind directing customers to their own website |
Important: Meta does not provide a way to embed a custom script or iframe directly into the native "Book Now" button on a Facebook Page. This means the approach in this guide only works if your Facebook/Instagram CTA (or your posts/ads) link out to your own website, where Widget 2.0 is embedded, not to our native in-app widget or widget URL directly.
If you'd rather keep the native in-app booking experience, use our Facebook Business integration guide instead.
ā What you'll need
A Widget 2.0 already created (embed or popover mode)
Your own Meta Pixel base code already installed on your website (Meta's guide to installing a Pixel)
Basic comfort with HTML/JavaScript, or a developer who can add this for you
š ļø Step 1: Embed your booking widget on your website
If you haven't already, embed your Widget 2.0 on your website in embed or popover mode. Instructions for this are covered in our Widgets 2.0 guide.
š ļø Step 2: Add the Appointedd event listener script
Our booking tools emit JavaScript events (e.g. when a customer engages with the widget, or completes a booking) that you can listen for on your website.
Full details on the available events and example listener scripts (for both embed and popover mode) are in our guide: Tracking events from your Appointedd booking tools on your website with JavaScript.
The events most relevant for Pixel tracking are:
USER_ENGAGED- fires when a customer interacts with the widget (good for a "Lead" or engagement-style event)BOOKING_CREATED- fires when a booking is successfully completed (good for a conversion event)
š ļø Step 3: Fire your Meta Pixel events inside the listeners
Inside each event listener, add your fbq() call to fire the relevant Pixel event. For example:
<script src="https://booking-tools-sdk.appointedd.com/appointedd-booking-tools-sdk-v1.js"></script>
<script language="javascript" type="text/javascript">
var registered = false;
function init() {
if (registered) return;
// Fires when a customer engages with the widget
window.Appointedd.popovers.on("USER_ENGAGED", function() {
fbq('track', 'Lead');
});
// Fires when a booking is completed
window.Appointedd.popovers.on("BOOKING_CREATED", function(event) {
fbq('track', 'Schedule', {
content_name: event.data.booking.service_name,
value: event.data.booking.spaces,
});
});
}
if (window.Appointedd) {
init();
} else {
window.addEventListener(
"appointedd-booking-tools-sdk-v1",
function(event) {
if (event.detail.type === "sdk.ready") init();
}
);
}
</script>
Replace window.Appointedd.popovers.on(...) with bookingTool.on(...) if you're using embedded mode instead of popover mode - see the JavaScript tracking guide for the embed mode setup.
You can use any standard or custom Meta Pixel event name and parameters here - this is standard fbq() usage, so anything you can normally pass to a Pixel call works.
š§Ŗ Step 4: Test your setup
Confirm your Pixel is firing correctly:
Install the Meta Pixel Helper Chrome extension
Visit your website and open the booking widget
Interact with the widget and complete a test booking
Check Pixel Helper (and Meta Events Manager's Test Events tool) to confirm the expected events are firing with the correct data
šŗļø Using Google Tag Manager instead
If you manage tags through Google Tag Manager, you can follow the same pattern shown in our GA4/GTM tracking guide, but instead of pushing events to the GTM dataLayer and creating a GA4 tag, you'd create a Custom HTML tag that fires your fbq() call, triggered off the same custom event.
Need help?
If you get stuck, please reach out to our support team via the chat icon. For questions about Pixel event names, parameters, or Meta Ads setup itself, Meta's own Events Manager documentation is the best resource.
