UTM tracking for Google Business Profile means adding campaign tags to the links on your profile, such as the website, appointment, and menu links, so Google Analytics 4 can tell those visits apart from regular organic search. A tagged website link looks like https://example.com/?utm_source=google&utm_medium=organic&utm_campaign=gbp-listing.
Without tags, most profile clicks are counted as google / organic alongside every other organic visit, so you can't see how many came from Maps or what those visitors did next. This guide is for owners, marketers, and agencies who want that split: which links to tag, a naming convention that stays consistent across locations, where to find the data in GA4, and the limits of what it tells you.

Which profile links you can tag
| Link | Where to edit it | Suggested utm_campaign |
|---|---|---|
| Website | Edit profile → Contact → Website | gbp-listing |
| Appointment or booking link | Edit profile → Contact → Appointment links (where available) | gbp-appointment |
| Menu link | Edit profile → Menu (food and drink categories) | gbp-menu |
| Order or product links | Order or product sections (category dependent) | gbp-order |
| Update buttons | Add update → button such as Learn more or Book | gbp-post |
Not every profile shows every field. Appointment, menu, and order links depend on category and country, and some are supplied by third-party booking partners that you can't edit. Tag the links you control and keep a note of the ones you don't, so you know which traffic will still arrive untagged.
A naming convention that holds up
GA4 treats UTM values as case-sensitive, so 'GBP' and 'gbp' become separate rows in reports. Decide the convention once, write it down where the whole team can see it, and use lowercase with hyphens.
- utm_source=google: the platform sending the click.
- utm_medium=organic: keeps profile clicks in GA4's Organic Search channel, so your channel reports don't suddenly lose traffic.
- utm_campaign: the link type, such as gbp-listing, gbp-appointment, or gbp-post.
- utm_content: the location, such as downtown or airport, for multi-location brands. Single-location businesses can leave it out.
- Skip utm_term on profile links. It's meant for paid keywords and only adds noise here.
Some teams use utm_medium=gbp or local instead. That works, but a custom medium can fall into Unassigned or another grouping under GA4's default channel rules, so test where it lands before rolling it out. Either choice is fine as long as every location follows the same one.

Step-by-step: add a tagged link
- Step 1: Pick the landing page. Multi-location businesses should use each branch's <a href="/blog/optimize-location-pages-local-seo">location page</a> rather than the homepage.
- Step 2: Build the URL with a UTM builder, such as Google's Campaign URL Builder, following your convention.
- Step 3: Open the URL in a browser to confirm it loads and isn't redirected in a way that strips the parameters.
- Step 4: In Edit profile, paste the full URL into the matching field and save.
- Step 5: Once the edit is published, tap the link from the live profile on a phone.
- Step 6: In GA4, check Reports → Realtime for the visit, then confirm the campaign name in Traffic acquisition the next day.
Make sure the landing page has a canonical tag pointing to the clean URL so search engines don't index the tagged version. Most CMS platforms and SEO plugins add this automatically, but view the page source once to confirm.
Finding GBP traffic in GA4
Open Reports → Acquisition → Traffic acquisition. Change the primary dimension to Session campaign, or add a filter where Session source / medium is google / organic and Session campaign starts with gbp. You'll see sessions, engaged sessions, and key events for each link type.
- Compare gbp-listing against the rest of your google / organic traffic for engagement rate and key events such as form submissions or bookings.
- Use utm_content to rank locations by conversions rather than clicks, which shows which pin actually brings in business.
- Build an Exploration with Session campaign and Landing page to see where profile visitors go after arriving.
- Set up a key event for taps on phone links on your site, since many Maps visitors browse first and call second.
A Manchester plumber might find that gbp-appointment visitors convert far better than gbp-listing visitors, which suggests moving the booking link higher on the landing page. For reports that combine GA4, Search Console, and profile metrics, see our guide to local SEO reporting.
Rolling it out across multiple locations
For a brand with branches in several cities, the tagging is easy; keeping it consistent is the hard part. A Dubai clinic group with five sites, or a Pune salon chain with a dozen, usually ends up with a mix of tagged, untagged, and mistyped links within a year unless someone owns the list.
- Keep a shared sheet with one row per location: profile name, landing page, full tagged URL for each link type, and the date it was last checked.
- Use short, stable utm_content labels based on the branch name, not the street address, so a move doesn't break historical reports.
- When editing many profiles at once, export the bulk spreadsheet from your business group, update the website column, and spot-check a few live profiles after upload.
- Give agency staff manager access rather than ownership, so changes are logged under named accounts and access can be removed cleanly.
Once tags are in place, GA4 can show which branch's profile sends the most engaged visitors. Pair that with a ranking view: a location with strong conversions but weak visibility across its service area is usually the best place to spend optimization time.
Caveats and common mistakes
- GA4 sessions won't match website clicks in the profile's Performance view. Google counts taps; GA4 counts sessions where the tag fires, and consent banners, ad blockers, and instant bounces all lower the GA4 figure.
- Calls, direction requests, and messages happen on Google and never reach your site, so UTMs can't measure them. Use Performance for those actions.
- A Google-suggested edit can replace your tagged URL with a clean one. Check the website field every month.
- Never add UTMs to internal links on your own site; doing so overwrites the original source and breaks attribution.
- Tagged links don't change rankings in either direction. They measure traffic; they aren't a ranking factor.
- Keep personal data such as email addresses or customer names out of UTM values.
Search Console won't show your UTM parameters, because it reports on Google's side of the click rather than your analytics. Its performance data for the landing page still includes profile clicks mixed with regular organic results, so use it for queries and impressions, and GA4 for what visitors did after they arrived.
For the profile-side numbers, read what GBP Insights data really means alongside your GA4 reports, and use our list of local SEO success metrics to decide which figures belong in a monthly report.
Next steps
Tag your website link first and confirm it in Realtime, then add the appointment, menu, and update links over the following week. After a month, compare engagement and key events for gbp-listing against your other organic traffic. If a Toronto clinic or a Sydney café sees profile visitors converting better than average, that's a reason to invest more time in photos, reviews, and updates on the profile itself.