Need help?Jamie

Analytics & Measurement

UTM Parameters for Google Business Profile: Setup and Testing

Add UTM tags to the website, appointment and post links on your Google Business Profile using utm_source=google, utm_medium=organic and a campaign name such as gbp_listing. GA4 then lists those visits as their own campaign in the Traffic acquisition report, so you can see what the profile sends to your site.

Business documents and tools prepared for a client estimate

See how I'd approach this

Choose a question
to look at with me.

A real business connected to its profile and service pagesYour businessReal servicesYour profileLocal pagesREAL BUSINESS FACTS
  1. Your business and real services
  2. Your business profile
  3. Pages for the areas you serve
A real business connected to its profile and service pages

To measure what your Google Business Profile sends to your website, add UTM parameters to the links on the profile. A tagged website link looks like https://www.example.com/?utm_source=google&utm_medium=organic&utm_campaign=gbp_listing&utm_content=website_link, and once Google approves the edit, Google Analytics 4 shows those visits under their own campaign name. From there you can see how many sessions came from the profile and, if you track form submissions, how many estimate requests.

Separate service coverage from an officeReal coverage · No invented office
Business
Start from the real business.
Coverage
Identify the places it actually serves.
Office
Do not turn a service area into an invented office.
Separate service coverage from an officeUse this illustrative grid to plan coverage. Include only places the business serves; rankings need separate evidence.

When a homeowner taps Website on your profile in Google Search, the visit usually reaches your site with Google as the referrer. GA4 treats that visit the same way it treats a click on your regular search listing. Google's campaigns and traffic sources documentation says search engine referrals are processed by comparing the referrer to “a list of known search engines,” so both visits can end up labeled google / organic.

They also land in the same channel. The Organic Search rule in GA4's default channel group checks whether the source is on a list of search sites or the medium exactly matches organic. A visit from your map listing and a visit from a service page ranking in the regular results end up on one line of the report, so you can't tell whether profile work or website work is producing your leads.

Your profile's Performance screen fills part of the gap. Google's performance help page defines website clicks as “the number of times people clicked on the website link on your Business Profile.” That count stops at the click, so it can't show which pages those people read or whether they filled out your estimate form. UTM tags fill in that second half.

Google's URL builder help page says that when you add parameters to a URL, you should always use utm_source, utm_medium and utm_campaign. It also warns that values are case sensitive, so utm_source=google and utm_source=Google become two separate sources, and it recommends lowercase as a standard practice. Pick the values once and keep them in a shared document so every profile you manage uses the same spelling.

The convention below uses google as the source because that's where the click happened and organic as the medium because it's the exact value GA4's Organic Search rule looks for. The campaign name marks the profile, and utm_content, which Google describes as a way to tell creatives or links apart, records which button someone used.

Profile linkutm_sourceutm_mediumutm_campaignutm_content
Website link
google
organic
gbp_listing
website_link
Appointment link
google
organic
gbp_listing
appointment_link
Update post button
google
organic
gbp_posts
a short post name, such as gutter_check_oct
Offer post link
google
organic
gbp_posts
the offer name, such as spring_tuneup_offer

If you run profiles for more than one location, keep the campaign name the same and add the location to utm_content, such as website_link_fishers, so one report shows every profile together. The UTM naming convention guide explains how to set up a convention a small team can maintain, so nobody invents a new spelling six months from now.

A contractor's profile has a few spots where a tagged link belongs, and each one lives in a different part of the profile editor. If the profile itself still needs basic cleanup, work through the Business Profile optimization guide first so the listing people click is accurate.

The website link

Open your profile from Google Search, select Edit profile and find the website field. Google's Edit your Business Profile page asks for the full URL, including the http:// or https:// at the start, so paste the complete tagged address and select Save. Google also says it reviews changes before they go live on your profile, so give the edit time before you test it from the public listing.

Appointment links

Google's help page on managing local business links explains how to add links that help customers book an appointment, and it allows up to 10 links per category. For a roofer or an HVAC company, that link usually points to the estimate request or scheduling page, tagged with utm_content=appointment_link. When you have more than one, you can set a preferred link that shows at the top.

Check for links that a booking provider added on its own. Google notes that “links to certain services can automatically appear on your Business Profile,” and you don't control the URLs on those. If you'd prefer every booking to go through your own tagged page, the same help page shows how to remove the provider under Booking.

Post buttons

Update posts can include a description, a photo and an action button with a link, and offer posts have their own link field, according to Google's posts help page. Posts come and go, so give each one its own utm_content value. After a few months you'll know which kinds of posts send people to your site and which ones send nobody.

UTM tags can't record the Call button, because a tap on Call dials your phone without loading your website, and Google counts those taps as calls on the Performance screen. If you want calls tied to jobs, read the call tracking guide before you swap any phone numbers.

Keep the canonical tag pointed at the clean URL

Give useful pages a path from the siteHomeServiceGuideProject proofNext question
Home → service
Link the service to project proof.
Home → guide
Link the guide to the next useful question.
Give useful pages a path from the siteDescriptive internal links connect a discoverable page to supporting details and a next step.

