What is a UTM builder?
A UTM builder is a tool that adds UTM parameters to the end of a URL. UTM parameters (short for Urchin Tracking Module, after the analytics product Google bought in 2005) are tags such as utm_source and utm_medium that analytics tools read when someone lands on your page. The page itself ignores them; your analytics uses them to label the visit.
Without UTMs, a lot of social traffic shows up as "direct" or as a vague referral, because in-app browsers (Instagram, TikTok, WhatsApp) often do not pass a referrer. With a tagged link, Google Analytics 4 knows the click came from your Instagram bio, the June newsletter or the second button in a YouTube description.
This campaign URL builder works for Google Analytics 4 and for any other tool that reads standard UTM tags, including Matomo, Plausible, HubSpot and most e-commerce dashboards.
How to use this UTM link builder
- Paste the destination URL. If you leave out
https://, it is added for you. A warning appears under the field if the address is not a valid URL. Existing query parameters on the URL are kept. - Tap a quick preset (optional). Presets fill source and medium: Instagram bio (
instagram/bio), YouTube description (youtube/description), WhatsApp status (whatsapp/status), Email newsletter (newsletter/email) and Facebook post (facebook/post). - Fill or adjust Source, Campaign medium and Campaign. Source is required: the link is only built once it has a value. Add Term and Content if you need them.
- Leave the lowercase option on. "Lowercase values and replace spaces with dashes" is checked by default, so "Summer Sale" becomes
summer-sale. - Check and copy. The Parameters table shows each
utm_tag and its value. Use Copy URL to copy the tagged URL, or Open to load it in a new tab and confirm the page works.
UTM parameters explained
| Parameter | Answers | Example values | GA4 dimension |
|---|---|---|---|
utm_source | Which site, app or list sent the visit? | instagram, youtube, newsletter, google | Session source |
utm_medium | What type of channel? | social, bio, email, cpc, qr, sms | Session medium |
utm_campaign | Which promotion or project? | diwali-sale-2026, spring-launch | Session campaign |
utm_term | Which keyword or audience? (mainly paid search) | running-shoes, lookalike-1pct | Session manual term |
utm_content | Which link, creative or button? | header-button, story-2, video-a | Session manual ad content |
GA4 also recognises utm_id (campaign ID), utm_source_platform, utm_creative_format and utm_marketing_tactic. This tool builds the five classic parameters, which cover almost every creator and small-business need; you can append the others by hand if your team uses them.
UTM naming conventions that keep reports clean
UTM values are free text, so the biggest risk is inconsistency. Agree on a short list and stick to it.
| Where the link lives | utm_source | utm_medium | utm_content (optional) |
|---|---|---|---|
| Instagram bio | bio | - | |
| Instagram story link sticker | story | 2026-10-08 | |
| TikTok bio | tiktok | bio | - |
| YouTube description | youtube | description | video-slug |
| Newsletter | newsletter | top-button | |
| WhatsApp broadcast | broadcast | - | |
| Printed flyer QR code | flyer | qr | shop-window |
| Paid Meta ad | paid-social | ad-name |
- Lowercase everything. GA4 treats values as case sensitive, so
Instagramandinstagrambecome two separate rows. - Use dashes, not spaces. Spaces are encoded as
+or%20and look messy in reports. - Source = the platform, medium = the type. Do not swap them, and do not repeat the source in the medium (
instagram-bioas a medium). - Put a date or ID in the campaign (
black-friday-2026) so next year's campaign does not merge with this one. - Keep a shared sheet of approved values if more than one person builds links.
Where to see UTM data in Google Analytics 4
In GA4, open Reports, Acquisition, Traffic acquisition. The default table groups sessions by channel. Change the primary dimension (the dropdown above the first column) to Session source / medium or Session campaign to see your UTM values. Add Session manual ad content as a secondary dimension to compare buttons or creatives.
GA4 also sorts traffic into default channel groups using your source and medium. A few rules worth knowing:
- A medium of
email(ore-mail) puts the visit in the Email channel. - A source GA4 recognises as a social site (Instagram, Facebook, TikTok and others), or a medium such as
social, lands in Organic Social. Paid media values likecpcorpaidwith a social source go to Paid Social. - Values GA4 cannot match end up in Unassigned. If you see a lot of Unassigned traffic, check your medium values.
New data can take up to a day to appear in standard reports. To check a link straight away, open it and look at the Realtime report.
UTM examples for creators and small businesses
- Instagram bio vs story: a fashion creator tags her bio link
instagram / bioand each story stickerinstagram / storyto learn which drives more shop visits. - YouTube creator: one campaign per video (
utm_campaign=camera-review) shows which video sells the most course seats. - Café in Bengaluru: a QR code on the table tent uses
flyer / qr / table-tent, and the same menu link on Google Maps usesgoogle / maps. - Newsletter with two buttons: the same URL with
utm_content=top-buttonandutm_content=footer-linkshows where readers click. - Coach running ads:
utm_termholds the audience name so Meta ad sets can be compared inside GA4.
Long tagged URLs look untidy in a caption or a QR code. Put the tagged URL behind a button or a short link, not in plain view.
Ready-made UTM link examples
Here is how one page looks once tagged for different channels (replace the address with your own):
- Instagram bio:
https://biolinko.me/yourname?utm_source=instagram&utm_medium=bio - YouTube video:
https://example.com/course?utm_source=youtube&utm_medium=description&utm_campaign=camera-review - Newsletter button:
https://example.com/sale?utm_source=newsletter&utm_medium=email&utm_campaign=diwali-sale-2026&utm_content=top-button - Flyer QR code:
https://example.com/menu?utm_source=flyer&utm_medium=qr&utm_campaign=opening-week
Parameter order does not matter, and existing parameters such as ?ref= or ?id= can sit alongside the UTMs. Everything after a # is a page anchor, which the browser handles separately; this tool places the UTMs before it correctly.
Common UTM mistakes to avoid
- Mixed case.
Facebook,facebookandFBsplit one source into three rows. Keep the lowercase option on. - Tagging internal links. Never add UTMs to links between pages of your own site. They overwrite the visitor's original source and corrupt your reports.
- Missing medium. A source with no medium often lands in Unassigned. Always fill both.
- Using UTMs on Google Ads. If Google Ads is linked to GA4 with auto-tagging, the
gclidalready carries the data; manual UTMs can conflict. - Personal data in parameters. Never put email addresses, names or phone numbers in UTM values. It breaks Google's terms and privacy laws.
- Redirects that drop the query string. Some redirects strip everything after
?. Test the final URL with the Open button.
How this UTM builder handles your data
The tagged URL is built in your browser with the standard URL API. The URLs and campaign names you type are not sent to or saved on our server. If a UTM parameter already exists on the URL, the new value replaces it rather than adding a duplicate.
Tracking clicks from your link in bio
When your bio points to a link-in-bio page, tag that link with utm_source=instagram&utm_medium=bio so you can separate Instagram, TikTok and YouTube visitors. Biolinko also shows click counts per button on your page at biolinko.me/yourname, so you can see which links people tap. Learn more in how to add a link in your Instagram bio, or create a free page.
Updated October 8, 2026