
Меня зовут Евгений Вязников — с 2017 года занимаюсь цифровым маркетингом: таргетированная и контекстная реклама, сборка сайтов, установка сквозной аналитики. Здесь — не пересказ справки Яндекса, а метка, которую я реально использую на своих проектах, и грабли, на которые уже наступал.
Коротко: в Директе доступно 13 динамических параметров для подстановки в ссылку — источник, устройство, регион, позиция показа и так далее. Официальный лимит длины ссылки — 4096 байт, при превышении Директ тихо обрежет все, кроме служебных меток. В этой статье — полная таблица параметров с проверкой по официальной справке, моя рабочая метка с разбором каждого блока, готовые шаблоны под три ниши услуг и разбор реального кейса, где длинная метка потеряла данные на живом проекте.
Если коротко — без нее вы не поймете, откуда пришел клиент. Реклама в Директе крутится на Поиске и в РСЯ, показывается на разных площадках, в разных позициях, с разных устройств. Без разметки в Метрике вся эта картина схлопывается в одну строчку «переход из Яндекс.Директ» — и все, дальше только гадать.
UTM-метка — это пять стандартных параметров в конце ссылки (`utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content`), по которым Метрика раскладывает трафик на источники. Я использую собственный подход в дополнение к пяти стандартным — но давайте по порядку, сначала разберем саму базу.
Мой месседж, который я повторяю на каждом проекте: делать рекламу без UTM в 2026-2027 году — то же самое, что выкинуть деньги в урну. Вы потратите бюджет, получите заявки, но не поймете, что именно сработало — и не сделаете правильных выводов на следующий месяц.
По официальной справке Директ подставляет в ссылку значения в фигурных скобках автоматически — при клике система сама заполняет параметр реальным значением. Вам не нужно ничего вычислять вручную, только один раз прописать переменную в ссылке.
Я собрал полную таблицу — пригодится, чтобы свериться, какой параметр за что отвечает и где он вообще доступен.
| Параметр | Что означает | Где доступен |
|---|---|---|
{campaign_id} |
ID кампании | везде |
{campaign_name} |
название кампании | везде |
{campaign_name_lat} |
название кампании транслитом | везде |
{campaign_type} |
тип кампании | везде |
{gbid} |
ID группы объявлений | везде |
{ad_id} / {banner_id} |
ID объявления | везде |
{creative_id} |
ID креатива | везде |
{keyword} |
ключевая фраза показа | Поиск, ретаргетинг |
{phrase_id} |
ID ключевой фразы | Поиск, ретаргетинг |
{match_type} |
тип соответствия фразы | Поиск |
{matched_keyword} |
фактически подобранная фраза | Поиск |
{retargeting_id} |
ID условия ретаргетинга/аудитории | ретаргетинг, аудитории |
{adtarget_id} |
ID условия нацеливания | РСЯ, ретаргетинг |
{coef_goal_context_id} |
ID корректировки ставок | ретаргетинг, аудитории |
{position} |
позиция показа в блоке | только Поиск |
{position_type} |
тип блока показа | только Поиск |
{source} |
домен площадки показа | везде (на Поиске — none) |
{source_type} |
тип площадки: поиск/сеть | везде |
{device_type} |
тип устройства | везде |
{region_id} / {region_name} |
ID и название региона показа | везде |
{yclid} |
ID клика Директа (автопометка) | везде |
{position} и {position_type} работают ТОЛЬКО на Поиске. Если у вас смешанная кампания (Поиск + РСЯ), на показах в сетях эти поля в ссылке придут пустыми — просто «pos:» без значения после. Это не баг вашей метки, так устроен сам Директ. Спутать пустое значение с «метка не сработала» — частая ошибка при чтении первых отчетов.По той же справке: если итоговая ссылка превысит 4096 байт, Директ передаст только значения меток yclid и openstat — остальные динамические параметры тихо обнулятся. Держите это число в голове, вернемся к нему в разделе про потерю данных.

