Skip to main content
Seatingly.
Marketing & ROI

How to Track Reservations from Google Business Profile

Your Google listing is probably the single biggest source of bookings you have, and almost certainly the least measured. Here is how to tag every placement on the profile so you can tell Maps apart from Search apart from a post.

Written by Last updated

For most independent restaurants, more people decide where to eat inside Google Maps than on the restaurant website. Someone searches "italian near me" at half past six, taps three listings, looks at photos, checks whether you are open, and books. Your website was never involved. Your Instagram was never involved. The whole decision happened inside a panel you do not own.

Ask an operator where their bookings come from and you will usually get a shrug and the word "Google". Ask which part of Google, and the answer runs out. That matters, because the profile is not one thing — it is at least four separate places a guest can start a booking, and they behave completely differently.

Why an untagged listing disappears into Direct

When a guest taps the reservation link on your listing and lands on your booking page, nothing about that visit says "Google" unless you put it there. Some of those visits carry a referrer, plenty do not, and the ones that come through the Maps app on a phone frequently arrive looking like someone who typed your address in by hand. The booking lands in your system with no source attached and gets filed as direct traffic.

The result is a report where your best-performing channel is invisible and your worst-performing channel — the paid one, which reports itself loudly — looks like the thing keeping the lights on. You then move budget towards the channel that talks about itself.

This is a measurement problem, not a traffic problem

The bookings are already happening. Nothing in this guide will make more of them arrive this week. What it does is stop you making a budget decision based on a report that cannot see half your demand.

Open your profile and look for every field that can hold a URL. There are more than most people remember, and each one reaches a guest at a different point in their decision.

PlacementWhere the guest sees itWhat the click tells you
Reserve a table / booking linkThe primary action button on the listingHigh intent — they have already chosen you
Website fieldNext to the booking button, on Search and MapsResearching — menu, photos, atmosphere
Posts and offersLower in the listing and in the updates feedResponding to something specific you published
Menu linkThe menu tab on the profileDeciding on food before deciding on a table
Photos and product tilesImage carousel and highlighted itemsBrowsing, usually earliest in the journey
Link placements on a Google Business Profile and what each one means

If all five point at the same untagged URL, you have one bucket. If each points at its own tracked link, you can see that the booking button converts at a rate the photo carousel never will, and that a post you published on a wet Tuesday quietly produced eleven covers.

Give each placement its own tracked link

The mechanics are the same whichever tool you use: generate a booking link that carries a source and a campaign, then paste that link into the profile field instead of the plain one. In Seatingly these are built in Marketing Tracking — Create marketing tracking links covers the fields, and Add tracking links to Google Business Profile walks through where each one goes.

  1. Create one link with source "Google Business Profile" and campaign "gbp-reserve-button". This is the one that matters most, so set it up first and check it works before touching anything else.
  2. Create a second link, campaign "gbp-website-field", for the website slot. Point it at your homepage with the parameter attached rather than straight at the booking page — that field is meant to be your site, and a guest who expected a website and got a booking form will bounce.
  3. Create a third link per post, campaign "gbp-post-" plus something you will recognise, such as the month or the offer. Posts expire; the attribution on the bookings they produced does not.
  4. Add a link for the menu tab if your menu lives on your own site, so you can see how many menu readers go on to book.
  5. Open each link on your phone, from mobile data rather than the restaurant Wi-Fi, and complete a test booking. Then cancel it. A tracking link that silently 404s costs you more than no tracking link at all.

Keep the guest experience identical

A tracked link should land on exactly the page the untagged one did, at the same speed. If tagging adds a redirect hop, a cookie banner or a loading spinner on a 4G connection, you have traded a real booking for a data point. That is a bad trade.

What to check a week later

Give it seven full days, so you have both a weekend and a midweek, then look at three things and ignore everything else.

  • Volume by placement. How many bookings each of your Google links produced. Expect the reserve button to dominate; if it does not, the button is either missing from your listing or pointing somewhere else.
  • Conversion rate by placement. Bookings divided by sessions on that link. The booking button will run far higher than the website field, and that is correct — they catch people at different moments.
  • The size of your Direct/Unknown bucket. It should have shrunk. If it has not moved at all, something is not saved on the profile, and the usual culprit is an edit that Google reverted or never applied.

If bookings are clearly arriving but not showing a source, the cause is almost always a link that was pasted incorrectly or a placement you forgot. Troubleshoot missing campaign attribution lists the usual causes in order of likelihood.

How to read the result without over-reacting

A week of data is a sanity check, not a verdict. Two habits keep you honest.

First, remember the attribution window. A guest who taps your listing on Sunday and books on Thursday is credited to Sunday. Over a 30-day window that smooths out, but in the first fortnight it makes recent placements look weaker than they are.

Second, do not expect the Direct/Unknown bucket to reach zero. Phone bookings, walk-ins your team enters manually and regulars who go straight to your site all live there permanently, and that is fine. The goal is to know what is in it, not to empty it.

Compare against your other channels, not against a target

A cost per booking from Google organic is usually the lowest number in your entire report, because the traffic is free and the intent is high. Use it as the benchmark every paid channel has to justify itself against.

The profile hygiene that actually moves bookings

A tracking link on a listing nobody finds measures nothing. Five things on a restaurant profile change booking volume more than anything else you can edit, and none of them take long.

  1. Hours that are actually right. Google suppresses and de-emphasises listings it thinks are closed. If your kitchen stops at ten but your hours say eleven, you collect one-star reviews from people who arrived at half past ten.
  2. Holiday hours, set in advance. Bank holidays and the fortnight around Christmas are when guests check hardest and when listings are least accurate. Set them a month out.
  3. Attributes that answer the filter questions. Outdoor seating, accepts reservations, vegetarian options, wheelchair-accessible entrance, good for groups. These feed the filters guests actually use when they narrow a Maps result down to three options.
  4. Recent photos, taken at service. The room full and lit the way it looks at eight in the evening, not empty at eleven in the morning. Add a few every month rather than fifty once a year.
  5. Replies to reviews, including the good ones. A short, specific, unemotional reply to a bad review is read by every future guest who scrolls past it. It is also the cheapest reputation work available to you.

One structural point worth making: all of this only pays off if the booking button lands on a flow you control. Sending your best-intent traffic to a marketplace listing means paying a commission on demand you generated yourself — the trade-off is laid out in Direct Bookings vs Booking Marketplaces.

What to do with what you learn

Once your listing reports itself properly, the decisions get simpler. If the reserve button carries most of your volume, protect it: keep the link current, keep hours accurate, and never let a redesign quietly break it. If posts convert well, publish more of them and stop treating them as an afterthought. If the website field produces plenty of sessions and few bookings, the problem is on your site, not on Google, and the booking flow on your homepage is the thing to fix.

Do the same exercise for social next, then put the numbers side by side. How to Measure Restaurant Marketing ROI Using Booking Data covers how to compare channels fairly once they are all tagged.

Looking for setup help today?

The Seatingly Support Center has setup instructions and answers for Seatingly accounts.

No setup fee. No card required.

How to Track Reservations from Google Business Profile — Seatingly Blog