Elido
10 мин чтенияТуториалы

Соглашения об именовании UTM: правила для чистых данных кампаний

Руководство по управлению соглашениями об именовании UTM: правила нижнего регистра, контролируемые словари, таблица таксономии и как обеспечить согласованные теги в команде

Ana Kowalska
Marketing solutions engineering
Тегированный URL, разбитый на чипы utm_source, utm_medium и utm_campaign со штампом соглашения

Соглашение об именовании 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-тегированного URL, показывающая базовый URL плюс utm_source, utm_medium, utm_campaign, utm_content и utm_term, каждый подписан тем, что должен содержать

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_sourceutm_mediumШаблон utm_campaignutm_contentutm_term
Рассылкаnewsletteremailквартал-темавариант-креативаnull
Lifecycle-emaillifecycleemailимя-флоуid-шагаnull
Органический Instagraminstagramsocialквартал-темаid-постаnull
Платный Metafacebookpaid-socialid-кампанииid-объявленияnull
Google Search Adsgooglecpcid-кампанииid-объявления{keyword}
Реферал партнёраpartner-{name}referralid-сделкипозицияnull
Партнёрская программаaffiliate-{net}affiliateимя-программыsub-idnull
QR на печатиprintqrквартал-материалпозицияnull

Столбцы шаблонов намеренные. utm_content несёт идентификатор варианта для сравнения креативов внутри кампании; для платных каналов используйте нативный ID объявления платформы, а не человеческую метку, потому что метка принадлежит рекламному кабинету, а стабильный ID - URL. Держите utm_term null, если не ведёте платный поиск, где он несёт совпавшее ключевое слово.

Распространённые ошибки UTM, фрагментирующие отчёты#

Сценарии сбоя повторяются в каждой команде, которую я проверял. Назвать перечисленные ниже и написать исправление рядом с каждым - это большая часть того, для чего предназначен документ соглашения.

Сравнение хороших и плохих UTM-значений: согласованный нижний регистр с контролируемым словарём слева, дрейф заглавных букв, пробелы и email клиента справа

Дрейф заглавных букв - главный. 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 эндпоинт. Соглашение, написанное в день первый, становится схемой, которую инструмент обеспечивает в день сотый. Тарифы, включающие шаблоны рабочего пространства, - на странице тарифов.

Соглашение об именовании - скучная инфраструктура, именно поэтому её пропускают, и именно поэтому пропуск стоит квартала чистых данных. Запишите правила, зафиксируйте там, где создаются ссылки, - и отчёты снова начнут сходиться.

Читайте также#

Попробуйте Elido

URL-сокращатель с хостингом в ЕС: собственные домены, глубокая аналитика, открытый API. Бесплатный тариф - без банковской карты.

Теги
utm naming convention
utm parameter standards
utm best practices
utm taxonomy
utm spreadsheet template
consistent utm tags

Читать дальше