Вот метка, которую я собираю на большинстве своих проектов — сразу целиком, а дальше разберу по кусочкам:
/?utm_source=yandex_product_date260626&utm_medium={source_type}&utm_campaign={campaign_name_lat}|{campaign_id}&utm_term={keyword}&utm_content=gid:{gbid}|aid:{ad_id}|seg:{retargeting_id}|site:{source}|dev:{device_type}|pos:{position_type}{position}|reg:{region_id}&cm_id={campaign_id}_{gbid}_{ad_id}_{phrase_id}_{retargeting_id}_{source}_{source_type}_{device_type}_{position_type}_{region_id}
Выглядит громоздко, согласен. Но логика простая: как можно больше данных. Особенно в эпоху нейросетей — даже просто по меткам можно попросить ИИ разобрать, что происходит в кампании, без захода в десяток отчетов Директа.
yandex_product_date260626 — сюда я закладываю сразу три вещи: канал (yandex), продукт (какую услугу или направление рекламирую) и дату старта продвижения (260626 — 26 июня 2026 года). В моей практике это экономит время при разборе через полгода: не нужно лезть в историю кампаний, чтобы понять, когда именно запустили эту связку.
{source_type} — Директ сам подставит сюда «search» или «context», в зависимости от того, где показалось объявление: на Поиске или в сетях. Это первое разделение, которое сразу видно в отчете Метрики, еще до всех остальных деталей.
{campaign_name_lat}|{campaign_id} — транслитерированное название и цифровой идентификатор через вертикальную черту. Название — чтобы глазами быстро понять, что за кампания, ID — чтобы однозначно ее найти, даже если название задваивается (у меня бывали кампании с одинаковыми именами на разных проектах).
{keyword} — стандартный параметр, заполняется только на Поиске и в ретаргетинге. На чистых показах в РСЯ будет пустым — там нет ключевых фраз показа в привычном смысле.
Здесь у меня самая плотная часть метки — семь вложенных полей через вертикальную черту, у каждого свой короткий префикс:
gid:{gbid} — ID группы объявленийaid:{ad_id} — ID объявленияseg:{retargeting_id} — ID сегмента ретаргетинга/аудиторииsite:{source} — домен площадки показа в РСЯdev:{device_type} — тип устройстваpos:{position_type}{position} — тип блока и позиция (только Поиск)reg:{region_id} — регион показаПо факту: это моя система расшифровки — префикс перед двоеточием сразу говорит, что за число дальше, не нужно запоминать порядок полей.
{campaign_id}_{gbid}_{ad_id}_{phrase_id}_{retargeting_id}_{source}_{source_type}_{device_type}_{position_type}_{region_id} — десять значений через нижнее подчеркивание одной строкой. Важная оговорка: cm_id — это не официальная фича Директа, а мой собственный параметр сверху пяти стандартных UTM. Похожий прием используют и на других площадках: у ВК есть составная метка вида ID кампании и ID объявления через подчеркивание, у зарубежных платформ — похожая связка через ID кампании, группы и объявления. Смысл один: одна строка, из которой можно восстановить весь путь показа, не собирая данные из разных полей.
Если не хочется собирать метку с нуля, вот три рабочих шаблона под конкретные ниши услуг. Меняете только utm_source под свой продукт и дату старта — остальное можно копировать как есть.
| Ниша | Шаблон utm_source | Особенность |
|---|---|---|
| Салон/студия (нейл, барбер) | yandex_zapis_date260626 |
Продукт — «запись», часто ведут на форму записи, а не на сайт целиком |
| Автосервис | yandex_remont_date260626 |
Продукт — конкретная услуга (ремонт/ТО), меняется по сезону кампаний |
| Онлайн-школа | yandex_kurs_date260626 |
Часто несколько продуктов одновременно — в source стоит уточнять курс/направление |
Остальная часть метки (utm_medium, utm_campaign, utm_term, utm_content, cm_id) у всех трех ниш одинаковая — берете блок из раздела 3 целиком, меняете только источник.

utm_source «для надежности» — источник должен оставаться источником трафика, а не превращаться в дублирующий идентификатор. Это загрязняет отчет Метрики: вместо пяти-семи чистых значений source вы получаете десятки уникальных строк.Расскажу честно про случай, который у меня был на проекте по кибербезопасности. Метки собрали, протестировали — тест прошел нормально, переходы фиксировались. А на следующий день статистики просто не было. Совсем.
Стал разбираться — и оказалось: сайт на уровне кода принимал URL только до определенной длины. Динамические метки ведь тянут данные разной длины — у одного клика короткий домен площадки, у другого длинный, у одной кампании короткое название, у другой длинное. В моменте это давало ссылки разной суммарной длины, и часть из них сайт просто обрезал или отбрасывал целиком.
Вывод, который я для себя закрепил: проверяйте и чините ограничение именно на стороне сайта. Не режьте длину самой метки — вы срежете данные, которые потом будете восстанавливать вручную. Лучше один раз поднять лимит на сервере, чем терять статистику каждый день.

