For restaurants

Restaurant advertising: reservations and orders, not reach

Adrails gives restaurants, restaurant groups and the agencies serving them one workspace where every location's ads are read as reservations and online orders rather than reach. Your booking or ordering system's server sends each one back to Meta Ads and, once your workspace can connect it, Google Ads as a conversion, spend thresholds watch each location between services, and every owner or franchisee gets a report link for their own accounts.

Reviewed Oct 4, 2026

By restaurant type

The conversion you can measure, the figure to watch and the workflow

A walk-in is recorded by no system Adrails reads. Each kind of restaurant has a result some system does record, and the workflow starts from it.

The conversion you can measure, the figure to watch and the workflow
Restaurant typeConversion you can measureFigure to watchLocaliQ 2026, Restaurants & FoodAdrails workflow
Single venueA reservation request or a call, when the booking system notifies your own serverCost per reservation, Meta and Search side by sideSearch: $2.05 per click, 8.05% conversion rate, $30.57 per leadOne Leads or Sales campaign; the reservation posted from your server as a signed event; a CPA alert at what a covered table is worth
Restaurant groupReservations and orders per location, each on its own ad account or campaignCost per reservation per location, and which location leadsSearch: 6.83% click-through rate, against 6.64% across all industriesAccounts grouped by location; one template applied to each; Compare on two to four locations; a report link per owner
Delivery-first or online orderingAn order on your own site: from Shopify in real time, or posted by your ordering system's serverCost per order and average order from your store, not the platform's countFacebook traffic objective: $0.45 per click, 2.68% click-through rateSales campaign with the purchase sent back; Shopify orders next to Meta spend in Analysis; customers per ad in the Tracking tab
New openingNothing at first: an opening buys reach and visits no system records as a conversionSpend and impressions within the radius, then reservations once the booking link is liveFacebook traffic objective: 2.68% click-through rate, against 1.93% across all industriesAwareness or Traffic campaign from a template, dated to the opening week; High spend today and Stop-loss automations; switched on the day the doors open

Figures: LocaliQ, Search Advertising Benchmarks 2026 and Facebook Advertising Benchmarks 2026, Restaurants & Food row. The Facebook report has no restaurant row for the leads objective and publishes no CPM. Conversions and workflows: the Adrails docs on tracking, campaigns, automations and client reports.

01

Restaurant advertising pays for tables and orders, so read it that way

Restaurant advertising is bought in impressions and clicks and judged on covers, so most restaurant ads are read on the wrong figure. Meta reports reach and link clicks; Google Ads reports clicks and the conversions its tag counted. The booking lives in OpenTable, Resy, TheFork or SevenRooms, the order in your ordering system or a delivery marketplace, and the walk-in nowhere at all. Adrails is built so each location's accounts are read as reservations and online orders with a cost, on Meta Ads and, once your workspace can connect it, Google Ads.

That needs honesty about what can be measured. A reservation or an online order can be recorded when the system that took it tells your own server and your server sends it to Adrails signed; a walk-in cannot, and a booking made on a platform that never tells your server stays invisible. In LocaliQ's 2026 search benchmarks the Restaurants & Food row converts 8.05% of clicks at $2.05 each, for a $30.57 cost per lead; on the traffic objective, the 2026 Facebook edition of the same report puts restaurants at $0.45 a click and a 2.68% click-through rate. Those are the figures a location's own cost per reservation is compared with.

Local restaurant marketing runs by location, so Adrails reads by location. Group each venue's ad accounts, read results and cost per result per account over the period you choose in Campaigns and Analysis, and ask the Analysis Expert about one venue or the whole group; every answer keeps its account scope and its period.

  • Reservations and online orders as the result, read per location
  • Walk-ins are a conversion nowhere; the owner's report says so
  • Meta Ads now, Google Ads once your workspace can connect it

02

Record a reservation or an order from the system that took it

Adrails tracking has two parts. The script on your site keeps a first-party visitor id for a year and the UTM parameters and click ids the visitor arrived with, fbclid and gclid among them, for 90 days, and records page views; everything it sends stays in Adrails. Your server sends the reservations and orders, signed with a server key that never goes in a page. Only signed events reach Meta and Google Ads, because a forged booking would teach a platform's bidding to buy more of nothing.

So the question for a restaurant is which server knows about the booking. If the reservation widget or the ordering page runs on your own domain and your server receives the confirmation, send a lead or purchase event with the booking reference as event_id, the guest's email and the fbc, fbp or gclid saved with the visit. Adrails records it against the visit, sends it to the Meta dataset you chose as Lead or Purchase right after it is recorded, with the email hashed with SHA-256, and to the Google Ads conversion action you chose in hourly batches once the event is 6 hours old. Adrails does not read OpenTable, Resy, TheFork, SevenRooms, DoorDash or Uber Eats: a booking or an order only those platforms know about never reaches it.

A restaurant that sells online through Shopify, for delivery, meal kits or gift cards, needs no server code for orders. Adrails reads Shopify orders in real time through webhooks and reconciles them every 15 minutes, sets net sales and orders next to Meta spend in Analysis for the same period, and a campaign's Tracking tab lists the customers each ad brought and their lifetime spend for the journeys that carried the campaign and ad ids. Two limits per tracking source hold back a leaked key or a broken integration: a largest value per event, 100,000 by default, and 5,000 events per day per platform.

  • Use the booking reference or order id as event_id so a table is never counted twice
  • lead becomes Lead and purchase becomes Purchase on Meta; Google counts the one event you chose
  • Shopify orders arrive on their own; any other ordering system needs your server to post them

