UTM tags in Telegram Ads are parameters added to the end of a website link so that web analytics (Google Analytics, Yandex Metrica) can tell that a visitor came from a specific Telegram ad. The ad account itself only reports impressions, clicks and in-Telegram actions, so without tagging you cannot connect your ads to leads, revenue or repeat purchases. Below: how to tag links to a website, a bot and a channel, and why the numbers never match across tools.
What Telegram Ads reports and what it doesn’t
Telegram Ads’ built-in statistics cover impressions, clicks and actions, where an action is a channel join or a bot start. Clicks are counted from August 1, 2023; around the same time, according to Sostav, links with UTM tags were officially allowed in ads.
For website ads in the euro account there is also the Telegram Ads pixel, which counts post-click conversions. But the pixel sends data only to the ad account, not to your web analytics or CRM. UTM tags close that gap: they show which ads bring money, not just clicks.
Link rules in Telegram Ads
Before adding tags, check the platform’s limits. They are described in the official rules at ads.telegram.org/guidelines and in our Telegram Ads ad specs:
- Length and protocol. The URL field accepts up to 256 characters and HTTPS only. Long tagging plus a Russian erid token can hit the limit, so keep tag values short.
- No shorteners. URL shorteners and IP addresses instead of a domain are prohibited, even if they lead to a valid page.
- No automatic redirects. The site must not redirect users to another page or domain, so tracking links that pass through a third-party redirect won’t work.
- One question mark. Per eLama’s instructions, the page address is followed by a single “?”, and all other parameters, including UTM and erid, are joined with “&”.
How to build a UTM tag: scheme and example
There are five standard parameters; the first three are required. What matters most is one naming scheme across all campaigns, otherwise your analytics reports split into dozens of near-identical rows.
| Parameter | Meaning | Example value |
|---|---|---|
| utm_source | Traffic source | telegram |
| utm_medium | Traffic type | cpm or messengers |
| utm_campaign | Campaign or offer | sale_nov |
| utm_content | Specific ad | ad07_photo |
| utm_term | Channel group or targeting | marketing_ch |
Example link: https://example.com/sale/?utm_source=telegram&utm_medium=cpm&utm_campaign=sale_nov&utm_content=ad07_photo. Putting the ad number or a short ad name in utm_content makes it easy to match an analytics row with an ad in the account.
We found no public description of dynamic parameters (macros) that Telegram Ads would insert into a link automatically. So tags are written by hand for each ad, and targeting is best encoded in utm_term: targeting cannot be changed after an ad is created, so each new setup is a new ad with its own tag.
Step-by-step: tagging a link
- Build a table: campaign, ad, targeting, tag values. This is your naming dictionary.
- Assemble the link in a UTM builder or by hand; check that it has exactly one “?” and no spaces or non-Latin characters.
- If your ads target Russia, you also need an erid token for each creative under Russian ad-labeling law; add it to the same link with “&”. See our article on Telegram Ads labeling in Russia. Outside Russia this step doesn’t apply.
- Check the length: with tags, the link must fit within 256 characters.
- Open the link in a browser, make sure the page loads without a redirect, and confirm that the visit appears in GA4 or Metrica with the right tags.
- Paste the link into the ad’s URL field and record the ad ID next to its tag in your table.
How to track a bot, a Mini App and a channel
UTM tags work only where web analytics exists, i.e. on a website. Objects inside Telegram use their own mechanisms.
- Bot. Telegram Ads rules allow start parameters: a link like
t.me/your_bot?start=ad07passes the value after “start” to the bot, which can store the user’s source. More in our guide to promoting a bot or Mini App. - Mini App. For direct Mini App links, Telegram provides a
startappparameter that the app receives on launch and can record as a source tag. - Channel. Channels use a separate invite link for each ad. Yandex Direct’s help center recommends giving links clear names and creating different links for different campaigns and ads: Telegram’s invite-link list shows how many people joined through each one.
Cost per subscriber is simple: ad spend divided by joins through its link. Note that, according to Yandex, channel statistics (available from 50 subscribers) also count people who later left.
Tools that automate tagging
In the standard account, invite links are created by hand, one per ad. In a test by an eLama author (January 2026), 15 ads with unique links took about 17 minutes. That’s why resellers and services offer automation (most of these are Russian-market tools):
- TG Nastroy by eLama creates invite links automatically once the eLama bot is a channel admin, and shows joins, leaves and cost per subscriber for any period.
- AdStat.pro, according to Workspace.ru, generates invite links via a channel-admin bot and can pull visits and goals from Yandex Metrica.
More Telegram Ads tools are listed in our services directory.
Why ad account and analytics data don’t match
Clicks in Telegram Ads and sessions in analytics are almost never equal, and that’s normal. Typical reasons:
- The user clicked but didn’t wait for the page. A slow site loses some visits before the counter fires.
- Blocking and VPNs. According to ppc.world (September 2026), sites may not open for some users on a VPN — a Russia-specific issue in that report; clicks without visits are a signal to check your site’s availability.
- Different attribution models. The pixel counts post-click conversions within its window, while web analytics may credit the visit to another source by default.
- Lost tags. Internal redirects, a wrong “?” or non-Latin characters in values can strip the parameters.
Compare trends within one source rather than absolute numbers. Which metrics to watch is covered in Telegram Ads metrics.
FAQ
Can I use UTM tags in Telegram Ads?
Yes. According to Sostav, links with UTM tags have been officially allowed since August 2023. Tags go into the URL field of an ad that leads to a website; the full link can be up to 256 characters, HTTPS only.
How do I combine UTM tags and an erid token in one link?
Put a single “?” after the page address, then join parameters with “&”, e.g. ?utm_source=telegram&utm_medium=cpm&erid=XXXXXX. The erid token is a Russia-specific requirement for ads shown to Russian users, and each creative has its own.
Does Telegram Ads support dynamic macros for tags?
We found no public description of such macros. Tags are written by hand, and the ad number and targeting are encoded in utm_content and utm_term.
How do I track channel subscribers from ads?
Create a separate invite link for each ad and use it as the ad’s link. Telegram’s link list shows how many people joined through each; cost per subscriber equals spend divided by joins.
Do I need UTM tags if the pixel is installed?
Yes, they do different jobs. The pixel shows conversions inside the Telegram Ads account, while UTM tags pass the source to your web analytics and CRM, where revenue and repeat purchases are visible.
Why are there more clicks in the account than sessions in analytics?
Some users leave before the page loads, some can’t open the site because of a VPN or blocking, and tags are sometimes lost on internal redirects. A small gap is normal; a large one is a reason to check your site’s speed and availability.