Skip to content
Advertising18 minJuly 17, 2026

UTM tags: what they are, how to set them up, and why analytics needs them

Robert MirovUpdated Sep 5, 2026

UTM tags: what they are, how to set them up, and why analytics needs them

You launched Google Ads, an Instagram post, a Telegram button and a QR on a business card — and reports melted everything into “direct”, “unknown” or one anonymous pile. Clicks exist. Leads sometimes exist. Which campaign and which channel actually drive leads is unclear. UTM tags (UTM — Urchin Tracking Module, parameters at the end of a URL) are a simple way to label external traffic so Google Analytics 4, Yandex Metrika and business reports can tell sources apart. Without them you argue “ads don’t work / sales don’t pick up” without channel numbers. Below — a calm order for a business owner in Uzbekistan: what UTM is in plain words, five parameters, one naming dictionary, typical chaos vs order, mistakes, a checklist and a first-week check. No magical ROI promises — only the discipline without which analytics stays blind.

01What UTM is in plain words

UTM is a small set of URL parameters that do not change the page for the visitor, but tell analytics where the person came from, which channel type, and which campaign. Plain link: `https://example.uz/uslugi` With UTM: `https://example.uz/uslugi?utm_source=google&utm_medium=cpc&utm_campaign=stomatology_tashkent` The user sees the same page. The report gets the chain: source → medium → campaign name. Without tags, many Instagram, Telegram and offline clicks land in Direct / (none) or (not set) — and you lose the “channel → leads” cut. Where to put UTM: • Google Ads and Yandex Direct ads (when auto-tagging is not enough or you need one dictionary with other channels); • Instagram buttons and links (bio, stories, Direct); • Telegram posts, buttons and deep links; • email and messenger newsletters; • QR on cards, flyers, store signs, menus. Requirement: an analytics counter on the site. Setup base — GA4 and Metrika guide. Tags without a counter are like labels on boxes with no warehouse: written, nowhere to look.

02Why tags matter for business in Uzbekistan

In Tashkent and other cities, typical SMBs run several channels at once: Google, Instagram, Telegram, sometimes Direct and offline. Budgets are modest — broken tagging hurts not “in theory”, but as the feeling that “nothing works”, while the real issue is accounting.
BeforeAfter
All clicks in one “site / direct” pilegoogle / instagram / telegram / offline visible separately
Argue: “bad ads” vs “sales don’t answer”See CPL (cost per lead) and leads by campaign
Two offers in stories — result “people clicked somehow”`utm_content` shows which creative drove leads
QR on a card = “unknown”offline + qr + branch campaign in the report
Budgets cut “by gut feel”Pause a weak channel with 1–2 weeks of data
Practical jobs for tags: • compare channels under one offer (Google vs Instagram vs Telegram); • compare two hypotheses inside a channel (two texts, two banners, two CTAs); • estimate CPL by source, not only CPC (cost per click); • keep paid ads, organic social and email from mixing; • give contractors one rule set — otherwise everyone tags “their way”. Google Ads partly tags itself (auto-tagging — often adds `gclid`, the click ID). That does not replace UTM for Instagram, Telegram, email and QR: without manual tags those channels smear across reports.

03Five parameters: what each one means

The UTM standard is five fields. Three are almost always required; two are for detail. Required`utm_source` — who brought the traffic: `google`, `instagram`, `telegram`, `yandex`, `email`, `offline`. This is the “platform / system”, not the promo name. • `utm_medium` — channel type: `cpc` (pay per click), `social`, `email`, `banner`, `qr`, `referral`. Separates paid from organic and offline. • `utm_campaign` — campaign or hypothesis name: `implants_tashkent`, `summer_sale_2026`, `bot_lead_form`. Put goal + geo or period here if it helps reading the report later. Optional`utm_content` — ad or button variant: `banner_red`, `cta_call`, `story_a`. Use when you compare creatives under the same source/medium/campaign. • `utm_term` — keyword or audience (more often in search): `implant_cena`, `stomatolog_yunusabad`. Often optional in social. Simple rule: source = where from, medium = how, campaign = why / which promo, content = which variant, term = which query. Do not mix levels: do not put a promo name in `utm_source`, or the word `instagram` in `utm_campaign`. A month later the report becomes unreadable.

04How to build a link: steps and examples

Building is mechanical. Mistakes almost always sit in naming and where the link is placed — not in a “complex formula”. Steps 1. Take a clean landing URL without old tags: `https://example.uz/uslugi`. 2. Add `?` and join parameters with `&`. 3. Use only Latin letters, digits and `_` (underscore). No spaces, no Cyrillic, no commas in values. 4. Save the full link in a sheet. If you need a short URL — shorten the finished UTM link, not the other way around. 5. Test in incognito: click → page opens → GA4 Realtime / Metrika shows the expected source/campaign. Example for a clinic in Tashkent: `https://clinic.uz/implanty?utm_source=instagram&utm_medium=social&utm_campaign=implants_tashkent_jul2026&utm_content=story_price` Example for a Telegram post: `https://clinic.uz/implanty?utm_source=telegram&utm_medium=social&utm_campaign=implants_tashkent_jul2026&utm_content=channel_post_1` Google’s Campaign URL Builder is fine at the start. The generator is not the point — a shared dictionary in Google Sheets is: columns for source, medium, campaign, content, full URL, placement channel, owner, date. Before launching ads, align the sheet with your contractor — or in two weeks you will again have three spellings of one Instagram.

