GBP UTM Tracking: How to Tag Your Profile Links in GA4

Published November 7, 2026

GBP UTM Tracking: How to Tag Your Profile Links in GA4

Business owner tagging a profile link on laptop

GBP UTM tracking means adding short campaign parameters to the links on your Google Business Profile (website, appointment, menu, order and similar fields) so Google Analytics 4 can show which visits came from your profile. Without them, that traffic is lumped into Direct and Organic in GA4. With them, you can see which profile link brought the visit and what the visitor did next.

This guide gives you the exact URL format, the links worth tagging, a step-by-step setup, a testing routine and the mistakes that quietly corrupt the data.

Local SEO Bot
Turn Maps Visibility Into More Calls
Local SEO Bot optimizes Google Business Profiles, tracks Maps rankings, and responds to reviews to help local businesses compete for visibility.

TL;DR

  • Tag every website-type link on your profile with utm_source, utm_medium and utm_campaign, and add utm_content to tell links or locations apart.
  • UTMs do not change your Maps rankings. They only label traffic for analytics.
  • UTMs measure visits that reach your site. Calls, direction requests and messages show up in the profile’s own Performance data.
  • Test each tagged link in GA4 Realtime before you trust it, and make sure no redirect strips the parameters.
  • Compare trends over time. Profile clicks and GA4 sessions will never match one to one.

Table of Contents

What GBP UTM tracking measures (and what it doesn’t)

A UTM parameter is a snippet added to the end of a URL. When someone clicks the link and lands on your site, GA4 reads the snippet and files the session under the source, medium and campaign you chose.

Why this matters for a profile: when someone taps the website button, Google does not automatically pass UTM parameters to your site. Mobile browsers and the Maps app often strip the referrer, so GA4 sees a direct visit with no source. You can’t tell which profile action drove it.

The Performance tab in your profile has the same blind spot in the other direction. Its website-click metric covers only the primary website URL, not other profile links or what visitors do after they land.

What UTMs can’t see

UTMs only record sessions that reach your website. Taps on the call button or direction requests never touch your site. Those appear in the profile’s Performance data, and phone calls can be counted with call tracking.

One more limit: UTMs add context to tagged visits, but they do not prove which change caused a customer action. Treat them as one lens, not the whole picture.

Do UTM parameters affect Google Maps rankings?

No. UTM parameters do not affect SEO: search engines ignore them, and they do not change page content or harm rankings. They exist for analytics. If your Maps position moves after you tag links, something else caused it.

Tag as many link fields as your profile offers. According to Search Engine Land, that includes the primary website, booking or appointment, Google Products, Google Posts, reservation, place-an-order, menu and ticket-sales links. Which fields you see depends on your primary category, and Google changes the available fields over time, so revisit the list now and then.

Profile link Suggested utm_content Why tag it
Website primary-link Your main source of profile visits
Appointment or booking booking-link Shows whether the profile drives scheduled work
Menu or services menu-link Separates browsers from buyers
Place an order order-link Ties profile traffic to online sales
Google Posts post-link Shows which posts earn clicks

The utm_content labels above follow the pattern used by Decaseo, which uses different values for the main link, booking links, quote pages and individual locations.

The URL format to copy

Google’s documentation says to always use utm_source, utm_medium and utm_campaign together. Those values appear in the Traffic acquisition report in GA4.

For a single-location business, Search Engine Land’s example looks like this:

https://www.example.com?utm_source=gbp&utm_medium=organic&utm_campaign=gbp-listing

For a multi-location business, point each profile to its own location page and add utm_content:

https://www.example.com/locations/fresno-branch?utm_source=gbp&utm_medium=organic&utm_campaign=gbp-listing&utm_content=fresno-branch

Both examples come from Search Engine Land’s GBP UTM guide, which also warns that extra question marks or ampersands can break page rendering or GA4 session stitching.

Some practitioners prefer utm_source=google. Earning Coach Marketing suggests utm_source=google, utm_medium=organic and a campaign like gbp_main, with a location name in the campaign for multi-location businesses (for example gbp_austin). Either works. What matters is picking one convention and using it on every profile.

A naming convention that scales

  • Source: one value for all profiles (google or gbp).
  • Medium: organic, so profile visits sit alongside other free traffic.
  • Campaign: one per location, such as gbp-austin or gbp-dallas.
  • Content: one per link type, such as primary-link or booking-link.
  • Capitalization: all lowercase, always.

How to set it up, step by step

  1. Pick the canonical URL. Start from the exact page you want visitors to land on. The URL should return a normal 200 status and not redirect.
  2. Build the tagged URL. Use Google’s campaign URL builder or type it by hand using the format above.
  3. Check for existing parameters. If the URL already has a query string, join the UTMs with &, not a second ?.
  4. Paste it into the profile. In your Business Profile, edit the website field, then the booking, menu, order and other link fields.
  5. Save a record. Keep a spreadsheet of every tagged link, location and date, so the next person who edits the profile does not overwrite it.
  6. Test it (next section).

The job isn’t set-and-forget. Website content changes when pages are added or URLs change, so the links your profile points to need a periodic check.

