Meta Pixel & Conversions API
MarketingIT / TechnicalPreb reports your results back to Meta so its ad system can optimize on what actually happens after the click — new leads, booked calls, and real revenue — not just on who clicked. It does this two ways for every visitor who accepts marketing tracking in the consent banner: directly from Preb's servers (the Conversions API), which is the most reliable method because ad blockers and browser tracking protection can't stop it, and through the in-browser Meta Pixel as a second signal. Visitors who decline consent are never reported to Meta — that's what keeps your tracking lawful in the EU.
What gets tracked
Preb follows each lead through the whole funnel and tells Meta about every step: a new lead, a booked call, a cancellation, a no-show, a closed sale (with the revenue amount), and recurring renewals. Because the real sale value flows back, Meta can optimize toward the campaigns that produce money, not just bookings.
The server-side Conversions API is the backbone: once you save your settings, it reports every funnel step for consented visitors — including the later ones (sales, renewals) that happen long after the visit. The in-browser Pixel adds a second signal on top — see Consent & cookie banner.
You'll see more server events than browser ones
In Meta's Events Manager, server-side events usually outnumber in-browser ones: among consented visitors, ad blockers and browser tracking protection can swallow the Pixel, but they can't touch the server events. That gap is expected — it's not a sign anything is broken. Meta deduplicates events that arrive through both paths.
Connecting your pixel
You connect Meta on the Meta page under Integrations. Everything is optional — set it up only if you advertise on Facebook or Instagram.
Open the Meta integration
In your workspace, go to Integrations and open the Meta card.
Paste your Pixel ID
Your Pixel ID is the numeric ID of your Meta Pixel / dataset (15–16 digits). Find it in Events Manager → your dataset → Settings — it's the number shown at the top.
Add your access token
Paste your Conversions API access token (next section), then Save settings.
Send a test event
Use Send test event to confirm Meta is receiving data (see Test events).
Access token & dataset
Conversions API access token — this is what lets Preb send events to Meta from its servers. Generate it in Events Manager → Settings → Conversions API → Generate access token. Meta shows it only once, so copy it straight into Preb. It's stored securely and never shown again after you save.
Dataset ID (optional) — leave this blank and Preb uses your Pixel ID, which is correct for almost everyone (the two are usually the same number). Only fill it in if Meta gave you a separate dataset ID.
The Meta page shows as Installed once both a Pixel ID and an access token are saved — that's when Preb is ready to send to Meta.
Test events
Meta's Test Events tool lets you watch events arrive in real time while you set things up.
Copy your test event code
In Events Manager → Test Events, copy the code (it looks like
TEST12345).
Paste it into Preb
Put it in the Test event code field on the Meta page and save.
Click Send test event
Press Send test event and watch it appear in Meta's Test Events tab.
The test code is safe to leave filled in
Preb uses the test event code only for the "Send test event" button. Your real, live tracking is never routed to Test Events, so leaving the code in the field won't quietly send your production conversions to the wrong place — a common pitfall with other tools.
The events Preb sends
Preb sends six lifecycle events, in funnel order:
| What happened | Meta event |
|---|---|
| New lead — someone submits the booking form | Lead |
| Call booked — a call is scheduled | CompleteRegistration |
| Call cancelled — the booker cancels | BookingCancelled |
| No-show — the booker misses the call | BookingNoShow |
| Sale — a deal closes (includes the revenue value) | Purchase |
| Subscription renewal — a recurring payment renews | Subscribe |
The Sale and Subscription renewal events carry the actual amount and currency, which is what makes value-based optimization possible.
Give leads and bookings a value too (optional)
On the Meta page you can enter an estimated value of a new lead and of a
booking in your workspace currency. Preb then sends that value with Lead
and CompleteRegistration, so Meta's value-based bidding has a number to
optimise on long before the first real sale arrives. Leave both empty and the
events go out without a value, exactly as before.
Two custom events
BookingCancelled and BookingNoShow are custom event names. They're great for
reporting and for building audiences (for example, to retarget no-shows), but
Meta won't let you pick them as a standard optimization goal the way it does for
Lead or Purchase.
You can watch the most recent events on the same page under Recent events — the latest updates Preb sent to Meta and Google, and whether each was delivered. Hover a failed one to see why.
What makes the match good
Meta credits a conversion to an ad by matching the event to a click. Preb sends everything it lawfully can to make that match:
- the Meta click ID (
fbclid) from the link the visitor arrived on, together with the time of that click — so a sale reported weeks later still lands inside Meta's attribution window; - Meta's own browser cookies (
_fbp,_fbc) once the visitor accepted cookies, so browser and server events deduplicate cleanly; - the page the visitor actually saw — for an embedded widget that is your landing page, not the widget's own address, which is what Meta expects to see for a pixel verified on your domain;
- hashed email and phone, IP address and browser (see below).
PII hashing
Preb sends some customer details (like email and phone) so Meta can match an event to the right person and improve attribution. This data is hashed before it ever leaves Preb — turned into a scrambled, irreversible fingerprint — so Meta can match on it without Preb ever sharing the raw details. This is exactly how Meta expects the Conversions API to work, and the more matchable fields included, the better your attribution.
Your access token and other secrets are encrypted while stored, and tokens are kept out of all logs.
Browser funnel events
On top of the conversions above, the in-browser Pixel also reports lightweight funnel step events for consented visitors — event-type viewed, form started, day selected, and time selected. These aren't optimization conversions; they let you build Meta custom audiences (for example, "viewed a time but didn't book") for retargeting and lookalikes. They fire only after a visitor accepts marketing cookies, and only in the browser — your booking, sale, and renewal conversions still come from the server-side Conversions API.
Troubleshooting
- Browser events don't appear, but server events do. This is normal. Ad blockers and browser tracking protection routinely block the in-browser Pixel, while the server-side Conversions API keeps working — so Events Manager shows more server events than browser ones. Nothing is broken.
- No events at all in Events Manager. Check that the visitor accepted marketing cookies (nothing fires without consent — see Consent & cookie banner), and that a Pixel ID and access token are saved (the Meta page shows as Installed when both are set).
- The test event won't send. Re-check the Pixel ID and access token, then save before testing. If it still fails, Meta's own error message is shown — a common cause is an expired access token, which you regenerate in Events Manager.
- Verify in the browser. Install Meta's Pixel Helper Chrome extension and open a live booking page (accept cookies first) to watch the Pixel fire. Firefox blocks many pixels by default, so test in Chrome.