05Naming dictionary and channel table

`Google_July`, `google-july`, `GOOGLE_JULY` are three different sources for analytics. The system does not “guess” that you meant the same thing. Dictionary principles • always lowercase; • separator — `_` (no spaces; better not to mix `_` and `-` without a rule); • fixed list of source and medium — new values only by decision of the sheet owner; • campaign = goal + geo or period (`implants_tashkent`, `leads_jul2026`); • content = creative or placement variant (`banner_a`, `bio_button`, `qr_reception`); • one naming language — Latin; no Cyrillic in values.
utm_sourceutm_mediumWhen to use
googlecpcGoogle Ads (Search / Display) when you use manual UTM
yandexcpcYandex Direct
instagramsocialPosts, stories, bio, paid social
telegramsocialChannel, bot, pin, TG blast
emailemailEmail newsletters
offlineqrCards, flyers, in-store signs
facebooksocialMeta / Facebook if tracked apart from Instagram
Write the rules down. A new hire or agency must not invent `IG`, `insta`, `Instagram_Ads` next to `instagram`. One dictionary saves more time than any link builder.

06Chaos vs order: what changes in reports

The difference is not “pretty links”. It is whether in two weeks you can answer which channel and campaign produced cheaper leads.
BeforeAfter
`Instagram`, `ig`, `insta_ads` mixedOne `instagram` + medium `social` or `cpc`
UTM only in Google AdsTags on IG, Telegram, email, QR
Shortener without parametersFull UTM first, then short URL
Tags on internal site buttonsIncoming external links only
Report opened a month laterDay 1 test, days 2–3 check, day 7 duplicate control
30–40% `(not set)` / odd Direct“Unknown” share drops, channels become readable
If after launch a large share of sessions has no source/medium — that signals broken tagging or stripped parameters (redirect, short link, share button without tags), not “bad analytics as such”. Order is often fixed in one workday: dictionary → fix links → retest. A month of arguments without numbers costs more.

07Mistakes, checklist and day-by-day checks

MistakeHow to fix
Tags only in Google AdsUTM on Instagram, Telegram, email, QR
Different spellings of one channelOne dictionary, lowercase
UTM on internal site linksIncoming external links only — or they overwrite the source
Cyrillic and spaces in parametersLatin, digits, `_` only
Shortener instead of full UTMFull link first, then short URL
No report check after launchCheck on days 1–3 and control on day 7
Campaign = meaningless “ads”Name with goal/geo/period, readable a month later
Pre-campaign checklist 1. source/medium dictionary agreed with team and contractor. 2. All external links have at least the three required parameters. 3. No UTM on internal site buttons and menus. 4. Short URL points to the full UTM link, not a bare domain. 5. Test visit from phone and desktop is visible in GA4 and Metrika with the right fields.
DayWhat to check
1Test click lands in the right source / medium / campaign
2–3No spike of `(not set)` or unexplained Direct on new links
7Campaigns read as one row, not three spellings
If 30–40% of traffic is `(not set)`, fix tags and the link path first, then argue about creatives. Fixing tagging is usually cheaper than a week of blind “optimization”.

08Where to look in GA4 and Metrika

Tags are useless if nobody opens the report. Minimum for a business owner — the same cut once a week. In Google Analytics 4: acquisition / traffic reports → Session source / medium and Session campaign (section names can vary slightly in the UI). Confirm that test and live campaigns appear as separate rows, not one mess. In Yandex Metrika: source reports, UTM / campaign tags — source, medium, campaign. It helps to view goals (leads, phone clicks) next to visits, not visits alone. What counts as tagging success (not ad success): • new external links appear under expected names; • one channel is not split into five spellings; • `(not set)` share on tagged campaigns is low; • you can compare 2–3 channels on leads over the same period. After that come offer, reply speed and lead quality — but without UTM you will not reach those questions honestly. Linking tags to the ads account and conversions is the next layer after basic analytics; see also Google Ads setup if paid search is already planned.

Summary

UTM is the minimum accounting discipline without which analytics struggles to tell Google from Instagram, ads from email, and a QR on a card from a “direct” visit. It is not a growth strategy by itself — it is the condition for budget decisions to rest on channels and campaigns, not on gut feel. Simple order: three required parameters → shared dictionary → test in GA4 and Metrika → first-week check. First basic analytics, then tags on every external link. Need help with tagging and ad reports — write UZNEO.

Launch ads without burning budget?

Google Ads with anti-fraud built in. Budget estimate and forecast in 24h on Telegram.