Соглашение об именовании UTM - это набор правил, определяющих, как ваша команда пишет теги кампаний, чтобы один и тот же канал всегда давал одну и ту же строку. Это важно, потому что UTM-значения чувствительны к регистру и свободной формы, а это означает, что ничто не мешает трём людям тегировать один и тот же канал как facebook, Facebook и FB. Инструмент аналитики тогда рассматривает их как три отдельных источника, и число Facebook неверно в трёх местах сразу.
Вот вся проблема в одном предложении: несогласованные теги фрагментируют отчёты. Исправление - не больше дисциплины. Исправление - написанное соглашение плюс инструмент, который его обеспечивает. Основной набор правил краткий. Всё в нижнем регистре. Никаких пробелов, один разделитель. Определите контролируемый словарь для utm_source и utm_medium, чтобы люди выбирали из списка, а не изобретали значения. Исключите персональные данные из URL. Задокументируйте один раз и зафиксируйте там, где создаются ссылки. Остальная часть поста раскрывает каждое правило, даёт таблицу таксономии для копирования и описывает, как обеспечить соблюдение соглашения, чтобы оно выжило в напряжённую неделю запуска.
Это руководство по управлению, дополняющее пошаговое руководство по отслеживанию UTM и пост о функции UTM-конструктора. Те описывают пайплайн и инструментарий. Этот - о самих правилах именования.
Почему соглашение об именовании UTM важно#
Откройте любую GA4-собственность, проводившую кампании год без управления, - найдёте одни и те же руины. В измерении source есть facebook, Facebook, FB, fb, facebook.com и meta, все из которых - один и тот же канал. В medium конкурируют email, Email, e-mail и newsletter за одну идею. Каждый вариант - отдельная строка. Каждая строка несёт срез трафика. Сложить их обратно - ручное, чреватое ошибками занятие на полдня каждый раз, когда кто-то спрашивает «как справился Facebook».
Стоимость не только в неаккуратности. Платные платформы читают ваши данные о конверсиях для оптимизации расходов. Если половина кликов платных соцсетей попадает под utm_medium=social, а другая - под paid-social, GA4 по умолчанию относит часть к органике, платная отчётность занижает, и финансовый вопрос «почему расходы на платный трафик не отражаются в атрибутированной выручке» не имеет чистого ответа. Глубже о том, каким из этих чисел доверять - в аналитика коротких ссылок: что на самом деле измерять.
UTM-параметры стары. Соглашение появилось из Urchin - продукта веб-аналитики, приобретённого Google в 2005 году и превратившегося в Google Analytics. Аббревиатура до сих пор расшифровывается как Urchin Tracking Module. Оригинальный скрипт __utm.js не имел слоя шаблонов и валидации; правило всегда было «вводите согласованно», и инструментарий никогда этого не обеспечивал. Два десятилетия спустя большинство команд по-прежнему полагаются на память. Вот пробел, который закрывает соглашение.
Пять UTM-параметров и что должен содержать каждый#
Есть пять параметров. Три эффективно обязательны для чистой отчётности; два опциональны и регулярно используются неверно. Правильное распределение задач - большая часть борьбы, потому что большинство дрейфа начинается с путаницы о том, какое значение куда относится.
utm_source называет источник клика: конкретную платформу, издание или партнёра. google, newsletter, partner-acme. Отвечает на вопрос «какое свойство отправило этот клик».
utm_medium называет способ попадания: маркетинговую категорию. cpc, email, social, referral, affiliate. Отвечает на вопрос «к какому типу канала это относится». Source - имя собственное, medium - категория, к которой оно принадлежит.
utm_campaign называет инициативу, частью которой является ссылка. spring-sale-2026, q3-product-launch. Это значение, по которому вы разрезаете отчёты, поэтому его формат важнее всего для последующего регулярного выражения.
utm_content различает варианты внутри одной кампании и источника: креатив, позицию, ветвь A/B. hero-banner, carousel-v2, footer-link. Используйте, когда у вас более одной ссылки, указывающей на одно и то же назначение из одной кампании, и нужно различать их.
utm_term создан для ключевых слов платного поиска и лучше применять только для него. Если вы не ведёте платный поиск, оставляйте его null, а не превращайте в мусорный ящик для метаданных, не поместившихся в другое место.
Самая распространённая структурная ошибка - путать source и medium. utm_source=cpc неверно, потому что cpc - категория, а не место. utm_medium=google неверно, потому что google - место, а не категория. Правильная пара: utm_source=google, utm_medium=cpc. Решите правило один раз, запишите его рядом с каждым параметром в документе - и перестановка прекратится.
Стандарты UTM-параметров: регистр, пробелы и разделители#
Три правила форматирования устраняют большинство дрейфа, и все три дёшевы в применении один раз и дороги в пропуске.
Всё в нижнем регистре. GA4 рассматривает Email и email как разные значения, поэтому дрейф заглавных букв тихо умножает каналы. Нет причины допускать верхний регистр в UTM-значении; выберите нижний и никогда не отступайте.
Никаких пробелов, никогда. Пробел в URL кодируется в %20, поэтому utm_campaign=spring sale приходит в отчёты как spring%20sale, что ломает регулярные выражения имён кампаний, используемые командами для группировки воронок, и выглядит сломанным в каждом дашборде. Заменяйте пробелы у источника.
Один разделитель, используемый везде. Выберите дефис или подчёркивание для разделения слов внутри значения и придерживайтесь его. Смешивание даёт spring-sale и spring_sale как отдельные кампании - та же проблема фрагментации в другом обличии. Дефисы - распространённый выбор, потому что соответствуют привычкам URL-слагов и читаются чисто: q3-launch-dach. Что бы вы ни выбрали, правило - согласованность, а не конкретный символ.
Эти стандарты соответствуют собственному руководству Google по UTM, которое советует командам быть согласованными и использовать нижний регистр. Совет верный. Чего Campaign URL Builder Google не делает - так это не обеспечивает ничего из этого, поэтому письменное соглашение начинает дрейфовать, как только наступает дедлайн.
Контролируемые словари для source, medium и campaign#
Соглашение об именовании, гласящее «используйте нижний регистр и дефисы», всё равно позволяет кому-то изобрести utm_source=the-newsletter, когда согласованное значение - newsletter. Исправление - контролируемый словарь: фиксированный список допустимых значений для параметров, где набор известен заранее.
utm_medium должен быть закрытым перечислением. Маркетинговые категории, которые вы используете, исчислимы и стабильны. Разумный список по умолчанию:
cpcдля платного поискаpaid-socialдля платных размещений в соцсетяхsocialдля органических соцсетейemailдля рассылок и lifecycle-писемreferralдля партнёрских ссылок и ссылок из рекомендацийaffiliateдля партнёрского трафикаdisplayдля баннерной и программатик-рекламыqrдля кодов на печатных материалах и упаковке
Если значения нет в списке - оно должно отклоняться, а не приниматься без предупреждения. Одно это правило убивает путаницу social vs paid-social, уничтожающую группировку каналов.
utm_source - полуконтролируемый. Для платформ это должен быть перечень (instagram, linkedin, tiktok, youtube, facebook, x), потому что именно здесь хуже всего живут дрейф заглавных букв и аббревиатуры. Для партнёров и изданий привяжите к реальному списку - аккаунтам партнёров в CRM или медиаплану, - чтобы незнакомый источник вынуждал к явному решению, а не к угадыванию.
utm_campaign не может быть закрытым перечислением, потому что кампании создаются постоянно, но должен следовать шаблону. Полезная форма: квартал-тема-регион: q3-launch-dach, q4-blackfriday-eu. Шаблон делает кампании сортируемыми и позволяет одному регулярному выражению группировать целый квартал или регион.
Реальная таблица таксономии UTM#
Вот таксономия для адаптации сегодня. Она сопоставляет каждый распространённый канал с точными значениями, которые должна производить ваша команда, - именно это превращает соглашение из прозы во что-то, чему человек может следовать под дедлайном.
| Канал | utm_source | utm_medium | Шаблон utm_campaign | utm_content | utm_term |
|---|---|---|---|---|---|
| Рассылка | newsletter | email | квартал-тема | вариант-креатива | null |
| Lifecycle-email | lifecycle | email | имя-флоу | id-шага | null |
| Органический Instagram | instagram | social | квартал-тема | id-поста | null |
| Платный Meta | facebook | paid-social | id-кампании | id-объявления | null |
| Google Search Ads | google | cpc | id-кампании | id-объявления | {keyword} |
| Реферал партнёра | partner-{name} | referral | id-сделки | позиция | null |
| Партнёрская программа | affiliate-{net} | affiliate | имя-программы | sub-id | null |
| QR на печати | print | qr | квартал-материал | позиция | null |
Столбцы шаблонов намеренные. utm_content несёт идентификатор варианта для сравнения креативов внутри кампании; для платных каналов используйте нативный ID объявления платформы, а не человеческую метку, потому что метка принадлежит рекламному кабинету, а стабильный ID - URL. Держите utm_term null, если не ведёте платный поиск, где он несёт совпавшее ключевое слово.
Распространённые ошибки UTM, фрагментирующие отчёты#
Сценарии сбоя повторяются в каждой команде, которую я проверял. Назвать перечисленные ниже и написать исправление рядом с каждым - это большая часть того, для чего предназначен документ соглашения.
Дрейф заглавных букв - главный. Facebook, facebook и FB становятся тремя источниками, потому что значения чувствительны к регистру и неограничены. Исправление - трансформация в нижний регистр, применяемая при сборке, и перечень, не содержащий FB.
Помещение medium в source или source в medium. utm_source=cpc и utm_medium=google оба инвертируют модель. Исправление - контролируемый словарь плюс правило «source - откуда, medium - как», записанное там, где люди его видят.
Пробелы и смешанные разделители в utm_campaign. Spring 2026 DACH становится Spring%202026%20DACH, а spring-sale против spring_sale разбивает одну кампанию на две. Исправление - трансформация слага, переводящая в нижний регистр, заменяющая пробелы и нормализующая разделитель до того, как значение когда-либо зафиксируется.
Персональные данные в query-строке. Это проблема комплаенса, а не аккуратности. UTM-значение находится в URL, который логируется веб-серверами, остаётся в истории браузера, пересылается в referrer-заголовках и часто вставляется в чат в открытом тексте. Email-адрес, имя или любой другой идентификатор в поле utm_ - это персональные данные в незащищённом месте. Руководство Европейского совета по защите данных по прозрачности и минимизации данных указывает в том же направлении: не собирайте и не раскрывайте персональные данные, которые вам не нужны, а URL - пожалуй, худшее место для их хранения. Держите UTM для метаданных кампаний. Если нужно связать клик с человеком - делайте это серверно по ID, а не в query-параметре. Сторона согласия описана в Consent Mode v2 для отслеживания.
utm_term как свалка. Без правила он собирает всё, что не поместилось в другое место. Определите, для чего он нужен (ключевое слово платного поиска, иначе null), - и соблазн исчезнет.
Обеспечение согласованных UTM-тегов с шаблонами#
Соглашение, живущее только в документе, дрейфует. Люди забывают, новые сотрудники не читают его, а пятничный дедлайн побеждает добрые намерения. Обеспечение должно переместиться в инструмент, собирающий ссылки, чтобы правила применялись независимо от того, помнит ли их кто-нибудь.
Паттерн, который держится, - шаблон рабочего пространства с встроенными контролируемыми словарями. Соглашение записывается один раз на уровне рабочего пространства, utm_medium определяется как литерал там, где он никогда не меняется (email для шаблона рассылки), utm_source привязывается к перечню, и плейсхолдеры заполняются остальным из пейлоада ссылки. Новый маркетолог не может затем создать деформированный utm_source, потому что шаблон отклоняет всё не из списка. Трансформации нижнего регистра и слага применяются автоматически, поэтому согласованность перестаёт зависеть от дисциплины каждого.
Сокращатель, владеющий шагом сборки, может делать три вещи, которые не может одиночная форма: хранить шаблон, валидировать каждый ввод против него и отказываться фиксировать ссылку, нарушающую правила. Когда Elido собирает ссылку, разрешённое и финальное значения оба записываются, поэтому переопределение на уровне ссылки оставляет журнал аудита с указанием кто и когда изменил. Полный синтаксис шаблона, включая шаблоны по каналам и пути плейсхолдеров, - в руководстве по UTM-шаблонам, а более широкий кейс для маркетологов - на странице решений для маркетологов. Для аналитики, зависящей от этой гигиены, смотрите аналитику Elido.
Честный масштаб: шаблоны исправляют гигиену тегирования и аудит. Они не исправляют кросс-девайсную атрибуцию или серверную пересылку, выдерживающую Safari ITP, - обе это отдельные проблемы, описанные в пошаговом руководстве. Что они исправляют - то, что тихо ломает каждый отчёт: один и тот же канал, приходящий под пятью разными именами.
Шаблон соглашения и таблицы для копирования#
Если вы ещё не готовы перенести сборку в инструмент, начните с письменного соглашения и таблицы отслеживания. Оба лучше памяти, и они - артефакт, который вы позже передаёте инструменту.
Блок соглашения, достаточно краткий для вставки в командную вики:
UTM СОГЛАШЕНИЕ (v1)
- Все значения в нижнем регистре. Без исключений.
- Слова разделяются дефисами. Без пробелов, подчёркиваний, других разделителей.
- utm_source: откуда пришёл клик. Перечень для платформ; список CRM для партнёров.
- utm_medium: как попал сюда. Только закрытый перечень:
cpc | paid-social | social | email | referral | affiliate | display | qr
- utm_campaign: квартал-тема-регион. Пример: q3-launch-dach
- utm_content: id варианта (креатив, позиция, id-объявления). Опционально.
- utm_term: только ключевое слово платного поиска. В остальных случаях null.
- Никогда не помещайте имена, email или любые персональные данные в UTM. Никогда.
Шаблон таблицы нуждается в одной вкладке для контролируемых словарей и одной для ссылок. Структурируйте так:
- Вкладка
vocabс одной колонкой на контролируемый параметр (source,medium), каждая содержащая утверждённые значения. Это единственный источник истины, на который указывают правила валидации данных. - Вкладка
linksс колонками для URL назначения, каждого UTM-значения (валидируемого против вкладкиvocab, чтобы опечатка отклонялась при вводе), колонкой собранного URL, concatenating их, и колонкой текстовых заметок для контекста. - Правило валидации данных на колонках medium и source, чтобы ячейки принимали только значения из вкладки
vocab. Это ближайшее к обеспечению, чего достигает таблица.
Когда таблица перерастает ручной ввод, имена колонок напрямую сопоставляются с плейсхолдерами шаблонов, и тот же CSV импортируется прямо в bulk-create эндпоинт. Соглашение, написанное в день первый, становится схемой, которую инструмент обеспечивает в день сотый. Тарифы, включающие шаблоны рабочего пространства, - на странице тарифов.
Соглашение об именовании - скучная инфраструктура, именно поэтому её пропускают, и именно поэтому пропуск стоит квартала чистых данных. Запишите правила, зафиксируйте там, где создаются ссылки, - и отчёты снова начнут сходиться.
Читайте также#
- Отслеживание UTM-кампаний от начала до конца без CDP - полный пайплайн, который питает это соглашение
- Сокращатель ссылок с UTM-конструктором - инструментарий, обеспечивающий правила
- Аналитика коротких ссылок: что на самом деле измерять - чтение отчётов после очистки тегов
- Что такое сокращатель URL - основа для тех, кто начинает с нуля