Skip to main content
TikTok × Booking SystemRun this yourself

How to reconcile TikTok 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 TikTok 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 TikTok × Booking System

TikTok vs your booking system: the in-app browser loses the booking

Reconcile TikTok against direct bookings by matching ttclid or hashed guest email sent through the Events API, with the reservation number as the shared event ID. Verify TikTok's current attribution windows in its documentation. Expect TikTok below your direct bookings for stays, because guests discover a property in-app and complete the booking days later elsewhere.

TikTok sends travel traffic through its in-app browser, and a guest who opens your booking engine there rarely finishes a multi-night reservation on the spot. They come back later in Safari or Chrome, where ttclid and the pixel cookie are gone, and the booking reaches your PMS with no identifier. The usable join key is then the hashed email and phone sent through the Events API, matched against the guest's TikTok account, with the reservation number as the event ID shared with the pixel.

Check in TikTok's documentation which click and view windows your reporting uses and whether view-through bookings are included in the default columns. Short videos sell experiences and weekend breaks well, and TikTok's numbers will look closest to your PMS for those; for stays planned months ahead, much of the effect falls outside any window. Read bookings from the TikTok Ads Manager reporting view with the purchase event columns, broken out by attribution type if your account allows it.

TikTok reporting fewer bookings than you believe it drove is normal. Breakage looks like purchases with no value, or TikTok's event diagnostics showing few events carrying email. The usual cause is the cross-browser handoff.

TikTok × Booking System · what breaks

Why TikTok and your booking or reservation system disagree

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

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

  3. 03

    Cancellations never reversed

    Long lead times mean meaningful cancellation rates, especially on flexible rates.

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

TikTok × Booking System · the fix

What you get from this — TikTok × Booking System

  • A number instead of a suspicion

  • The likely cause, narrowed

  • A basis for deciding

TikTok × Booking System · architecture

What each side is actually counting — TikTok × Booking System

  1. 1

    What TikTok counts

    A standard event name, an event timestamp, a shared event ID, hashed and normalized user identifiers, and ttclid where available. Confirm the current required fields in TikTok's documentation before building.

  2. 2

    How TikTok attributes it

    TikTok's click identifier, appended to the landing URL. Capture it on landing and persist it exactly as you would gclid or fbclid — it's the strongest matching signal available and the most commonly missing one, because TikTok is often added to a stack that was built around Google and Meta.

  3. 3

    The window it uses

    Verify the current attribution and import windows in TikTok's documentation. They differ from Google's and Meta's, and quoting a number here that goes stale would be worse than sending you to the source.

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

    The filter that makes them comparable

    Direct channel only — exclude ota, marketplace and channel-manager bookings.

TikTok × Booking System · events

Reading the gap — TikTok × Booking System

15%+ platform higherUsually the wrong event entirely — the platform is counting marketplace bookings, cancelled bookings, or bookings that have not yet been delivered.
20%+ platform lowerUsually structural — the platform is missing direct bookings — usually the identifier lost at the handoff to a hosted booking engine.

TikTok × Booking System · diagnose

Diagnostic order — TikTok × Booking System

  1. 01

    Confirm both numbers cover the same period and channel

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

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

  4. 04

    Cancellations never reversed

    Long lead times mean meaningful cancellation rates, especially on flexible rates.

  5. 05

    Read TikTok's own event diagnostics, plus a reconciliation against your records

    TikTok is usually the third platform added to a stack, and it typically inherits whatever assumptions were made for Google and Meta. The most common result is that ttclid is never captured at all, because the capture code was written naming gclid and fbclid and nobody revisited it.

TikTok × Booking System · prove

How to know you did it right — TikTok × Booking System

Source of truth

your booking or reservation system — completed stays or bookings for a fully closed month

    TikTok × 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 TikTok's own event diagnostics, plus a reconciliation against your records

    Checked against

    your booking or reservation system — completed stays or bookings for a fully closed month

    Get my free conversion tracking audit

    Free30 minutesNo obligation

    TikTok × Booking System · when not to buy

    When the answer is that you do not need us — TikTok × 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 TikTok is a small share of your spend, the effort is better spent making Google and Meta correct first — the same infrastructure then extends to TikTok as one additional tag rather than a separate project.

    TikTok × Booking System · what we deliver

    The method, step by step — TikTok × Booking System

    • Pull what TikTok reports

      Tiktok's own event diagnostics, plus a reconciliation against your records.

    • 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

    TikTok × Booking System questions, answered

    If your direct bookings are mostly multi-night stays planned weeks out, TikTok's attributed numbers will understate it and a geo or promo-code test tells you more. For activities and short breaks booked on impulse, the reconciliation is more meaningful.

    Free · 30 min

    Found a gap between TikTok and your booking or reservation system?

    Free30 minutesNo obligation