Open the tagged link yourself before you rely on it. UTMCraft’s testing guide describes three methods:

  1. GA4 DebugView. Enable debug mode with Google Tag Assistant, open the link in an Incognito window and check that the landing event’s page_location shows your campaign URL.
  2. GA4 Realtime. Open the link in Incognito, then go to Reports and Realtime and review the incoming events.
  3. Chrome DevTools. Filter network requests for collect?v=2 and inspect the payload.

If Realtime shows the session as direct traffic instead of your source, the parameters are not passing through. The usual cause is a redirect that strips them.

Then audit every live link, not only the website button. Click Website, Appointment, Order and Menu links and confirm the final URL. Splinternet Marketing recommends one canonical landing URL per action and avoiding link shorteners and booking tools that strip query parameters. Test on both desktop and mobile, since the Maps app behaves differently from a browser.

Reading the results in GA4

Give GA4 a day to process, then open Reports, Acquisition and Traffic acquisition. Change the primary dimension to Session campaign and search for your campaign name. Orbit Media uses this method to isolate profile traffic by looking at campaigns such as gbp-chicago.

To analyze tagged visits by session source, medium and campaign in more depth, see this walkthrough on finding tagged traffic by session source in GA4.

Useful questions to ask of the data:

  • Which location sends the most visits, and which converts best?
  • Do booking-link visitors complete more conversions than primary-link visitors?
  • Do visits spike after a Google Post or a profile update?

UTMs and the native integration answer different questions. Google lets you link a Business Profile to a GA4 property so performance data such as website clicks, calls, directions, messages and bookings flows into GA4. You set it up in GA4 Admin under Product links. Per one practitioner’s analysis, the integration shows what happens before the click while UTMs show what happens after. Used together, they cover the local funnel from profile view to conversion.

Business Profile integration and UTM tracking comparison

For the profile-side numbers, our guides to Google Business Profile Insights and how to analyze them cover the metrics. If you want the wider set of measures, see local SEO KPIs.

Why profile clicks and GA4 sessions don’t match

Expect a gap. The profile counts a click when someone taps a link, while GA4 counts a session only after its tag loads. Quick exits, script blockers, consent settings and redirects that drop parameters all widen it. Profile Insights typically shows more website clicks than GA4 shows tagged sessions, because of people who close the page before it loads, bots and attribution differences.

Why profile clicks and GA4 sessions don't match

Google itself notes that Business Profile Performance metrics are calculated differently than analytics platforms, so use them directionally instead of forcing them to reconcile. GA4 also underreports by design: Orbit Media found that 20% of its conversions were not recorded in GA4, so checking your CRM gives a truer count. For a deeper look at that comparison, see this piece on checking GA4 against CRM records.

Common GBP UTM mistakes

Mistake What goes wrong Fix
Redirecting URL Parameters are stripped and visits show as Direct Use the final canonical URL that returns a 200
Extra ? or & Page may not render, or sessions split Use one ?, then & between parameters
Inconsistent capitalization One campaign splits into several rows Keep every value lowercase
Same campaign on every location You can’t compare branches One campaign name per location
Only the website link tagged Booking and order clicks stay invisible Tag every link field available
Link shorteners and booking tools Query strings get dropped Link straight to a page you control
Never rechecking Page changes break tags silently Audit links on a schedule

These match the issues Search Engine Land’s guide lists under common mistakes to avoid, plus the redirect and booking-tool problems flagged in the testing sources above.

Our perspective

Most local owners we talk to track one number: how many calls came in. UTMs add a second, and a useful one: which profile link sent a visitor who then booked, requested a quote or bought.

But tagging is only measurement. It tells you what your profile is doing, not how to make it do more. Rankings still depend on a well-optimized profile, steady posting, review activity and trusted citations.

That is why we built Local SEO Bot to do the work, not just report on it. It optimizes the profile, publishes regular posts, tracks rankings across your service area with map grid scans and responds to reviews, while our team builds premium citations by hand. Pair that with clean UTM tagging and you can see the activity and its effect on your site.

Devyn H

Put measurement and growth together

Tagging links tells you where profile visits go. Local SEO Bot helps you grow the visits in the first place: profile optimization, regular posts, review replies and rank tracking, run on autopilot with hand-built citations behind them. Plans are Foundation at $99 per month per location and Growth at $199 per month per location, and the Pro plan for agencies is $399 per month per location on the agency pricing page. We offer a 30-day money-back guarantee if you don’t see a ranking increase.

Local SEO Bot

Want to see where your profile stands before you start? Run the Google Business Profile Audit, or see how rank tracking shows what your work moved.

FAQ

Should I use utm_medium=organic or something else?

Most guides use organic, because profile visits are free traffic and this keeps them next to your other unpaid sources. Orbit Media and several others follow this approach. Whatever you pick, use the same value on every profile so reports stay clean.

Yes, and you should. Website, appointment, menu, order and Posts links can each carry their own utm_content value. That way you see which action brought the visit, not only that the profile did.

Why do my UTM sessions still show as Direct?

The most likely cause is a redirect that strips the parameters, such as from a link shortener, an HTTP-to-HTTPS hop or a booking tool. Click the live link, note the final URL and fix the chain. Sequoia GEO lists redirects as the most common cause.

Do I need UTMs if I already linked my profile to GA4?

The two do different jobs. The integration reports profile actions like calls and directions, while UTMs report what visitors do on your site. One analysis notes the integration doesn’t support Explorations or segments, while UTM data does.

Sources