How can we help?

Send booking events to Meta Pixel

Once a Meta Pixel is connected, it records page views on the pages it covers. Booking events go further: they report every step a client takes on the way to booking, so you can optimise your Meta ads against completed bookings rather than against visits, and see how much each scheduling link earns.

You need a pixel connected first. See Connect Meta Pixel.

Turning on booking events

Booking events are on by default, for both new and existing connections, so there is nothing to switch on to get them. If they were turned off, turn them back on here.

  1. Visit Admin panel.

  2. Click on Other Integrations.

  3. Click on Meta Pixel.

  4. Turn on Send booking events to Meta.

The switch belongs to the pixel it sits under, not to the page. If a scheduling link or intro page carries a pixel of its own alongside this one, turn it on there as well.

Check this before you connect a pixel

If something else already reports NeetoCal bookings to this pixel, a Meta tag in Google Tag Manager for instance, every booking is counted twice. Remove your own tracking, or give it the booking’s reference as its event ID so Meta deduplicates the two.

What gets tracked

These are Meta's own standard events, so Meta's ad optimisation and reporting understand them with no further setup.

  • ViewContent when a client opens your intro page and sees your list of meetings, and again when they open one scheduling link. Meta has no separate event for a list, so both steps use this name. The intro page one carries the intro page as its content category and every meeting on it as content ids.

  • AddToCart when a client picks a time slot.

  • InitiateCheckout when a client fills in the booking details.

  • AddPaymentInfo when a client submits a payment.

  • Purchase when a booking is placed on a paid scheduling link, carrying the amount.

  • Lead instead of Purchase when the booking is on a free scheduling link. A free booking is a lead, not a sale worth nothing, and reporting it as a zero value Purchase would drag down the return on ad spend Meta calculates for you.

  • Schedule when a booking is placed, free or paid.

A completed booking therefore sends two events: Schedule, plus either Purchase or Lead. Use Schedule when you want to count bookings whatever they cost, and Purchase when you want revenue.

Sending the client’s details along with the events

A second switch under the same pixel, Send client details along with booking events, attaches the booker’s name, email address and phone number to each event. Meta calls this advanced matching, and it lets Meta credit a booking to the ad that caused it even when the client arrived on one device and booked on another. Each value is hashed in the client’s browser, so what reaches Meta is a fingerprint rather than the details themselves.

Whether to turn this on is a question about your own privacy obligations rather than a technical one. Check it against the privacy policy you show your clients, and leave it off if you are unsure. Booking events work perfectly well without it, and with it off no client details reach Meta at all.

Booking events carry extra details, and the most useful one tells you which scheduling link a client was booking. Meta ignores these until you build a Custom Conversion on them.

  • scheduling_link is the scheduling link the client is booking. Sent on every booking event except the intro page list.

  • is_free is whether the meeting is free or paid. Sent on every booking event except the intro page list.

  • is_awaiting_approval is whether the booking still needs your approval. Sent on Purchase and Lead.

  • is_payment_pending is whether the money has not arrived yet, which is the case for cash, UPI and recurring meetings where card is yet to be charged. Sent on Purchase and Lead.

  • value and currency are the amount the client was charged, in the currency they were charged in. Sent on every booking event except the intro page list and Schedule.

A Purchase also carries the meeting and each add-on service as separate contents, along with the tax, the discount code used and the payment provider.

Refer Meta’s guide on creating a Custom Conversion.

Seeing your booking funnel in Meta

Events Manager’s Overview lists each event with the number of times it arrived, which is the funnel itself: ViewContent, AddToCart, InitiateCheckout, AddPaymentInfo, then Purchase or Lead. The drop between two of them is where your clients are leaving.

In Ads Manager, pick Purchase, Lead or Schedule, or a Custom Conversion built on one of them, as the conversion event for a campaign, and Meta optimises delivery towards the people most likely to book.

The reports in Events Manager take a few minutes to fill in. Test events updates straight away, so use it to confirm events are arriving.

Note

  • Embedded scheduling links report their bookings too, but through the pixel on your own website rather than one NeetoCal loads. They send no page views of their own, since your website's pixel already records the page holding the embed. See Capturing booking events from embedded scheduling links.

  • Revenue counts bookings placed, not money received. A booking paid in cash, one still awaiting your approval, and one later cancelled or refunded are all counted, so the revenue Meta reports reads higher than what you collect. Filter out is_awaiting_approval to leave out bookings you have not accepted yet, and is_payment_pending to leave out bookings whose money has not arrived.

  • Free bookings are sent with a value of 0. Meta needs a currency whenever a value is set and a free meeting has no fee to take one from, so those are reported in USD. They add nothing to your revenue. Use is_free to tell free and paid bookings apart.