UTM builder for local businesses
Build a tagged link for your Google Business Profile, a flyer, the van, a Facebook post or a newsletter, and see in Google Analytics which one sent each visitor. It is free, there is no account, and the links you build are not saved by us.
- Presets for your Google profile, flyers and van
- Warns about capitals, spaces and internal links
- Tagged URL and QR code, ready to use
Enter your website address, choose where the link will go, and the tagged link and QR code appear.
Enter your website address to build the link.
What a UTM tag tells you
A UTM tag is a label added to the end of a link, so Google Analytics can tell you where the visit came from. Someone taps the link, the labels travel with them to your site, and Analytics files the visit under the source, medium and campaign you chose (Google's guide).
Without tags, Analytics works it out from the page the visitor was on before. That works for a Google search or a link on another website. It fails for a QR code on a flyer, a link in a PDF quote, or a link that loses its details on the way, and Google says that traffic is filed as (direct) / (none): Analytics' way of saying it does not know (Google on direct traffic).
Google's own help describes these five parameters, and the tool builds all of them:
- utm_source: where the link sits, such as google, facebook, newsletter or flyer.
- utm_medium: the kind of channel, such as organic, social, email or qr.
- utm_campaign: the promotion or effort, such as gbp-listing or spring-boiler-service.
- utm_term: the paid keyword. Most local businesses leave it blank.
- utm_content: tells apart two links in the same place, such as the button and the photo in one email.
Tag your Google Business Profile first
If you only tag one link, make it the website link on your Google Business Profile. For most trades it is one of the biggest sources of enquiries, and untagged it usually disappears into ordinary Google search visits or into Direct. Tagged, it gets its own line in Analytics.
Google's Business Profile performance report already counts some of this, but it counts things separately. Google defines Calls as "the number of times a customer clicked on the call button" and Website clicks as "the number of times people clicked on the website link" (Google's metrics list). It also says the figures include both organic results and Google Ads. A website click tells you someone left the profile. It does not tell you whether they read your prices, filled in the form, or rang you from the contact page. UTMs pick up from there.
A worked example. Your site is https://www.example.com/ and you choose Google Business Profile: website button under Where will the link go?:
- utm_source: google
- utm_medium: organic
- utm_campaign: gbp-listing
- utm_content: website-button, filled in by the preset so you can tell this link from a post
- Your tagged link: https://www.example.com/?utm_source=google&utm_medium=organic&utm_campaign=gbp-listing&utm_content=website-button
- Where it goes: in your Business Profile, Edit profile, then the website field. Save it, then tap the website button on your own profile and check the address bar.
Why medium is organic
GA4's channel rules file the medium organic under Organic Search. So your profile visits stay counted as search, where they belong, and you can still pick them out by their campaign name.
Posts get their own campaign
Google posts can carry a button. Tag its link with campaign gbp-post, and put the post's topic in utm_content, so you can see which updates sent anyone to your site. Our view on whether Google posts are worth it is here.
The presets, and why each value
Every preset uses lowercase and hyphens, and each puts the visit into a sensible channel in GA4's default grouping. Change the campaign name to suit; keep the source and medium the same every time you use that channel.
Google Business Profile: website button: google / organic / gbp-listing, with website-button as the content. Organic Search.
Google Business Profile: post: google / organic / gbp-post. Organic Search.
QR code on a flyer or leaflet: flyer / qr / leaflet-drop. QR code on the van: van / qr / van-livery. GA4 has no channel for print, so these show as Unassigned in the channel report. That is fine: the source and medium still show exactly where they came from.
Facebook post: facebook / social / page-post. Organic Social, because GA4 treats the medium social as social traffic.
Email newsletter: newsletter / email / newsletter-yyyy-mm, filled in with the current month, such as newsletter-2026-10. Email.
Where to see the results in GA4
Open Reports, then Acquisition, then Traffic acquisition. Google says that is where you can view Session source/medium, Session medium, Session source and Session campaign. Change the table's first column to Session source/medium and you will see rows like google / organic and flyer / qr.
To split your Google profile from ordinary search, add Session campaign as a secondary dimension. gbp-listing and gbp-post then sit on their own rows. The optional fields have dimensions of their own: utm_term appears as Session manual term and utm_content as Session manual ad content (Google's dimension list).
One more source is worth knowing about. Google Analytics can now link to your Business Profile and show its calls, website clicks and directions in a Google Business Profile collection of reports. Google notes that this data covers only the last six months, and it cannot be filtered or used in explorations (Google's page). It shows profile actions; your UTMs show what those visitors did next.
UTMs and phone calls: what they can and cannot see
UTMs track visits to your website, not phone calls. A customer who taps Call on your Google profile never reaches your site, so no tag can see them. That call only shows up in Google's own count of call button taps.
What a tag can do is tell you where callers from your website came from. If you count taps on the phone number on your site as an event in GA4, each one carries the source and campaign of the visit. Then you can say "six calls from the website this month, four of them from the Google profile." Our guide to tracking calls from Google sets that event up step by step.
Mistakes that split your figures
Google's own advice is about consistency: one name per platform, one per channel, and lowercase throughout. Tag values are case sensitive, so Google treats Facebook and facebook as two different sources. The tool fixes the first two for you and warns about shop, redirects and internal links. The rest are down to you:
- Capitals. gbp-listing and GBP-Listing become two rows. The tool lowercases every value and tells you when it has.
- Spaces. A space in a value has to be encoded and is easy to mistype. The tool swaps spaces for hyphens: spring-boiler-service.
- Different names for the same thing. fb one month and facebook the next split your Facebook figures in two. Pick one and keep it.
- Tags on your own internal links. Never tag links from one page of your site to another. GA4 can then credit the enquiry to your own banner instead of the Google search that brought the visitor in.
- Shop in a campaign name. GA4 files campaigns whose names match its shopping pattern, such as shop-open-day, under Organic Shopping. Choose another word.
- A link that redirects. Google warns that redirects, such as from one site to another or from https to http, can strip UTM tags, and so can link shorteners like bit.ly. Paste the exact address your page ends up on.
- Leaving a field out. Google recommends always setting source, medium and campaign together. Leave one out and reports fill with (not set), which is why the tool will not build a link without all three.
Common questions
What is a UTM builder?
A tool that adds UTM parameters to a web address, so Google Analytics can report where each visit came from. You enter your page, a source, a medium and a campaign, and copy the tagged link.
Which UTM parameters are required?
Google says to always use utm_source, utm_medium and utm_campaign together. utm_term and utm_content are optional. This tool will not build a link until the three main ones are filled in.
Should I add UTM tags to my Google Business Profile website link?
Yes, if you use Google Analytics. Tagged, visits from your profile get their own campaign row instead of mixing with other Google search traffic. Use google / organic / gbp-listing so they stay in the Organic Search channel.
Are UTM parameters case sensitive?
Yes. Google's documentation says utm_source=google is different from utm_source=Google, and recommends lowercase as standard. The tool lowercases what you type and tells you it has.
Where do I see UTM data in GA4?
Reports, then Acquisition, then Traffic acquisition. Set the primary dimension to Session source/medium, and add Session campaign as a secondary dimension to see each campaign.
Can I use UTM links on my own website's internal links?
No. Tags are for links that bring people to your site from somewhere else. A tagged link from your homepage to your contact page can replace where the visitor really came from in your reports.
Can I put a UTM tag on the call button on my Google profile?
No. The call button opens the customer's phone dialler, not your website, so there is nothing for Analytics to record. Google's performance report counts those taps as Calls. Tag the website link instead.
Can I make a QR code with UTM tracking?
Yes. Build the tagged link here and the tool makes a QR code of it. Use the flyer or van preset, and each scan that opens your site shows up in GA4 as flyer / qr or van / qr.
Want the reviews to look after themselves?
We run Google Business Profiles for UK trades: the reviews, the replies, the posts and the pages that get you on the map. Local SEO and Google Business Profile work is paid on results, with nothing upfront.