03

One template per opening or offer, applied to every location

A restaurant group launches the same thing many times: an opening, a seasonal menu, a brunch, a delivery offer. Build it once with the Campaign Manager or in the editor, as a Meta Sales, Leads, Traffic or Awareness campaign with a single image or video, a carousel or an existing post, then Save as template at the campaign, ad set or ad level. Templates belong to the workspace, per channel and level; fields tied to one account, the pixel, the Page, media and audiences, are left out, and a name, dates and status are never copied, so the second location gets the structure and not the first location's leftovers.

Apply the template to each location's account, attach its own Page, photos and radius, and publish. Adrails first asks Meta to check the campaign without creating it, then creates everything paused, so eight openings can be prepared on a Monday and switched on as each venue confirms its date. Edits to a live campaign are sent as you save them, and only the new ad sets and ads under it are created.

Compare puts two to four locations' campaigns side by side: spend, results, CPA, ROAS, CTR, CPM and frequency, with the leader on CPA and on conversion rate and whether the gap is reliable at 95% confidence, once each has at least 10 conversions. The settings that differ, budget, bidding, targeting, placements and creative, are listed, so the offer or the radius that wins is read rather than guessed.

  • Templates per channel and level, owned by the workspace
  • Account-tied fields left out: pixel, Page, media, audiences
  • Created paused after the platform's check; switched on per venue

04

Spend thresholds that watch every service, not every Monday

Restaurant ads spend in small daily amounts across many accounts, which is how a broken booking link or a mis-set budget runs for a week unnoticed. An ad threshold automation watches a campaign, ad set or ad metric over today, the last 7 days or the last 30 days, is checked every hour and fires at most once a day for each item that crosses the line. The templates fit the trade: High spend today, Stop-loss, Spend without results and CPA alert, each filled with your accounts and switched off until you turn it on.

A pause is applied at once after Adrails checks on the platform that nothing changed since it was read, or waits in Priorities on Home for 24 hours for an administrator to apply it. Only active items are paused, up to 50 per run, and every pause is logged with the figures that led to it. Home also flags on its own any active campaign that spent a daily budget with at least 1,000 impressions and no result, with a Prepare pause button.

A workspace runs up to 5 threshold automations switched on at once and 25 automations in all, so put the hourly checks on the venues where a bad week costs most and let a Daily summary with a Filter step cover the rest every morning in Slack, Discord or email. A budget change an agent proposes moves at most 30% per change.

  • Threshold checks every hour, at most one alert a day per item
  • Pause automatically, or hold each pause 24 hours in Priorities
  • Up to 5 threshold automations on at once, 25 automations in all

05

A report link for each owner or franchisee

Each venue's owner or franchisee gets a read-only report over the accounts you tick: spend, results, cost per result and ROAS per currency, the best and weakest campaigns and creatives, up to five of each, the changes applied in Adrails over the period and the open recommendations. The link opens for 30 days, 90 days or until revoked, covers at most 92 days, and needs no Adrails account.

The Weekly client report automation emails a fresh link on the day and hour you choose, to up to 10 addresses, with an agent's read of what changed if you add that step. Every link is listed under Shared report links with how many times it was opened; revoke one when a franchise changes hands, and whoever kept it reads that the report is not available. Nothing internal goes in: no reasoning, no conversation, no member names.

Owners and administrators apply changes; every member can ask the agent and read every page. Plans start at $149 a month with unlimited ad accounts, so a group of twenty venues pays for one workspace rather than twenty.

FAQ

Common questions

Can Adrails count reservations from OpenTable, Resy or TheFork?

Not on its own. Adrails records what your server sends it: when the booking system notifies your server, or the widget runs on your domain and your server receives the confirmation, send the reservation as a signed lead event and Adrails credits it to the campaign and sends it to Meta and Google Ads. A booking only the platform knows about never reaches Adrails.

Can Adrails measure walk-ins or foot traffic from restaurant ads?

No. A walk-in is recorded by no system Adrails reads, and Adrails claims no store visits. Read an opening or an awareness campaign on spend, impressions and the reservations and orders that followed, and say so in the owner's report.

How do I run restaurant Facebook ads for several locations from one place?

Group each location's ad accounts in one workspace, save the working campaign as a template and apply it to each account with its own Page, photos and radius. Everything is created paused, and Compare sets two to four locations' campaigns side by side with the settings that differ.

Does Google Ads for restaurants work in Adrails today?

New Google Ads connections open once Google finishes verifying Adrails, so connect Meta for now. Once your workspace can connect it, Search, Performance Max, Display, Demand Gen and Shopping campaigns, templates and conversion sending follow.

Can an automation stop a location's ads when they spend without a booking?

Yes. A Stop-loss or Spend without results automation checks every hour and pauses what crosses your line, either at once after Adrails checks the platform or as a proposal that waits 24 hours in Priorities. Every pause is logged with the figures behind it.