UTM-разметка без хаоса: единый регламент меток для команды
Если поискать «UTM-разметка», выдача расскажет, что такое пять меток, и предложит генератор ссылок. Это полезно ровно один раз — пока метку ставит один человек в одной кампании. Как только каналов становится десять, а рук в команде несколько, генератор перестаёт помогать: он собирает ссылку, но не диктует, что в неё писать. И вот подрядчик пишет Yandex, штатный маркетолог — yandex, а стажёр в порыве честности — Яндекс. Формально все правы. Фактически в отчёте появилось три разных источника вместо одного, и сумма по «Яндексу» теперь не сходится ни с чем. Эта статья не про то, что такое UTM. Она про регламент — документ, который делает отчёты воспроизводимыми, когда меток тысячи.
- UTM-метки — первичные данные всей вашей аналитики. Кривая метка искажает отчёт целиком, и починить это задним числом почти невозможно.
- Главный враг — регистр и синонимы: Yandex, yandex и Яндекс становятся тремя источниками и рвут сумму по каналу.
- Решение — не генератор, а регламент: закрытый словарь допустимых source и medium плюс единые правила именования кампаний.
- Внутренние ссылки на своём же сайте UTM не размечают — иначе сессия рвётся, а исходный источник переписывается на внутренний.
- В метки не кладут персональные данные, длинные названия и ручные приписки. Метка — это код из словаря, а не свободный текст.
- У регламента должен быть владелец и процедура проверки. Исторические метки не трогают в базе — их нормализуют на уровне отчёта.
Дальше — по порядку: что класть в каждый из пяти параметров, почему регистр решает всё, как собрать закрытый словарь значений и правила именования, чего в метках быть не должно и кто за всё это отвечает.
Почему генератор ссылок не решает проблему
UTM-метки кажутся технической мелочью, но по сути это первичные данные всей вашей маркетинговой аналитики. Именно из них система понимает, откуда пришёл человек. Если метка проставлена криво, ошибка не остаётся в метке — она протекает дальше: в отчёт по каналам, в расчёт стоимости привлечения, в атрибуцию сделки. А главное, эту ошибку почти нельзя исправить потом: клик уже случился, сессия записана, и то, что источник назвали fb вместо facebook, останется в базе навсегда.
Генератор ссылок помогает собрать URL без опечаток в синтаксисе — не потерять ?, не перепутать &. Но он не знает вашей договорённости о том, что источник Яндекса называется yandex строчными, кампания собирается из четырёх частей через дефис, а слово «распродажа» пишется транслитом. Эту договорённость держит не инструмент, а документ. Пока команда маленькая, договорённость живёт в голове одного человека — и рушится ровно в тот день, когда появляется второй.
Регламент UTM — это не бюрократия. Это единственный способ сделать так, чтобы отчёт, собранный сегодня, означал то же самое, что отчёт за прошлый год.
Пять параметров и что в каждый класть
У UTM пять параметров. Три обязательных — source, medium, campaign — и два дополнительных, content и term. Ошибка новичка — относиться к ним как к свободным полям для заметок. На самом деле каждый параметр отвечает на строго определённый вопрос, и смешивать их нельзя: если в medium положить название площадки, а в source — тип трафика, отчёт по типам каналов рассыплется. Ниже — шаблон регламента: что кладём в каждый параметр, пример и правило, которое команда обязана соблюдать.
| Параметр | Что кладём | Пример | Правило |
|---|---|---|---|
| utm_source | Источник — конкретная площадка или система, откуда пришёл переход | yandex, google, vk, telegram, email | Только строчные, только из закрытого словаря источников |
| utm_medium | Тип трафика — как именно пришёл переход, а не откуда | cpc, banner, social, email, referral | Только строчные, только из закрытого словаря типов |
| utm_campaign | Кампания — по единой структуре из частей, чтобы отчёт группировался | spring-sale-msk-retarget | Латиница, дефис-разделитель, части в фиксированном порядке |
| utm_content | Различение объявлений/креативов внутри одной кампании | banner-320x50, cta-buy, variant-b | Заполняется, когда нужно отличить два объявления кампании |
| utm_term | Ключевой запрос (в основном для платного поиска) | kupit-divan, {keyword} | Только для поиска; в остальных каналах оставляют пустым |
Не заполняйте параметр просто потому, что он есть. Пустой utm_term в соцсетях лучше, чем мусор в нём. Регламент задаёт не только формат значений, но и то, какие параметры в каком канале обязательны, а какие остаются пустыми.
Регистр и синонимы: почему Yandex, yandex и Яндекс — три источника
Системы аналитики сравнивают значения меток как обычные строки, посимвольно и с учётом регистра. Для них Yandex, yandex и Яндекс — три разные строки, а значит три разных источника. В отчёте они встанут тремя отдельными строками, и переходы из Яндекса разложатся по ним как попало: часть подрядчик пометил с большой буквы, часть — с маленькой, часть — кириллицей. Сумма по «Яндексу» перестаёт существовать: чтобы её получить, вам придётся вручную догадываться, что эти три строки — на самом деле одно, и складывать их руками при каждой выгрузке.
То же самое происходит с синонимами. facebook, fb и facebook.com — один источник для человека и три для системы. Умножьте это на десяток площадок и несколько человек в команде — и отчёт по каналам превращается в список из сорока строк, половина которых дубли. Аккуратностью это не лечится: аккуратность заканчивается на третьем подрядчике. Спасает закрытый словарь — заранее утверждённый список допустимых значений, за пределы которого выходить нельзя.
- Единый регистр — только строчные. Раз и навсегда: все значения source и medium пишутся строчными буквами. Это простое правило убирает половину дублей.
- Закрытый словарь source. Заранее перечислены все допустимые источники:
yandex,google,vk,telegram,emailи так далее. Нового источника нет в словаре — сначала добавляем в словарь, потом используем. - Закрытый словарь medium. Тип трафика тоже из списка:
cpc(платный клик),banner(медийка),social(бесплатные соцсети),email,referral,cpm. Никакихsocial_ads,soc,smmвперемешку. - Один синоним на сущность. Facebook — всегда
facebook, никогдаfb. ВКонтакте — всегдаvk. Выбор произвольный, но он делается один раз и фиксируется в документе.
Хороший тест словаря: дайте двум разным членам команды разметить одну и ту же ссылку на рассылку из Telegram. Совпали source и medium до буквы — словарь работает. Получилось telegram/social у одного и tg/messenger у другого — словаря по сути нет.
Правила именования кампаний
Source и medium закрываются словарём, но campaign словарём не закроешь: кампаний много, они новые каждый месяц. Список значений тут не поможет — работает структура, единый шаблон, по которому имя кампании собирается из фиксированных частей. Когда все кампании названы по одной схеме, отчёт можно группировать: по гео, по типу кампании, по акции. Когда каждый называет как хочет — Весенняя распродажа, vesna2026, SALE_final_FINAL — группировать нечего, и аналитика сводится к чтению списка глазами.
Разумная структура имени — это несколько частей в фиксированном порядке, разделённых одним символом. Например: акция-продукт-гео-тип, что даёт spring-sale-sofa-msk-retarget. Порядок частей важнее их состава: даже если не все части заполнены, единый порядок позволяет системе и человеку читать имя одинаково. Правила, которые стоит зафиксировать:
- Только латиница, транслитерация кириллицы. Кириллица в URL кодируется в нечитаемые
%D0%92и ломается при копировании. «Распродажа» становитсяrasprodazhaили корочеsale— но по единому правилу, а не как придумалось. - Никаких пробелов. Пробел в URL превращается в
%20или+и создаёт разные версии одной кампании. Разделитель между частями — один выбранный символ, обычно дефис. - Один разделитель. Выберите дефис
-или подчёркивание_и не смешивайте.spring-saleиspring_sale— снова две разные кампании для системы. - Фиксированный порядок частей. Если решили «акция-гео-тип», то так во всех кампаниях. Переставленные местами части делают группировку невозможной.
- Стабильные сокращения. Москва — всегда
msk, ретаргетинг — всегдаretarget. Сокращения тоже часть словаря, а не творчество на месте.
Чего в метках быть не должно и где их не ставят
Регламент — это не только про то, что класть, но и про то, чего класть нельзя. UTM-метка попадает в URL, а URL виден в браузере, логах, системах аналитики и часто передаётся третьим сторонам. Поэтому есть жёсткие запреты:
- Никаких персональных данных. Имя, телефон, email, идентификатор клиента в метке — это утечка. Метка описывает канал и кампанию, а не конкретного человека. Персональные данные живут в CRM, а не в URL.
- Никаких длинных названий-предложений. Метка — это код из словаря, а не заголовок.
utm_campaign=Большая+весенняя+распродажа+только+до+конца+месяцанечитаема, ломается и не группируется. Кодируйте смысл короткими частями. - Никаких ручных приписок. «Допишу-ка я сюда дату» или «поставлю пометку для себя» — так рождаются
yandex-new,yandex-test2,yandex-fixed. Всё, что нужно различать, различается черезcampaignиcontentпо правилам, а не приписками вsource. - Никаких пробелов, спецсимволов и заглавных. Всё, что кодируется в URL по-разному на разных устройствах, рано или поздно даст дубль. Разрешённый набор — строчная латиница, цифры и выбранный разделитель.
Внутренние ссылки UTM не размечают
Отдельная и частая ошибка, которая тихо разрушает атрибуцию: разметка UTM на ссылках внутри собственного сайта. Логика кажется соблазнительной — «хочу понять, сколько людей нажимает на этот баннер на главной». Но UTM для этого не предназначены. Когда пользователь кликает по внутренней ссылке с UTM, происходит две плохие вещи.
Во-первых, система аналитики видит новую UTM-метку и начинает новую сессию — прежняя обрывается прямо в середине пути пользователя по сайту. Во-вторых, и это хуже, исходный источник переписывается: человек, который пришёл из рекламы Яндекса, после клика по внутренней ссылке с меткой source=site&medium=banner внезапно числится пришедшим с вашего же сайта. Реклама, которая реально привела клиента, теряет заслугу, а внутренний баннер её присваивает. При модели last-click это прямо искажает, какому каналу засчитана продажа.
UTM-метки — только для внешних ссылок, которые ведут на ваш сайт снаружи: реклама, рассылки, посты, партнёрские размещения. Клики внутри сайта измеряют другими средствами (события, цели, карты кликов), но никогда не UTM.
Кто отвечает и что делать со старыми метками
Документ, у которого нет владельца, устаревает за месяц. У регламента UTM должен быть ответственный — обычно это маркетолог-аналитик или руководитель маркетинга. Он держит словарь, добавляет в него новые источники по заявке, а не по факту, и проверяет разметку. Проверяют разметку регулярно, по расписанию: раз за период выгружаете список уникальных значений source и medium и глазами ищете в нём то, чего нет в словаре. Появился Yandex с большой буквы или новый fb — значит, кто-то разметил в обход регламента, и это повод для разговора, а не для молчаливого исправления.
Отдельный вопрос — что делать с историческими метками, накопленными до регламента. Соблазн переписать их в базе понятен, но так делать нельзя: клики и сессии уже произошли, и менять первичные данные задним числом — значит терять достоверность истории. Правильный путь — нормализовать источник на уровне отчёта, а саму базу не трогать: в слое, где данные готовятся к показу, свести Yandex, yandex и Яндекс к одному yandex правилом маппинга. Сырые данные остаются нетронутыми, а отчёт показывает чистую картину. Это же правило маппинга подстрахует вас и на будущее — на случай, если очередной дубль всё-таки просочится.
Как внедрить регламент
Одним письмом «теперь размечаем правильно» регламент не внедряется. Это процесс, у которого есть словарь, владелец и проверка. Ниже — что стоит спросить со своей команды или подрядчика, по шагам:
- 01Потребуйте выгрузить текущую свалку меток
Пусть команда достанет все уникальные значения source, medium и campaign за последний год. Этот список — честная картина хаоса: вы своими глазами увидите, сколько на самом деле версий у «Яндекса» и по скольким схемам названы кампании. С этого начинается любой регламент.
- 02Утвердите закрытые словари source и medium
На основе выгрузки синонимы сводят к одному значению и фиксируют список допустимых источников и типов трафика — а вы это проверяете и утверждаете. Всё строчными. Это ядро документа: за пределы двух списков команда выходить не может.
- 03Добейтесь описанной структуры имени кампании
В документе должны быть зафиксированы части, их порядок, разделитель, правило транслитерации и таблица стабильных сокращений (msk, retarget и прочих). Попросите приложить три-четыре готовых примера — по ним команда будет собирать новые имена.
- 04Проверьте, что запреты и границы прописаны
В регламенте должно быть явно перечислено, чего в метках быть не должно: персональных данных, длинных названий, ручных приписок, пробелов. Отдельным пунктом — запрет на UTM во внутренних ссылках. Запреты тут весят столько же, сколько разрешения.
- 05Назначьте владельца и процедуру проверки
Один ответственный за словарь и регулярную сверку. Договоритесь с ним, как часто выгружаются уникальные значения на предмет чужаков и как добавляется новый источник — через заявку владельцу, а не явочным порядком.
- 06Поручите настроить нормализацию для истории
В слое отчётности заводят маппинг, который сводит исторические дубли к каноническим значениям словаря. Сырые данные никто не трогает — к порядку приводят только представление. Этот же маппинг ловит будущие ошибки. Проследите, чтобы его сделали.
Частые вопросы
Чем регламент отличается от генератора UTM-ссылок?
Генератор помогает собрать URL без синтаксических ошибок, но не знает ваших договорённостей. Он не подскажет, что источник Яндекса пишется yandex строчными, а кампания собирается из четырёх частей через дефис. Регламент — это как раз документ с этими договорённостями: закрытый словарь значений и правила именования. Генератор без регламента просто быстрее плодит разнобой.
Почему нельзя просто договориться устно, зачем документ?
Устная договорённость живёт в голове одного человека и рушится, когда появляется второй, а тем более подрядчик со стороны. Документ переживает смену команды: новый маркетолог открывает регламент и размечает так же, как размечали год назад. Именно это делает отчёты воспроизводимыми во времени — а воспроизводимость и есть цель.
Что делать, если метки уже год ставили как попало?
Не переписывать историю в базе — это разрушит достоверность прошлых данных. Вместо этого нормализуйте значения на уровне отчёта: заведите маппинг, который сводит Yandex, yandex и Яндекс к одному yandex при подготовке данных к показу. Сырые клики остаются нетронутыми, а отчёт становится чистым. Параллельно вводите регламент для всего нового трафика.
Можно ли размечать UTM ссылки в меню и баннерах на своём сайте?
Нет. UTM на внутренних ссылках рвут сессию и переписывают исходный источник: клиент, пришедший из рекламы, после клика по внутреннему баннеру начинает числиться пришедшим с вашего же сайта. Реклама теряет заслугу за приведённого клиента. Клики внутри сайта измеряют событиями и целями, а UTM оставляют только для внешних ссылок.
Насколько подробным должен быть словарь значений?
Достаточно подробным, чтобы закрыть все реальные источники и типы трафика, но не настолько, чтобы им было невозможно пользоваться. Обычно это полтора-два десятка source и с десяток medium. Ключевое свойство — закрытость: новых значений на лету не появляется, они добавляются в словарь по заявке владельцу. Открытый словарь, куда каждый дописывает что хочет, — это отсутствие словаря.
Кто в компании должен отвечать за регламент?
Один конкретный человек — как правило, маркетолог-аналитик или руководитель маркетинга. Он держит словарь, добавляет новые источники, проводит регулярную сверку уникальных значений и решает спорные случаи именования. Без единого владельца документ устаревает за месяц, а словарь снова расползается в свалку синонимов.
Регламент сам по себе даст точную аналитику?
Нет, но без него точная аналитика невозможна. Чистая разметка — это фундамент: она гарантирует, что источник визита не потеряется и не задвоится на входе. Что делать с этими данными дальше — сводить с расходами, строить сквозную аналитику, отличать созданную продажу от перехваченной экспериментом — это следующие слои. Но все они наследуют качество UTM: грязная метка отравляет всё, что построено поверх.
UTM-разметка выглядит мелочью ровно до того дня, когда метки начинает ставить второй человек. Дальше у вас два исхода. Либо размечаете как получится и каждый месяц вручную пересобираете отчёт, гадая, сколько на самом деле было «Яндексов». Либо держите регламент и получаете цифры, которым можно верить. Дорогих инструментов и сложной настройки регламент не требует — нужен один документ, один владелец и дисциплина следовать закрытому словарю. Пожалуй, это самый дешёвый способ навести порядок в аналитике. И почти всегда самый недооценённый.
Хотите навести порядок в своём маркетинге?
30 минут, бесплатно: разберём вашу ситуацию и решим, нужен ли полный разбор.
Забронировать звонок