GBP Local Ranker home page

UTM Tracking for Google Business Profile: Setup and GA4 Reports

· Analytics

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.

Marketer setting UTM tracking for Google Business Profile website clicks

Which profile links you can tag

Google Business Profile links worth tagging
LinkWhere to edit itSuggested utm_campaign
WebsiteEdit profile → Contact → Websitegbp-listing
Appointment or booking linkEdit profile → Contact → Appointment links (where available)gbp-appointment
Menu linkEdit profile → Menu (food and drink categories)gbp-menu
Order or product linksOrder or product sections (category dependent)gbp-order
Update buttonsAdd update → button such as Learn more or Bookgbp-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.

Building UTM parameters for a local business website link

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.

← Back to blog · Try GBP Local Ranker free

Frequently asked questions

Will adding UTM parameters to my GBP website link hurt rankings?

There's no evidence it does. The parameters don't change the domain or page Google associates with your profile, and a canonical tag on the landing page tells search engines which URL to index. Practitioners have used tagged profile links for years. The bigger risk is a broken or redirected link, so test it after every save.

Should utm_medium be organic or something like gbp?

Organic keeps profile visits inside GA4's Organic Search channel, so year-on-year channel comparisons stay intact. A custom value like gbp makes profile traffic easy to spot at a glance but may be grouped differently by GA4. Pick one, document it for your team, and apply it identically on every location's profile.

Why does GA4 show fewer visits than GBP Performance website clicks?

They measure different events. Performance counts taps on the website button, while GA4 only records a session when the page loads and the analytics tag runs with consent. Ad blockers, declined cookie banners, slow pages, and people tapping back early all widen the gap. Watch the trend in each source rather than expecting the totals to match.

Can I track calls from my Google Business Profile with UTMs?

No. Calls from the profile's Call button happen on Google and never touch your website. Performance reports those calls. Some businesses use a call-tracking number as the primary phone and keep the main line as an additional number, which gives call data while the website still shows the main number.

Do I need separate UTMs for each location?

Yes, if you want to compare locations. Keep source, medium, and campaign identical everywhere and change only utm_content to a short location label, such as downtown or westside. One GA4 report can then show every branch side by side, without building and maintaining a separate filter for each.

How often should I check that my tagged links are still in place?

Monthly suits most businesses, plus any time Google notifies you of profile updates. Open the live profile, tap each link, and look for the parameters in the address bar. Agencies managing many profiles usually fold this into a routine audit so a lost tag is caught before a whole month of data goes missing.

Share this page: LinkedIn · X · Facebook · WhatsApp