Ссылка с хвостом ?utm_source=... — это способ спросить у статистики, откуда
пришёл человек. Спросить можно двумя путями: дописать хвост руками или
открыть компоновщик — страницу с пятью полями, которая соберёт адрес за вас.
Разницы вроде нет: поля те же, буквы те же. Мы прогнали через три компоновщика одинаковый ввод и получили три разные ссылки. Ниже — что разошлось, чем это грозит отчёту и как выглядит верный вариант по документам самого Яндекса.
Один ввод, три разных ответа
Во все три формы вписали одно и то же: адрес https://nexforce.ru/,
источник «Яндекс», канал «CPC», кампанию «осенняя акция», ключевую фразу
«пластиковые окна». Русскими словами и с заглавными буквами — ровно так, как
пишет человек, который открыл форму впервые.
Вот что вышло на выходе.
| Компоновщик | utm_source | utm_campaign | Схема |
|---|---|---|---|
| utmurl.ru | yandeks | osennyaya_akciya | https сохранена |
| tilda.cc | %D1%8F%D0%BD... | %D0%BE%D1%81...+%D0%B0%D0%BA... | https сохранена |
| calltouch.ru | яндекс | осенняя акция | https заменена на http |
| Вручную | Яндекс | осенняя акция | как написали |
Первый транслитерировал русские слова и склеил пробел подчёркиванием. Второй
оставил кириллицу, но закодировал её процентами, а пробел заменил плюсом.
Третий не тронул ни буквы, ни пробел — только опустил заглавные, зато
подменил протокол: вписали адрес по https, получили http. Проверили
трижды, результат один и тот же.
Общее у всех трёх — нижний регистр. «Яндекс» стал «яндекс», «CPC» стало «cpc». Дальше начинается разное.
Что с этой ссылкой делает браузер
Хвост со скобками, пробелами и русскими буквами в адресной строке не живёт: браузер приводит его к безопасному виду сам. Мы открыли десять вариантов подряд и посмотрели, во что превращается написанное.
Русское слово яндекс браузер развернул в %D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81,
пробел заменил на %20 — не на плюс. Заглавные буквы уцелели и в значениях, и
в названиях параметров: UTM_SOURCE остался UTM_SOURCE.
Отсюда первое следствие. Ссылка от Тильды несёт пробел как +, а та же
кампания, набранная руками и открытая в браузере, придёт с %20. Для
статистики это два разных значения — и одна осенняя акция превратится в две
строки отчёта с половиной цифр в каждой.
Что об этом написано у Яндекса
Мы не угадываем правила, а берём их из справки.
О регистре сказано без вариантов: «Метрика различает регистр, в котором
указано значение UTM-метки. Например, utm_source=Vkontakte не будет
соответствовать метке utm_source=vkontakte». То есть общая привычка
компоновщиков опускать заглавные — не косметика, а единственный способ не
раздробить кампанию.
О языке значений — в справке Директа: «В значениях используйте латиницу — пишите на английском или транслитерацией, при написании слов на кириллице данные могут искажаться. Не используйте заглавные буквы. Разделяйте слова подчеркиваниями ( _ ) или дефисами ( - )». Из трёх проверенных этому совету следует один — тот, что транслитерирует.
О структуре: «Первый параметр всегда добавляется после символа „?“, все последующие — после „&“. Также в метках должны отсутствовать лишние символы (например, %2B)». И отдельно: «Содержимое меток распознается корректно, если на сайте используется кодировка UTF-8».
О значении источника. У Метрики есть список слов, по которым она узнаёт
площадку; для поиска Яндекса там указано yandex. И рядом оговорка: если в
utm_source стоит значение не из списка, «Метрика отнесет визиты к источнику
Другая поисковая система: определено по меткам». Ни yandeks, ни яндекс, ни
Яндекс в список не входят — а именно их выдали два компоновщика из трёх.
Наконец, ловушка, которую не предскажешь: «Иногда при клике метка
utm_source=yandex сокращается до utm_source=ya». Справка Директа поясняет,
что сокращение возможно при любом значении: yandex_dtm может стать ya_dtm.
Совет там же — заранее писать ya, если важно единообразие.
Три места, где ссылка рвётся тихо
Хвост после решётки. За # начинается якорь, а не параметры. Адрес
site.ru/#anchor?utm_source=test браузер оставляет нетронутым, utm_source
внутри него — кусок якоря. Учёт хеша включается отдельной галкой в настройках
счётчика; по умолчанию галка снята.
Второй знак вопроса. В адресе он бывает один. Строка
?page=1?utm_source=test — единственный параметр page со значением
1?utm_source=test. Разделитель между параметрами — &.
Опечатка в названии. utm_sourse вместо utm_source не ошибка для
браузера: адрес откроется, страница покажется, человек досчитается. Просто
источник у визита будет пустой. Ничего не сломается заметно — и это худший
вид поломки.
К тому же ряду относится неполный набор. Справка Директа предупреждает: для
стандартного отчёта нужны все параметры, а если заполнено всё, кроме
utm_content, данные по utm_term придётся доставать перестройкой отчёта.
Где метка теряется целиком
Отдельное правило про визит: «Яндекс Метрика получает информацию о метке из первого просмотра в течение визита посетителя. Если в первом просмотре метки нет, то она не учитывается для всего визита».
Читается правило так. Посетитель пришёл по размеченной ссылке, но первой
сработала переадресация — скажем, с http на https либо со старого адреса
на новый — и хвост по дороге отвалился. Источник потерян для целого визита, а
не для одной страницы: дальше человек ходит по сайту «ниоткуда».
Отсюда цена подмены протокола у третьего компоновщика. Сайт на https
перекинет заход с http на себя же. Аккуратная переадресация перенесёт и
хвост, неаккуратная — потеряет. Ссылка отработает, источник исчезнет.
Чего мы проверить не смогли
Хотелось довести замер до конца: пропустить десять вариантов через свой сайт и посмотреть, что из них доехало до отчёта. Не вышло — и причина нашлась в собственном коде.
Счётчик у нас не стартует, пока посетитель не согласился на аналитические куки, и отдельно не стартует для браузера без интерфейса: заслон поставлен в сентябре, когда выяснилось, что наши же автоматические проверки Метрика считала людьми. Десять заходов дали ноль обращений к серверу статистики — счётчик просто не загрузился. В отчёте за тот день пусто даже с включённым показом роботов.
Второй путь — посмотреть на уже накопленное — тоже закрыт: за три месяца на двух наших счётчиках не оказалось ни одного визита с UTM-меткой. Мы не покупаем рекламу, размечать нечего.
Вывод честнее таблицы совпадений: проверять метку нужно руками, обычным браузером, на собственном сайте. Робот вместо человека покажет пустоту — ни у нас, ни у любого владельца счётчика, закрытого согласием на куки.
Как собрать, чтобы не переделывать
Порядок, который следует из документов и из замера:
- Значения — латиницей, строчными. Транслитерация, не перевод.
- Пробелы заменить:
_или-, одинаково во всех кампаниях. utm_source— из списка Яндекса. Для поиска Яндексаyandex, неyandeks.- Пять параметров заполнены,
utm_contentтоже. - Протокол и написание адреса — рабочие:
https, слеш на конце по факту сайта. - Готовую ссылку открыть в браузере, взглянуть на адресную строку. Появились
%20или+— значение переписать.
Компоновщик всё это ускоряет, но не решает за вас: два из трёх проверенных
выдают utm_source, которого нет в списке Яндекса. Список полезнее формы.
Границы замера
Проверяли 23 сентября 2026 года, три компоновщика из первой десятки выдачи по запросу про компоновщик UTM-меток. Формы меняются: результат верен на дату проверки, и любой из трёх может завтра начать транслитерировать иначе.
Поведение браузера смотрели в одном движке. Кодирование адреса стандартизовано, расхождений с другими браузерами быть не должно — но отдельного замера мы не делали.
Главного замера в статье нет: проверить, что доехало до отчёта, мешает собственный счётчик — тестовые заходы он отвергает. Делать вид, будто замер состоялся, мы не стали. Правила Метрики взяты из справки, а не выведены из наших цифр.
Коротко
Компоновщик решает ровно одну задачу — приводит значения к виду, который не
раздробит отчёт. Делают это все по-разному: из одного ввода вышли
транслитерация, проценты и нетронутая кириллица, а один генератор попутно
понизил протокол до http.
Правила лежат в открытой справке и умещаются в строку: латиница, нижний
регистр, ноль пробелов, пять параметров, utm_source из списка. Соблюдёте
руками — компоновщик лишний. Нарушите — компоновщик не спасёт.
Разметка — половина дела. Вторая половина: размеченный трафик должен приносить заявки. Об этом — «Трафик, которого нет» и разбор конверсии.
