How to reconcile Meta Ads against your booking or reservation system
This is the check we run first on every account, written out so you can run it without us. It takes about thirty minutes and needs two numbers: what Meta says it produced, and what your booking or reservation system actually shows. The gap between them is the only honest measure of whether your tracking works — and if it comes back small, you do not need us.
Free30 minutesNo obligation
Specific to Meta × Booking System
Meta Ads vs your booking system: hashed guest email and reservation ID
Reconcile Meta against direct bookings using the guest's hashed email and phone plus the reservation number sent as event_id through the Conversions API. Meta's default 7-day click and 1-day view window includes view-through, so Meta will claim stays your PMS credits elsewhere. Expect Meta higher than direct bookings; a large excess points to cancellations never reversed.
Booking systems are a good fit for Meta matching because every reservation carries the guest email and usually a phone number collected for the confirmation. Hashed, those match Facebook and Instagram accounts far better than a work email in a CRM would. Send the reservation number as event_id on both the pixel Purchase and the server event so a guest who reloads the confirmation page is counted once, and add fbclid from the _fbc cookie when the booking engine preserves it.
Meta dates a conversion by the ad interaction, and the 1-day view path credits anyone who scrolled past a resort reel the day before booking through search. Travel planning also runs long, so a guest who clicked a Meta ad five weeks before booking falls outside the 7-day click window and disappears. In Ads Manager, add the attribution setting comparison so click-through and view-through bookings appear as separate columns.
Meta reporting more bookings than your direct channel shows is expected. Breakage looks like a purchase value that matches the nightly rate rather than the stay total, or event_id values that never repeat between pixel and server. The usual cause of disagreement is the Purchase event firing at booking with no cancellation ever sent back.
Meta × Booking System · what breaks
Why Meta and your booking or reservation system disagree
- 01
OTA and marketplace bookings pooled with direct
The defining error. A good month on Booking.com or a marketplace reads as advertising success, and none of it was bought with media.
- 02
Nightly rate or per-person price used as the value
A four-night stay is four times a one-night stay. Reporting the rate makes the long bookings you most want look identical to the short ones.
- 03
Cancellations never reversed
Long lead times mean meaningful cancellation rates, especially on flexible rates.
- 04
Booking counted instead of the delivered stay
A booking made in January for July is six months from being revenue and some of it will not happen.
Meta × Booking System · the fix
What you get from this — Meta × Booking System
A number instead of a suspicion
The likely cause, narrowed
A basis for deciding
Meta × Booking System · architecture
What each side is actually counting — Meta × Booking System
- 1
What Meta counts
event_name from the standard set with exact casing, event_time in seconds, a shared event_id, an action_source, and hashed user_data that was normalized before hashing. Purchase additionally requires value and currency.
- 2
How Meta attributes it
fbclid arrives on the landing URL and is normally written into the _fbc cookie. If it isn't captured on landing, _fbc never exists — and _fbc is the strongest click signal Meta has, so its absence caps your match quality regardless of what else you send. Forward _fbp too, from the browser rather than regenerating it server-side.
- 3
The window it uses
Meta's default attribution is a 7-day click and 1-day view. View-through is included by default, which is a large part of why Meta claims more conversions than your other platforms — that overlap is expected rather than a fault.
- 4
What your booking or reservation system counts
Bookings that were actually delivered, at total value, found in Your PMS, booking engine or reservation system, filtered by channel.
- 5
The filter that makes them comparable
Direct channel only — exclude ota, marketplace and channel-manager bookings.
Meta × Booking System · events
Reading the gap — Meta × Booking System
| What you see | What it usually means |
|---|---|
| 15%+ platform higher | Usually the wrong event entirely — the platform is counting marketplace bookings, cancelled bookings, or bookings that have not yet been delivered. |
| 20%+ platform lower | Usually structural — the platform is missing direct bookings — usually the identifier lost at the handoff to a hosted booking engine. |
Meta × Booking System · diagnose
Diagnostic order — Meta × Booking System
- 01
Confirm both numbers cover the same period and channel
- 02
OTA and marketplace bookings pooled with direct
The defining error. A good month on Booking.com or a marketplace reads as advertising success, and none of it was bought with media.
- 03
Nightly rate or per-person price used as the value
A four-night stay is four times a one-night stay. Reporting the rate makes the long bookings you most want look identical to the short ones.
- 04
Cancellations never reversed
Long lead times mean meaningful cancellation rates, especially on flexible rates.
- 05
Read the Deduplicated indicator and the per-event match quality score, both read over seven days
Match quality is where most Meta accounts lose attribution, and it's almost always normalization rather than coverage. An email hashed with a capital letter, or a phone hashed with brackets, produces a perfectly valid hash that matches nobody and errors nowhere. Normalize first, then hash, and read the score per event rather than overall.
Meta × Booking System · prove
How to know you did it right — Meta × Booking System
Source of truth
your booking or reservation system — completed stays or bookings for a fully closed month
Meta × Booking System · free audit
What we check in the free audit
- Confirm both numbers cover the same period and channel
- OTA and marketplace bookings pooled with direct
- Nightly rate or per-person price used as the value
- Cancellations never reversed
- Read the Deduplicated indicator and the per-event match quality score, both read over seven days
Checked against
your booking or reservation system — completed stays or bookings for a fully closed month
Free30 minutesNo obligation
Meta × Booking System · when not to buy
When the answer is that you do not need us — Meta × Booking System
- If almost all of your completed stays or bookings come from a channel with no click behind it, no tracking work will reach them — and knowing that is worth more than a build.
- If you're advertising a business type Meta restricts data collection for — health being the obvious one — the parameters you can legitimately send are narrower, and that constraint should shape the build rather than be worked around.
Meta × Booking System · what we deliver
The method, step by step — Meta × Booking System
Pull what Meta reports
The deduplicated indicator and the per-event match quality score, both read over seven days.
Pull what your booking or reservation system shows
Export bookings by service or arrival date for a fully closed period, filtered to the direct channel, at total booking value rather than a nightly or per-person rate.
Filter both to the same thing
Direct channel only — exclude ota, marketplace and channel-manager bookings.
Compare per record, not on totals
FAQ
Meta × Booking System questions, answered
Usually because Meta counts the booking value at the moment of reservation and never hears about cancellations or date changes. Check whether your purchase value is the total stay or a nightly rate before looking anywhere else.
Check whether Meta currently accepts any cancellation or refund signal; if it does not, the practical fix is to send the purchase only once a booking is past its free-cancellation date or delivered. Check too how late Meta still accepts a server event.
Because you should know the size of the problem before anyone quotes you for it. If the gap is small, you have saved yourself a purchase. If it is large, you now know what you are buying rather than taking our word for it.
No. Both numbers come from systems you already own and neither leaves them. There is no tool to sign up for and nothing to upload.
Then compare totals for a closed period and treat the result as directional rather than exact. The deduplicated indicator and the per-event match quality score, both read over seven days is still the right place to read the platform's side.
Under five percent is working. Five to fifteen usually means reversals are missing. Above twenty is normally the wrong event being counted, not a broken tag — which is why debugging tags first wastes so much time.
Then fix the filter before drawing any conclusion. Direct channel only — exclude ota, marketplace and channel-manager bookings. A mismatch in scope produces a gap that looks like a tracking fault and is not one.
Book the free thirty-minute call and bring both numbers. We will tell you which of the causes above it is, and whether it is something you can fix yourself — which it sometimes is.
More on Meta × Booking System
- Google Ads × Booking SystemHow to reconcile Google Ads against your booking or reservation system
- Meta × Appointment SystemHow to reconcile Meta Ads against your practice or scheduling system
- Meta × Invoicing SystemHow to reconcile Meta Ads against your invoicing system
RELATED GUIDES
Systems of record beside booking system, and the funnels it settles
- Meta × Enrolment SystemHow to reconcile Meta Ads against your application or enrolment system
- Meta × POS SystemHow to reconcile Meta Ads against your point-of-sale system
- Meta · TowingMeta Ads conversion tracking for towing companies
- Meta · Pet careMeta Ads conversion tracking for pet grooming and boarding businesses
- Siriusware → MetaConnecting Siriusware to Meta Conversions API
- Skedda → MetaConnecting Skedda to Meta Conversions API
- Meta × Invoicing SystemHow to reconcile Meta Ads against your invoicing system
- Meta × Job SystemHow to reconcile Meta Ads against your job management system
Free · 30 min
Found a gap between Meta and your booking or reservation system?
Free30 minutesNo obligation