| Где ограничение | Значение |
|---|---|
| Директ (собственный лимит на URL) | 4096 байт — после превышения остаются только yclid и openstat |
nginx (large_client_header_buffers, по умолчанию) |
8 КБ на одну строку запроса, иначе ошибка 414 |
Apache (LimitRequestLine, стандартная сборка) |
до 8190 символов |
| Internet Explorer (с версии 4) | 2083 символа |
| Firefox и Safari | практического лимита нет |
Как видите, самый узкий официальный порог — это лимит самого Директа в 4096 байт, а не браузер и обычно не сервер. Но в моем кейсе проблема была вообще не в этих стандартных значениях — а в собственном коде сайта, который резал URL еще жестче любых дефолтов. Это специфика конкретного проекта, а не общее правило для всех сайтов — но проверить стоит на любом.
Еще одна частая причина потери данных — редирект. Если ссылка из объявления ведет не напрямую на страницу, а через промежуточный редирект (например, с www на без-www или с http на https без явной настройки), часть систем при редиректе теряет query-параметры. Проверяйте: метка, вставленная в объявление, должна долетать до финальной страницы без изменений — сверяйте вручную через адресную строку браузера.
Название кампании на кириллице в динамическом параметре Директ автоматически кодирует в URL-encoding — это нормально и не ошибка. Но если вы вручную вписываете в метку кириллические слова без транслита, часть систем аналитики может отображать их некорректно. Я поэтому и использую именно {campaign_name_lat} — транслитерированный вариант, а не кириллическое название.
После запуска метки я всегда захожу в отчет «Источники, сводка» в Метрике и смотрю, что параметры реально долетают и раскладываются по нужным колонкам. Не открылось на следующий день — берите ссылку прямо из объявления через предпросмотр и проверяйте руками, что там в конце строки.
Еще один момент, который часто упускают: домен сайта может редиректить с http на https или добавлять слэш в конце адреса при обработке запроса. Каждый такой промежуточный переход — это лишний повод потерять параметры, если редирект настроен через 302 без явного сохранения query-строки. Я всегда проверяю итоговую ссылку в режиме инкогнито браузера — так исключается кэш и видно реальное поведение сайта, а не то, что подсказывает автозаполнение.
Директ и так автоматически подставляет параметр yclid в ссылку каждого клика — многие считают, что этого достаточно, и отдельные UTM-метки не нужны. Я с этим не согласен, и вот почему.
yclid — это просто идентификатор клика, привязанный к системе Директа. Он хорошо работает для связки с офлайн-конверсиями и Директ-отчетами напрямую. Но как только вам нужно свести данные из нескольких источников в одном отчете Метрики или другой системы аналитики — сравнить Директ с рекламой во ВКонтакте, например, — читаемая UTM-метка удобнее: там сразу видно источник, канал, кампанию словами, а не только внутренний ID Яндекса.
По факту: у меня в проектах работают оба механизма одновременно — yclid никуда не убираю (он и не мешает), а поверх ставлю свою UTM-разметку. Автопометка не заменяет ручную аналитическую разметку, она ее дополняет. И динамика внутри UTM все равно обязательна — иначе вы просто вручную повторяете то, что Директ и так готов подставить сам.
Возвращаясь к теме, которую поднял в разделе 3: два года назад я прописывал метки руками под каждую кампанию. Работало, но со временем набралась статистика ошибок — где-то опечатался в названии, где-то забыл поменять ID при копировании кампании на новый проект.
Сейчас мой подход комбинированный. Руками прописываю только то, что несет смысловую нагрузку и не меняется автоматически — канал, продукт, дата старта в utm_source. Все остальное, что Директ может подставить сам — ID кампании, группы, объявления, устройство, регион, позицию — отдаю на динамику.
В динамике нет варианта ошибиться. Директ подставит именно то значение, которое реально было на клике — не то, что я запомнил или скопировал из прошлой кампании.
Единственный момент, за которым нужно следить при таком подходе — это как раз длина итоговой ссылки (раздел 5) и то, что часть динамических параметров работает только для определенного типа кампании (раздел 2). В остальном — чем больше на автомате, тем меньше человеческого фактора в разметке.
Отдельно остановлюсь на кампаниях, где включены и Поиск, и сети одновременно — это самый частый сценарий у малого и среднего бизнеса, потому что разделять кампании по типу площадки решаются не все. В такой кампании один клик приходит с заполненными {position}/{position_type} и пустым {source} (это Поиск), а следующий — наоборот, с доменом площадки в {source} и пустой позицией (это РСЯ). В отчете это выглядит как разные строки одной и той же кампании — и это нормально, не ошибка разметки.
Единственное, что я рекомендую: не пугаться пустых значений при первом просмотре отчета. Прежде чем решить, что метка «не работает», отфильтруйте отчет по {source_type} и посмотрите на Поиск и РСЯ отдельно — там, где положено, значения будут на месте.
Дарим материал «130 методов привлечения клиентов из интернета». Нажмите кнопку «Получить» и подпишитесь на рассылку.
Перед тем как запустить кампанию с новой меткой, я прохожу короткий чек-лист. Занимает пять минут, а спасает от потери статистики на несколько дней вперед — именно столько обычно проходит, прежде чем кто-то замечает пустой отчет.
utm_content.Важный момент: этот чек-лист не заменяет тестовый запуск на маленький бюджет — рекомендую сначала пустить кампанию на пару часов с небольшим дневным лимитом, проверить разметку, и только потом заливать основной бюджет. Так вы поймаете проблему на паре сотен рублей, а не на десятках тысяч.
Если вы дочитали до этого момента — самое время предложить вам подписаться. В Telegram-канале я разбираю связки трафика, аналитики и рекламы на реальных проектах.
Услуга: настройка Яндекс.Директ под ключ
Настройка Яндекс.Директ — это не «включить рекламу в кабинете». Это сборка рабочей [
Открыть дело →
ЯНДЕКС.ДИРЕКТ
Аудит контекстной рекламы: как проверить, что Директ не сливает бюджет
Привет! Я Евгений Вязников, эксперт по performance-маркетингу с 2017 года. Работаю с
Открыть дело →
ВЕБ-АНАЛИТИКА
SEO-продвижение сайта: что входит в услугу и сколько стоит
Привет! Меня зовут Евгений Вязников — с 2017 года занимаюсь цифровым маркетингом: [&
Открыть дело →
ЯНДЕКС.ДИРЕКТ
Реклама автосервиса: как привлечь клиентов на ТО и ремонт
Привет! Я Евгений Вязников — с 2017 года занимаюсь цифровым маркетингом: таргетирова
Открыть дело →
ЯНДЕКС.ДИРЕКТ
Мастер кампаний в Яндекс.Директе: настройка и срезы статистики
Привет! Я Евгений Вязников, эксперт по performance-маркетингу с 7-летним опытом. Раб
Открыть дело →
ВЕБ-АНАЛИТИКА
Сквозная аналитика на Метрике: как собрать без платного сервиса
Меня зовут Евгений Вязников — с 2017 года занимаюсь цифровым маркетингом: таргетиров
Открыть дело →
ВКОНТАКТЕ
Реклама онлайн-школы: каналы, бюджет и рабочие связки
Коротко: реклама онлайн-школы в 2026 в РФ почти всегда держится на двух […]
Открыть дело →
Причёсанные кейсы дозревают здесь, на сайте. А в канале работа идёт в моменте: цифры в тот же день, честные провалы, приколы из практики и шаблоны, которые я делаю себе и отдаю бесплатно.


Статья дозревала неделями. В канале всё в моменте: запускаю — показываю, сливаю — тоже показываю. С цифрами и приколами.
Подписаться на рассылку
Дайджесты, кейсы и советы по рекламе — раз в месяц.
Вы подписаны!
Ближайший дайджест придёт на
Ответим в течение рабочего дня — разберём цифры и предложим план.
Кампании, которые я веду прямо сейчас: гипотезы, цифры в тот же день, честные провалы и бесплатные шаблоны. Причёсанное — на сайте, живое — в канале.
В обоих одно и то же: работа в моменте, цифры в тот же день, приколы и бесплатные шаблоны.