Restaurant Tracking & ROAS: Measure Local SEO + Google Ads Like a Revenue Team
Written by Hospitality On The Map
Quick answer: If you can’t confidently attribute bookings, calls and directions back to Local SEO, Google Maps and Google Ads, you’ll either overspend or underspend. The fix is simple: define your true revenue actions, track them cleanly in GA4, set the right primary conversions in Google Ads, and apply realistic values so ROAS reflects actual hospitality revenue (not vanity clicks).
Most venues don’t have a “traffic problem”. They have a measurement problem. They’re visible in the Map Pack, they run Google Ads, they post on Google Business Profile — but reporting still sounds like: “We got impressions.” Impressions don’t pay wages. Bookings do.
This guide is the practical setup we use for restaurants, pubs, cafés, hotels and multi-location groups to measure what matters — and to make Local SEO + Ads decisions based on revenue.
If you’re still building fundamentals, start with the bigger frameworks first:
Local SEO for Restaurants (2025),
Google Business Profile optimisation and
Restaurant Website SEO.
Tracking becomes much easier when the foundations are solid.
Contents
- 1 The only metrics that matter in hospitality
- 2 Define your “revenue actions” (and stop tracking fluff)
- 3 GA4 tracking setup: events you should have
- 4 UTMs for Maps + GBP: the simple approach that works
- 5 Google Ads conversions: set Primary correctly
- 6 Conversion values: how to make ROAS real
- 7 Performance Max: what to optimise for (hospitality version)
- 8 How to measure Map Pack impact without guessing
- 9 Multi-location tracking: one system, many venues
- 10 Weekly reporting that actually drives decisions
- 11 Common tracking mistakes (and how to fix them)
- 12 A 30-minute checklist you can use today
- 13 Want to see where you can win locally?
The only metrics that matter in hospitality
Hospitality marketing gets confusing when you treat every channel the same. A hotel booking is not the same as a brunch table. A pub quiz night is not the same as a wedding enquiry. The trick is to simplify your measurement into two layers:
- North Star outcomes: confirmed bookings, qualified enquiries, room nights, private dining leads, call bookings.
- Leading indicators: Map Pack visibility, branded searches, GBP actions (calls/directions), click-through rate, menu views (only if they correlate with bookings).
Why this matters: Google Ads and Performance Max can optimise aggressively, but they’ll optimise toward whatever you tell them is “success”. If your “success” is a low-intent event (like “menu page view”), you can get incredible ROAS on paper — while the venue stays quiet.
Measurement is how you prevent that. It’s also how you scale: once you can trust your numbers, you can increase budget with confidence, expand into new postcodes, and build a repeatable system across multiple venues.
Define your “revenue actions” (and stop tracking fluff)
Before you touch GA4 or Google Ads, decide what a real conversion is for your venue. In hospitality, the best “revenue actions” are the ones that are closest to money changing hands.
Common revenue actions (choose 2–5)
- Table booking confirmation (the thank-you page or confirmation event)
- Private dining / group booking enquiry submitted
- Click-to-call from mobile (ideally qualified calls, not every call)
- Gift voucher purchase (true ecom purchase)
- Hotel booking confirmation (room booking complete)
Leading indicators (track, but don’t optimise bidding on them)
- Menu views
- Clicks to “Directions” or map embeds
- Clicks to “Book now” (if you can’t track confirmation)
- Scroll depth / time on page
Important: you can track everything — but you should only optimise on the actions that predict revenue. That distinction is where most hospitality accounts go wrong.
GA4 tracking setup: events you should have
GA4 is your neutral scorekeeper. It won’t be perfect (nothing is), but it’s the best place to measure cross-channel outcomes on-site. Here’s the clean hospitality setup:
Must-have events
- booking_confirmed (or a standard event like generate_lead)
- private_dining_enquiry
- call_click (tap-to-call)
- voucher_purchase (purchase event)
Helpful supporting events
- menu_view (HTML menus, not just PDFs)
- directions_click (if you link out)
- event_page_view (Christmas parties / brunch)
- newsletter_signup (only if it drives repeat visits)
Where this connects to your SEO system:
- Your website structure determines whether users reach booking pages quickly.
- Your schema helps search engines understand key actions and content (menus, FAQs, events).
- Your GBP should send traffic to pages that convert, not generic pages.
Practical note for booking systems
If your booking flow goes off-site or across subdomains, you must ensure the user journey is measurable. The goal is simple: when a booking is confirmed, GA4 sees it. If you can’t track confirmation, track the best proxy available — but treat that proxy as a secondary conversion and keep pushing for confirmation tracking.
UTMs for Maps + GBP: the simple approach that works
Google Business Profile is a massive driver of hospitality revenue. The Map Pack often wins the click before a user ever reaches organic results. The issue is that GBP actions are spread across different places (GBP performance, GA4, booking engines).
UTMs help you connect the dots — especially on these GBP links:
- Website link
- Menu link
- Reservation / booking link
- Order link (if applicable)
A safe UTM pattern
?utm_source=google&utm_medium=organic&utm_campaign=gbp
If you’re multi-location, append a venue identifier:
?utm_source=google&utm_medium=organic&utm_campaign=gbp&utm_content=mere_green
This keeps reporting tidy and avoids overengineering. Your goal isn’t to create a complex taxonomy — it’s to make sure GBP traffic and outcomes are visible.
Google Ads conversions: set Primary correctly
Google Ads works best when it knows what outcome you care about. That sounds obvious, but most hospitality accounts accidentally feed Ads the wrong “success”.
What your Primary conversions should be
- Booking confirmation
- Private dining enquiry submitted
- Qualified calls (where possible)
- Voucher purchases
Everything else (menu views, page views, click-to-book without confirmation) can be tracked — but should typically remain secondary so bidding doesn’t chase low intent.
This is especially important if you’re running:
Search campaigns for restaurants and
Performance Max.
PMax will scale hard into whatever it believes is your conversion goal.
Conversion values: how to make ROAS real
ROAS is only useful if your conversion values reflect reality. If every conversion is worth “£1” or “£0”, you’re forcing Google to optimise for volume instead of profit.
Simple value rules (hospitality-friendly)
| Conversion | Example value method | Why it works |
|---|---|---|
| Table booking confirmed | Average party spend × average party size × margin factor | Optimises toward the bookings that pay |
| Private dining enquiry | Average private dining revenue × close rate × margin factor | Stops you overvaluing low-quality enquiries |
| Qualified call | Average call-to-book conversion × average booking value | Calls become measurable revenue, not noise |
| Voucher purchase | Actual purchase value | True ROAS, easiest to trust |
Start simple. Your first goal is not perfection — it’s directionally correct values that improve decision-making. Once values are in place, optimisation becomes smarter and reporting becomes far more honest.
Performance Max: what to optimise for (hospitality version)
Performance Max can be a growth machine for hospitality — but only if tracking is clean. The reason is simple: PMax uses automation and needs a reliable signal.
Our rule of thumb:
- If you can track confirmed bookings: optimise to confirmed bookings with values.
- If you can’t track confirmed bookings: optimise to the closest action that strongly predicts revenue (private dining enquiries or qualified calls), and keep the rest secondary.
- Never optimise bidding on low intent micro-actions (menu views, generic page views) unless you’ve proved they correlate with revenue.
Once you’ve got this right, you’ll usually see better stability, better learning, and fewer “mystery” swings in performance. And you’ll be able to scale confidently into new postcodes — which is exactly what our Postcode Coverage work is designed to support.
How to measure Map Pack impact without guessing
The Map Pack is powerful precisely because it compresses choice. Users searching “restaurant near me” often decide from those three listings. Measuring that impact is not just “rank tracking” — it’s tying Maps visibility to actions.
What to track from Maps / GBP
- Calls (tap-to-call volume and quality)
- Direction requests (high-intent indicator for walk-ins)
- Website clicks (especially to booking pages)
- Branded searches (people searching your name after discovery)
Then connect the ecosystem:
- GBP sends users to pages that convert (see Website SEO).
- Reviews increase conversion and click-through (see Reviews & Reputation).
- Local authority improves discovery (see Local Link Building).
Finally, sanity-check with seasonality. Hospitality demand swings. If you’re running campaigns around events (brunch, match days, Christmas parties), compare performance against last year and track outcomes per campaign (see Seasonal SEO).
Multi-location tracking: one system, many venues
Multi-location groups often lose money because tracking isn’t consistent across the estate. One venue tracks bookings, another tracks button clicks, another tracks nothing. Reporting becomes an argument instead of a decision tool.
For multi-location, you want:
- Consistent events across all venues (same event names, same definitions)
- Venue-level attribution (so you can see which postcodes and locations are winning)
- One reporting view that can filter by venue
If your structure is still evolving, use this guide as your blueprint:
Multi-Location SEO.
Tracking is much easier when your locations, pages and CTAs are standardised.
Weekly reporting that actually drives decisions
Forget “rankings and impressions” as the headline. A weekly hospitality report should read like a revenue review:
- Bookings: total confirmed + cost per booking (if paid)
- Calls: volume + qualification rate (even if sampled)
- Directions: trend + correlation with peak trading
- Conversion value: total value tracked + ROAS
- Postcodes: which areas are growing / which are leaking
Then, in plain English, your actions for next week:
- Which campaigns to scale / pause
- Which pages to improve (conversion rate, speed, clarity)
- Which GBP actions to push (posts, photos, offers, Q&A)
- Which new content to publish (often event-led)
AI can help summarise performance and extract insights — but only if the tracking is real. That’s why we treat measurement as the foundation of every “AI-ready” marketing system (see AI & ChatGPT for Hospitality).
Common tracking mistakes (and how to fix them)
- Double counting conversions: one booking triggers multiple events. Fix by tracking one “confirmation” event as the primary outcome.
- Optimising on micro-events: Ads optimises for menu views instead of bookings. Fix by setting correct Primary conversions.
- Wrong landing pages: GBP or Ads links to home page. Fix by linking to the correct location/event hub.
- No values: ROAS becomes meaningless. Fix by assigning realistic values to revenue actions.
- Inconsistent setup across venues: estate reporting becomes unusable. Fix by standardising events and definitions (see Multi-Location SEO).
A 30-minute checklist you can use today
- List your 2–5 real revenue actions (confirmed bookings, enquiries, qualified calls).
- Confirm GA4 tracks those actions reliably.
- Confirm Google Ads uses those actions as Primary conversions.
- Add conversion values (simple and realistic beats “£0”).
- Add UTMs to GBP website/menu/booking links.
- Check your top landing pages convert (clear CTAs, fast, mobile-first).
- Align GBP and Ads links to the right page (location page or event hub).
If you do just those seven things, you’ll be ahead of most hospitality brands — and you’ll finally be able to scale Local SEO and Ads based on revenue, not hope.
Want to see where you can win locally?
We’ll map your catchment, identify the best postcode opportunities, and show you the quickest wins for rankings and bookings.