Yandex Direct UTM Parameters: Template and Dynamic Tags

Yandex Direct UTM parameters are the tags added to an ad link so your website, CRM and analytics tools can tell where a visitor came from. Without them, a lead in your CRM is simply labelled "website", and you cannot say which campaign or search phrase produced it. This guide covers how the tags work, a template you can reuse, and how to carry the data all the way to sales.

Why you need UTM when Direct already tags links

Direct can append its own automatic tag to every link, and Metrica uses it to build detailed campaign reports. That tag is designed mainly for Metrica, though. Other tools do not read it, and a form handler or a redirect on your site can strip it out.

UTM is an open convention. Google Analytics, call tracking services, form scripts and almost any CRM understand it. The practical answer is to switch on both mechanisms: they do not conflict, and each covers the gaps of the other.

The five core parameters

The syntax is the same everywhere. A question mark follows the page address, and each parameter is separated by an ampersand. Spaces should never appear.

  • utm_source: the platform, for example yandex
  • utm_medium: the traffic type, for example cpc
  • utm_campaign: the campaign, ideally an ID or a short Latin name
  • utm_content: the ad or its variant
  • utm_term: the keyword that triggered the ad

Dynamic parameters: one template for every click

You do not have to write tags by hand for each ad. Direct replaces placeholders in curly braces with real values at the moment of the click. The most useful ones are {campaign_id}, {ad_id}, {keyword}, {source_type} (search or network), {source} (the specific site in the network), {device_type}, {region_name} and {position_type}. The full, current list lives in the Direct help centre and can change over time.

A working template looks like this: utm_source=yandex&utm_medium=cpc&utm_campaign={campaign_id}_{source_type}&utm_term={keyword}&utm_content={ad_id}. The placement type is attached to the campaign ID, so search and network traffic separate right inside your report. If you care about mobile clicks in Tashkent versus the regions, add {device_type} or {region_name} in the same way.

IDs are safer than names. Cyrillic letters, spaces and quotation marks in a campaign name can break the link or turn into unreadable encoded text. Keep a simple lookup table that explains each ID.

Where to set the template and how to test it

You can place the template in each ad link or in the link parameters at campaign level, if your campaign type supports it. The second route is easier because every ad inherits the tags and nothing needs copying. Check sitelinks and other extensions separately, since tags are most often forgotten there.

Once it is set up, run a short test:

  • open the ad preview and read the final link
  • follow it and confirm the page loads without errors
  • move to another page of the site and check that the tags survive
  • submit a test lead and find the tags in the CRM record

Passing the source to your CRM and Telegram bot

A small script on the site reads the UTM values from the address and writes them into hidden form fields. The lead reaches the CRM together with its campaign, ad and keyword. After a few weeks you see more than a count of enquiries: you see which phrases bring paying customers.

In Uzbekistan many visitors skip the form and tap a button that opens Telegram. To keep the source, pass the tags into that link too. The script puts the campaign and keyword into the bot's start parameter, and the bot stores them with the user profile. A lead from the messenger then ties back to a search phrase just as reliably as a form lead. If customers pay through Click or Payme, store the tags next to the order so you can match them with the payment later.

Common mistakes

Most problems repeat from project to project, and you can check for them in advance.

  • an extra question mark, a missing ampersand or a space in the template
  • the site drops unknown parameters or redirects without them
  • utm_campaign holds a Cyrillic name instead of an ID
  • the same utm_campaign is reused across different campaigns
  • tag formats differ between Direct, Google and social networks
  • tags appear in the address but never reach the forms

One tagging standard for every platform

Once you advertise on more than one platform, comparability becomes the main goal. Write a short document: the utm_source and utm_medium values for each platform, what goes into utm_campaign and utm_content, and how campaigns are named. Apply it across Direct, Google Ads, Meta, TikTok and Telegram. Google Ads has a similar tracking template with its own dynamic values, such as {campaignid} and {keyword}, so the logic carries over almost unchanged.

If you want help, markdev sets up Google Ads for businesses in Uzbekistan and builds consistent tagging and CRM data transfer in from the start. Tell us about your task and we will suggest where to begin.

FAQ

Do I still need UTM tags if Direct auto-tagging is on?

Yes. Auto-tagging is built for Metrica, while UTM is read by other analytics tools, forms and CRMs. You can and should use both together.

Should utm_campaign contain a name or an ID?

An ID such as {campaign_id}, or a short Latin name without spaces, is safer. Cyrillic letters and special characters can get distorted in a URL.

How do I pass the search phrase into a lead?

Add utm_term={keyword} to the template and set up a script that copies UTM values from the address into hidden form fields. The phrase will then arrive in the CRM with the lead.

How do I keep the source when a customer moves to Telegram?

Pass the campaign and keyword into the start parameter of the bot link. The bot saves them with the user, so a messenger lead can be tied back to the ad.

Let’s look at your task for free

Leave your contact — in a 15-minute call we’ll show where leads get lost and what to fix first.