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.
Why profile clicks blend into organic search
- Business
- Start from the real business.
- Coverage
- Identify the places it actually serves.
- Office
- Do not turn a service area into an invented office.
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.
A naming convention for profile links
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 link | utm_source | utm_medium | utm_campaign | utm_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.
Where to put tagged links on your profile
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
- Home → service
- Link the service to project proof.
- Home → guide
- Link the guide to the next useful question.
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.
Tag outside links and leave internal links clean
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.
Test the link before you trust the report
- A: current page
- Observe the starting version.
- B: one change
- Compare with the same measurement.
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.
- 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.
- Add the link to your profile, save it and wait for Google to approve the change.
- Search your business name, tap Website on the live profile and check the address bar again.
- 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.
- 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.