A tagged link creates a second address for the same page. Google's canonical documentation uses a tracking parameter in its own example of a URL you'd want consolidated, and one of the reasons it gives for choosing a canonical is to “simplify tracking metrics for a piece of content.”

The safeguard is a self referencing canonical tag, a line in the head of your landing page that names the clean URL as the preferred version. Google recommends adding that rel=canonical element to the canonical page itself and calls it “a strong signal that the specified URL should become canonical.” Open the page source, search for canonical and confirm the tag shows your clean URL. If it's missing or it repeats the tagged version, have whoever manages your site fix it before the tagged link goes on your profile.

Leave robots.txt alone for this job. Google's list of canonical practices says not to use the robots.txt file for canonicalization, so tagged URLs should stay crawlable while the canonical tag tells Google which version to keep.

UTM parameters describe how a visitor reached your website. Google's own examples of utm_source values are a referrer such as google, a newsletter or a billboard, and every one of those sits outside your site. When you add UTM tags to a link from your homepage to your roof replacement page, your homepage can start appearing as a campaign source in GA4 next to your profile and your email list.

Tag the links that live outside your website, such as your Business Profile, email newsletters, ads and QR codes on yard signs. Leave every link between your own pages untagged. If you want to know which button on your site gets clicked, set that up as an event in GA4 and keep your campaign reports for traffic that arrives from somewhere else.

Read the results in GA4

In GA4, select Reports, then Acquisition, then Traffic acquisition. Google's Traffic acquisition report documentation lists session source, session medium, session source / medium and session campaign among the report's dimensions, with metrics that include engaged sessions, engagement rate and key events. Switch the dimension dropdown above the table to Session campaign and find gbp_listing and gbp_posts.

To split the campaign by button, click the plus icon next to the dimension dropdown and add a secondary dimension. Search for manual ad content, which Google's dimensions reference says is populated by the utm_content parameter. Your website link, appointment link and individual posts then appear as separate rows.

Here's a worked example with made up numbers. Say the website_link row under gbp_listing shows 120 sessions for last month, 9 of those sessions included a submitted estimate form that you've marked as a key event, and your Performance screen shows 150 website clicks for the same month. The gap between 150 clicks and 120 sessions is expected, because Google counts clicks on its side while GA4 counts sessions your tag recorded. If your crew closes 3 of every 10 estimates (another assumption), those 9 requests are worth roughly 3 jobs, and that's the number to track month over month.

Treat the tagged count as the visits that came straight from the profile. A homeowner who finds you on the map and comes back a week later by typing your web address may be credited to a different source, which is why small business attribution always involves some judgment.

Change one thing you can learn fromOne question · Consistent measurementABCurrent pageOne changeObserveCompareRecord context before interpreting a difference
A: current page
Observe the starting version.
B: one change
Compare with the same measurement.
Change one thing you can learn fromKeep the goal and measurement consistent, record the change and compare the result in context.

A tagged link can break quietly, especially when a redirect drops everything after the question mark. Run through these checks once after you add or change a link on your profile.

  1. Paste the tagged URL into a browser and confirm the page loads with the parameters still in the address bar. The guide to testing campaign links covers pages that already use query strings or link to page sections.
  2. Add the link to your profile, save it and wait for Google to approve the change.
  3. Search your business name, tap Website on the live profile and check the address bar again.
  4. Open the Realtime report and look for your visit in the card that shows views by page title. Google says the first user source card only shows established users, so a brand new visitor may not appear there.
  5. Check Traffic acquisition a couple of days later. Google's data freshness page says processing can take 24 to 48 hours and that numbers can change during that window.

When you're ready to build the links, the free campaign URL builder can build your website, appointment and post URLs in one batch and export them as a CSV file, which gives you a record of every tagged link on your profile.

Questions, answered.

Do UTM parameters on a Google Business Profile hurt local rankings?

Google's local ranking help page says local results are mainly based on relevance, distance and popularity, and its section headings call the third factor prominence. A tag on your website link doesn't change what your business offers, where it's based or how well known it is. The side effect to manage is a second URL for the same page. A self referencing canonical tag on that page tells Google which version is the main one.

Why doesn't GA4 match website clicks in my Business Profile performance report?

The two tools count different things. Your profile's Performance screen counts clicks on the website link, while GA4 records a session only after your page loads and the analytics tag runs. Someone who taps Website and backs out before the page appears counts as a click with no session. Watch the trend in both numbers over several months and expect the totals to differ.

Can UTM parameters track phone calls from a Google Business Profile?

UTM tags can't see calls, because a tap on the Call button dials your number without loading your website. Use the Calls figure on your profile's Performance screen, which Google defines as the number of times a customer clicked the call button. If you want more detail, such as which calls became booked jobs, you'll need call tracking set up in a way that keeps your business phone number consistent.

Should I tag booking links that a provider added to my profile?

You can only tag the links you add yourself. Google says links to certain services can appear on a profile automatically through booking providers, and those URLs come from the provider. If you want estimate requests to run through your own tagged page, add your appointment link, set it as the preferred link, and remove the provider under Booking if you don't use that service.

Sources & further reading

Need our help with this on your own site?

Request a free strategy call

The first strategy call is free, and during business hours we aim to reply within five minutes.