TikTok Ads conversion tracking for restaurants
A restaurant's conversions are scattered across systems it mostly doesn't own: reservations through a booking platform, delivery orders through a marketplace, and a large share of bookings still arriving by phone. What TikTok Ads adds on top of that is a mechanical requirement: ttclid has to reach the record that holds the money, because TikTok can only credit a conversion it can tie back to a click it recognizes. This page covers both halves — what a conversion is in restaurants, and what TikTok specifically needs to accept it.
Free30 minutesNo obligation
Specific to TikTok × Restaurants
TikTok for restaurants: ttclid into online orders, not views
On TikTok, a restaurant should send CompletePayment from its own online ordering system through the Events API, matched on the ttclid captured at landing plus hashed email or phone, with the order number as event_id. Reservations can go as SubmitForm or Contact. Viral views that turn into walk-ins have no identifier at all.
TikTok's real effect for restaurants is foot traffic from food videos, and nearly all of it is invisible to any tag. Someone watches a clip of your smash burger, saves it, and turns up two weeks later without clicking anything. The measurable slice is narrower: clicks into online ordering or a reservation. Size the rest with a TikTok-only offer redeemed at the counter, counted in your POS.
Fit depends on the concept. Fast casual, late-night, dessert and anything visually dramatic suit TikTok's younger, mobile audience. A quiet fine-dining room rarely does, and building the Events API for that account is effort better spent on Google. If the concept fits, the conversion that matters is the online order, sent from your ordering system with the basket total as value.
The break here is ttclid dying between TikTok's in-app browser and a third-party ordering page. Many restaurant ordering systems live on a vendor subdomain that drops URL parameters on redirect. Test a real tap from the TikTok app on a phone, confirm ttclid arrives at the ordering page, and if it doesn't, rely on hashed contact details from the order. TikTok also restricts alcohol ads; check before featuring a bar.
TikTok · Restaurants · what breaks
Why TikTok under-reports for restaurants
- 01
Reservations on a third-party platform
Off-domain, unattributed.
- 02
Delivery marketplace orders invisible
A large revenue channel with no ad attribution.
- 03
Phone bookings untracked
Still a major channel for most restaurants.
- 04
Ttclid never reaches the record
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.
TikTok · Restaurants · the fix
What working looks like — TikTok · Restaurants
Each booking path measured separately
Web, platform, phone.
Cover value rather than booking count
A table of two and a table of ten differ.
Calls attributed to campaigns
The channel most restaurants ignore.
TikTok · Restaurants · architecture
How TikTok and restaurants actually connect
- 1
The conversion in restaurants
Reservation made, reservation honoured, order placed, order value. No-show rates in hospitality make the second stage matter as much as the first.
- 2
TikTok Ads needs a click to match
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.
- 3
The identifier: ttclid
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.
- 4
Where it gets sent from
your reservation and ordering systems' records.
- 5
Deduplication and window
Send the same event ID from the browser pixel and the server event. The mechanics mirror Meta's closely enough that a team who has done one can do the other, but verify TikTok's current requirements rather than assuming parity — the deduplication window in particular isn't a figure we'll guess at. 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.
TikTok · Restaurants · events
The conversion map for restaurants
Four stages spread across systems you mostly don't own.
| Event | What it means here |
|---|---|
| Reservation made | Server-side from the reservation platform where it exposes a webhook. |
| Reservation honoured | Server-side. Covers seated is the real conversion. |
| Phone booking | Call tracking plus the reservation system's record. |
| Online order | Server-side from your own ordering system, with order value. |
| Marketplace order | Reported separately. Usually not attributable to your ads at all. |
TikTok · Restaurants · diagnose
Diagnostic order — TikTok · Restaurants
- 01
Count records carrying ttclid
- 02
Reservation platform on another domain
The click ID doesn't cross unless carried, so bookings look like direct traffic.
- 03
No-shows counted as conversions
Restaurant no-show rates make booked-only reporting optimistic.
- 04
Phone bookings untracked
Hard-coded numbers, and no click-to-call event on mobile.
- 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 · Restaurants · prove
How it gets proven — TikTok · Restaurants
Source of truth
your reservation and ordering systems' records
- Click ID confirmed reaching the reservation platform, or the limitation documented.
- Number insertion and click-to-call confirmed on a real mobile device.
- Covers seated reconciled against the reservation system for a closed month.
- Marketplace orders reported separately and explicitly.
- TikTok's own event diagnostics, plus a reconciliation against your records read directly, not inferred from an upload succeeding.
TikTok · Restaurants · free audit
What we check in the free audit
- Count records carrying ttclid
- Reservation platform on another domain
- No-shows counted as conversions
- Phone bookings untracked
- Read TikTok's own event diagnostics, plus a reconciliation against your records
Checked against
your reservation and ordering systems' records
Free30 minutesNo obligation
TikTok · Restaurants · when not to buy
When you don't need this — TikTok · Restaurants
- If TikTok already reports conversions that reconcile against your reservation and ordering systems' records within a few percent, this is working and there is nothing to buy.
- Measure identifier coverage yourself first — pull your last hundred records and count how many carry ttclid.
- 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 · Restaurants · what we deliver
What gets built — TikTok · Restaurants
Click ID carried into the reservation platform
Where it supports parameters.
Call tracking with number insertion
On every template and the sticky mobile bar.
Reservation system as the source of truth
Covers seated, not bookings made.
Delivery marketplace reported as its own channel
Honestly, including what can't be attributed.
Dispatch via the Events API
Structurally similar to the other server-side conversion APIs: event name, timestamp, event ID, hashed user identifiers, event properties. TikTok's exact field names change more often than the other major platforms', so build against their current documentation rather than a blog post — including this one.
Written guarantee
95%+ tracking accuracy
Measured against your reservation and ordering systems' records. Miss it and we keep working at no cost.
From $400 · See packages
FAQ
TikTok · Restaurants questions, answered
No click identifier exists for a walk-in, so TikTok cannot attribute it. A TikTok-specific offer or code redeemed at the register is the only deterministic count you will get, and it is a floor rather than the full effect.
CompletePayment from your ordering system once payment succeeds, with value, currency and the order number as event_id. Avoid sending it from the confirmation page alone, because ordering apps often skip it.
Where the platform supports link parameters or a webhook, yes. Where it doesn't, we say so rather than reporting a number we can't stand behind.
Seated covers. No-show rates are high enough that booking-only reporting will consistently overstate what your ads produced.
Report them, don't claim them. The marketplace owns that customer journey and attributing it to your ads corrupts every other number in the report.
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.
Structurally similar to the other server-side conversion APIs: event name, timestamp, event ID, hashed user identifiers, event properties. TikTok's exact field names change more often than the other major platforms', so build against their current documentation rather than a blog post — including this one.
By reading TikTok's own event diagnostics, plus a reconciliation against your records and reconciling against your reservation and ordering systems' records. An upload that succeeds is not an upload that matched.
More on TikTok · Restaurants
- TikTok Events APITikTok conversions that survive the in-app browser
- TikTok Events API deduplicationWhy is my TikTok Events API deduplication not working?
- TikTok Pixel not firingWhy is my TikTok Pixel not firing?
RELATED GUIDES
More for restaurants: other angles on the same outcome
- RestaurantsConversion tracking for restaurants, across reservations, orders and calls
- TikTok · Auto repairTikTok Ads conversion tracking for auto repair and collision shops
- TikTok · Real estateTikTok Ads conversion tracking for real estate companies
- TikTok · Reactivation → repeat purchaseHow to track lapsed customer reactivation to repeat purchase for TikTok Ads
- TikTok × POS SystemHow to reconcile TikTok Ads against your point-of-sale system
- Popmenu → TikTokConnecting Popmenu to TikTok Events API
- Eat AppConversion tracking for restaurants on Eat App
- TikTok · JewelryTikTok Ads conversion tracking for jewelry retailers
Free · 30 min
Get TikTok reporting what restaurants actually earn
Free30 minutesNo obligation
