Turn on auto-tagging
In Google Ads, auto-tagging adds a click ID (GCLID) to every ad click. Meta adds its own click ID too.
Home / Guides / Ad-to-order tracking
Save the ad's click ID with every order, count only orders that were actually paid, and send the real pre-tax order value back to the ad platform every day. Google Ads calls this offline conversion import and Meta calls it the Conversions API. The numbers the ad platform shows by default usually count page events, which overstates what your ads bring in.
| Easy default | What tells you the truth | |
|---|---|---|
| What counts as a sale | A purchase event on the thank-you page | An order that was paid and not refunded |
| Value | Total including tax | Food before tax, minus refunds |
| Order types | Everything, including dine-in | The orders the ad was meant to bring, such as takeout and delivery |
| Time from click to order | Long windows, often up to 90 days | A short window that matches how people order food, such as a week |
| Phone orders from the ad | Counted as a call, paid or not | Counted only when the call became a paid order |
| Delivery orders | Often lost when the guest leaves your site | Matched back by phone, email or basket |
Swipe the table sideways to see every column.
In Google Ads, auto-tagging adds a click ID (GCLID) to every ad click. Meta adds its own click ID too.
Your ordering page stores the ID when the guest lands and attaches it to the order when they pay.
An order counts once the money is in. Subtract refunds and leave out test and staff orders.
Food is an impulse buy. A one-week window is a sensible default for takeout.
Send the paid orders with their click IDs and pre-tax value. Google recommends regular imports; Meta requires value and currency for Purchase events.
When the guest leaves for delivery or calls, match the order back by phone, email or basket, and only credit sure matches.
Once real values flow, bid on conversion value so the platform chases orders that pay.
When we audited the ad numbers at our proof restaurant, the easy count overstated ad orders. A 90-day click cookie credited guests who would have ordered anyway. Dine-in orders were counted. Refunds were not subtracted. Tax inflated the value the bidding used. With only a few ad orders a week, one wrong credit moved the result by a third.
The fix: credit only takeout and delivery orders within a week of the click, use pre-tax value, subtract refunds, leave out staff and test phones, and upload the result to Google Ads daily. Phone calls from the ad count only when the call ends in a paid order. Clicks from iPhones arrive with different IDs (GBRAID and WBRAID) that some upload methods cannot send, so expect a gap and do not chase it.
A local restaurant spending a modest daily budget may get a handful of ad orders a week. Judge over at least four weeks, compare against the same weekdays without ads, and set a simple rule ahead of time: if ad orders do not cover their cost after a fixed period, the budget drops back automatically. Decide that rule before you look at the results.
Related: our restaurant marketing comparison and online ordering comparison. You need your own ordering page to track any of this; delivery-app orders cannot be tied to your ad clicks.
Count paid orders that started from an ad click, at pre-tax value minus refunds, and compare with what the ads cost over at least four weeks.
A way to send sales that happen after an ad click back to Google Ads. You save the click ID (GCLID) with the order and upload the paid order later, so Google learns which clicks became money.
Not reliably. The order happens inside the app, so your ad click cannot be tied to it. Send ad traffic to your own ordering page.
Only the calls that became paid orders. Counting every call makes a campaign look better than it is.
Default setups often count page events, long windows, dine-in and tax. Narrow it to paid takeout orders within a short window.
Same-day reply. No vendor commissions, so we recommend whatever fits, including a tool that is not ours.
Keep reading