Недавно один знакомый маркетолог показал мне отчёт из CRM своей компании. «Смотри, — говорит, — у нас 47 разных источников трафика за последний квартал». Я присмотрелся к списку: google, Google, GOOGLE, ggl, гугл, google_ads, googleads, google-ads... Это был один и тот же канал, записанный семью разными способами. А ещё там был facebook, fb, фейсбук, instagram (который тоже принадлежит Meta), и отдельно — insta, inst, ig. Вместо аккуратного отчёта по пяти реальным каналам — каша из полусотни вариаций, которую невозможно анализировать.
Если вы хоть раз пытались построить отчёт «канал → выручка» и получали несколько строк с разными написаниями одного источника — вы понимаете эту боль. UTM-метки придумали, чтобы отслеживать эффективность рекламы. Но без стандартов и контроля они превращаются в источник хаоса, а не ясности.
В этой статье разберём, как навести порядок в маркетинговых данных. Создадим единый справочник каналов и кампаний, настроим правила разметки, внедрим автоматический контроль качества. Чтобы ваши отчёты показывали реальную картину, а не творческие вариации написания слова «яндекс».
«Мы полгода спорили о том, какой канал эффективнее — контекст или таргет. Потом выяснилось, что данные по контексту были разбросаны по 12 разным utm_source, а таргет — по 8. Когда объединили — оказалось, что контекст в два раза эффективнее, просто его выручка была "размазана" по десятку строк отчёта».
На первый взгляд, какая разница — написать «google» или «Google»? Оба варианта понятны человеку. Но для системы аналитики это два разных источника. И вот уже вместо одной строки с 500 лидами у вас две строки по 250. А когда к ним добавляются «ggl», «гугл», «google_cpc» — картина становится совсем размытой.
Но дело не только в регистре букв. Проблема глубже.
В типичной маркетинговой команде UTM-метки создают несколько человек: контекстолог, таргетолог, SMM-щик, email-маркетолог, иногда ещё внешние подрядчики. Каждый привык к своему формату. Контекстолог пишет utm_source=yandex&utm_medium=cpc, таргетолог — utm_source=fb&utm_medium=target, email-маркетолог — utm_source=newsletter&utm_medium=email. Вроде всё логично, но в итоге — зоопарк форматов.
А ещё кто-то использует подчёркивания, кто-то — дефисы, кто-то — CamelCase. Кто-то пишет на русском, кто-то — транслитом, кто-то — на английском. Кто-то добавляет дату в название кампании, кто-то — нет. Полный хаос.
Даже если у вас есть стандарт, люди ошибаются. Усталость, спешка, невнимательность — и вместо utm_campaign=sale_winter_2025 появляется utm_campaing=sale_winter_2025 (заметили ошибку в слове campaign?). Или utm_source=gogle. Или пробел в середине значения. Система послушно запишет эти метки как отдельные источники, и часть данных уйдёт в никуда.
utm_campaign — самое творческое поле. Здесь маркетологи дают волю фантазии: «летняя_акция», «sale_june», «Распродажа_июнь_2025_Алматы_женщины_25-35», «promo1», «test_new_creative». Через полгода никто не помнит, что значило «promo1», а анализировать данные по таким названиям невозможно.
Выручка одного канала разбросана по десяткам строк, реальную картину не увидеть
Канал кажется слабым, потому что его данные «размазаны» — и вы урезаете рабочий инструмент
Перед каждым отчётом приходится вручную объединять источники и исправлять ошибки
Когда формат меняется, старые данные становятся несравнимы с новыми
Первый шаг к порядку — договориться о терминологии. Нужен единый справочник, где чётко прописано: какие источники (utm_source) и типы трафика (utm_medium) можно использовать, как именно они должны называться, и что каждый из них означает.
Это не бюрократия ради бюрократии. Это основа для чистых данных. Когда у всех есть один документ с допустимыми значениями — споры «как правильно: fb или facebook» прекращаются.
utm_source отвечает за платформу, откуда пришёл трафик. Это может быть рекламная система, социальная сеть, партнёрский сайт. Для казахстанского бизнеса типичный набор источников выглядит примерно так:
| utm_source | Платформа | Комментарий |
|---|---|---|
google |
Google (Ads, органика) | Не google_ads, не ggl — просто google |
yandex |
Яндекс (Директ, органика) | Транслит, не «яндекс» кириллицей |
facebook |
Facebook / Meta Ads | Включая Instagram Ads, если настроены через Ads Manager |
instagram |
Instagram (органика) | Для органических публикаций, stories, ссылки в bio |
telegram |
Telegram | Каналы, группы, боты, Telegram Ads |
whatsapp |
Рассылки, ссылки из чатов | |
email |
Email-рассылки | Не newsletter, не mail — единообразно email |
sms |
SMS-рассылки | Включая push-уведомления |
kaspi |
Kaspi | Трафик с Kaspi.kz, Kaspi Магазин |
2gis |
2ГИС | Реклама и переходы из карт |
partner |
Партнёрские программы | Реферальные ссылки, аффилиаты |
offline |
Оффлайн-реклама | QR-коды с билбордов, флаеров, визиток |
utm_medium описывает тип трафика — как именно пользователь взаимодействовал с рекламой. Это важно для понимания, платный трафик или органический, кликнул он по объявлению или увидел баннер.
| utm_medium | Тип трафика | Когда использовать |
|---|---|---|
cpc |
Платный клик | Контекстная реклама (Google Ads, Яндекс.Директ) |
cpm |
Платный показ | Медийная реклама, баннеры с оплатой за показы |
social |
Социальные сети | Органические посты, ссылки из профилей |
paid_social |
Платная реклама в соцсетях | Таргетированная реклама в Facebook, Instagram, TikTok |
email |
Email-рассылки | Письма, дайджесты, промо-рассылки |
messenger |
Мессенджеры | Рассылки в WhatsApp, Telegram, чат-боты |
referral |
Переходы с сайтов | Ссылки на партнёрских сайтах, СМИ, каталогах |
affiliate |
Партнёрская программа | Реферальные ссылки аффилиатов |
retargeting |
Ретаргетинг | Возвратная реклама на тех, кто уже был на сайте |
organic |
Органический поиск | Обычно ставится автоматически аналитикой, но иногда нужен для UTM |
qr |
QR-код | Переходы с QR-кодов на оффлайн-материалах |
Справочник должен быть живым документом. Храните его в общем доступе — Google Docs, Notion, Confluence. Назначьте ответственного за обновления. Когда появляется новый канал или формат — сначала добавляйте в справочник, потом используйте в разметке. Так вы избежите появления «творческих» вариаций.
utm_campaign — это самое длинное и информативное поле. И именно здесь чаще всего царит творческий беспорядок. «Promo1», «test», «акция_июнь» — через месяц никто не вспомнит, что это было.
Решение — единая структура названий, которая позволяет автоматически парсить компоненты и анализировать данные по разным срезам. Структурированное название кампании выглядит так:
[тип]_[продукт]_[аудитория]_[гео]_[дата]
Например: sale_crm_smb_almaty_2025q1 — это распродажа CRM для малого бизнеса в Алматы в первом квартале 2025 года.
Цель или формат рекламы
brand — брендовая рекламаsale — распродажа, акцияpromo — промоакцияlead — генерация лидовretarget — ретаргетингlaunch — запуск продуктаЧто рекламируем
crm — CRM-системаbot — чат-ботintegration — интеграцииanalytics — аналитикаall — все продуктыКому показываем
smb — малый бизнесmid — средний бизнесent — enterpriseecom — e-commerceb2b — B2B-компанииГде показываем
kz — весь Казахстанalmaty — Алматыastana — Астанаregion — регионыcis — СНГДавайте посмотрим, как применять структуру на практике. Слева — как делают обычно (плохо), справа — как должно быть (хорошо):
| Плохо | Хорошо | Почему лучше |
|---|---|---|
Летняя_распродажа |
sale_all_smb_kz_2025q2 |
Можно парсить автоматически, понятен контекст |
promo1 |
promo_crm_ecom_almaty_202506 |
Через полгода понятно, что это было |
test_new_creative |
lead_bot_smb_astana_2025q1_v2 |
Версии креативов в суффиксе, не в названии |
fb_almaty_women_25-35 |
lead_crm_smb_almaty_2025q1 |
Источник уже в utm_source, не дублируем |
Иногда хочется отслеживать разные объявления в рамках одной кампании. Для этого есть utm_content. Здесь можно указать формат, вариант или A/B-тест:
utm_content=video_30sec — видео 30 секундutm_content=carousel_3 — карусель из 3 слайдовutm_content=banner_red — баннер красного цветаutm_content=text_short — короткий текстutm_content=ab_v1 — вариант A/B-тестаА utm_term традиционно используют для ключевых слов в поисковой рекламе. В Google Ads и Яндекс.Директ можно настроить автоподстановку ключевого слова через макросы: {keyword} в Google или {keyword:default} в Яндексе.
Даже с идеальным справочником люди будут ошибаться, если вводят UTM-метки вручную. Опечатки, забытые параметры, неправильный регистр — всё это неизбежно при ручной работе. Решение — UTM-генератор со встроенной валидацией.
Простейший генератор — это Google Sheets с формулой, которая склеивает URL и параметры. Но чтобы по-настоящему защитить данные от мусора, нужно больше:
Самый простой вариант — Google Sheets. Создайте лист со справочником допустимых значений, добавьте проверку данных (Data Validation) на ячейки ввода, и формулу для генерации URL. Бесплатно и работает для небольших команд.
Для серьёзных задач можно использовать специализированные сервисы: UTM.io, Terminus, CampaignTrackly. Они предлагают готовые решения с командным доступом, интеграциями и отчётами по использованию.
А если у вас уже есть CRM с автоматизацией, генератор можно встроить прямо туда. При создании рекламной кампании система автоматически формирует UTM-ссылки по заданным правилам.
Поможем настроить сквозную аналитику с правильной UTM-разметкой и контролем качества данных.
Обсудить проектСправочник создан, генератор работает — но это не значит, что ошибки прекратятся. Кто-то скопирует старую ссылку. Кто-то получит UTM от партнёра. Кто-то просто забудет про генератор. Нужен второй рубеж защиты — автоматический контроль качества данных.
Регулярный аудит UTM-меток должен выявлять несколько типов проблем:
Простейший вариант — еженедельный отчёт по уникальным значениям utm_source, utm_medium, utm_campaign. Выгружаете из CRM или аналитики, сортируете по количеству, смотрите на хвост списка. Там обычно и прячутся ошибки: единичные записи с опечатками или нестандартными названиями.
Продвинутый вариант — автоматическая валидация при создании лида. Если utm_source не совпадает ни с одним значением из справочника — система помечает лид как «требует проверки» или автоматически приводит к ближайшему допустимому значению (gogle → google, fb → facebook).
Для этого в CRM создаётся справочник-справочник допустимых значений и логика нормализации при импорте данных. Большинство современных CRM позволяют это настроить через workflow или скрипты.
Что делать с уже накопленным беспорядком? Исторические данные не перепишешь — клиенты уже записаны с utm_source=ggl или utm_campaign=Летняя Акция 2024!!!. Но для отчётов эти данные нужно как-то объединить.
Создаём отдельную таблицу, где «грязные» значения связываются с «чистыми»:
| Исходное значение | Нормализованное | Категория |
|---|---|---|
| google, Google, GOOGLE, ggl, гугл, googleads | google |
Поисковые системы |
| yandex, Yandex, яндекс, yndx, yandex.ru | yandex |
Поисковые системы |
| facebook, fb, FB, фейсбук, meta | facebook |
Социальные сети |
| instagram, inst, insta, ig, инстаграм | instagram |
Социальные сети |
| email, mail, newsletter, рассылка, письмо | email |
Email-маркетинг |
Эта таблица используется в отчётах: вместо исходного значения подставляется нормализованное. В SQL это выглядит как JOIN с таблицей маппинга, в Excel — как VLOOKUP или XLOOKUP, в BI-инструментах — как dimension mapping.
Ещё лучше — нормализовать данные прямо при поступлении. Когда лид создаётся в CRM, система автоматически проверяет utm_source по таблице соответствий и заменяет на стандартное значение. Так в базе изначально будут чистые данные.
В большинстве CRM это можно настроить через workflow: «При создании контакта, если utm_source содержится в списке [ggl, googleads, Google...], заменить на google». Или через скрипт при обработке вебхуков от форм и коллтрекинга.
Иногда нужен ещё один уровень агрегации — каналы объединяются в группы для высокоуровневых отчётов:
Для CEO не нужны детали по каждому utm_campaign — ему важно видеть: «Платный поиск принёс 40% выручки, соцсети — 25%, CRM-маркетинг — 20%». А маркетолог уже смотрит глубже.
Теория понятна — теперь к практике. Вот план внедрения системы контроля качества UTM-данных, который можно реализовать за пару недель.
Шаг 1. Выгрузите все уникальные значения utm_source и utm_medium за последние 6-12 месяцев. Из CRM, из Google Analytics, из Яндекс.Метрики. Объедините в один список.
Шаг 2. Создайте таблицу соответствий. Пройдитесь по списку и определите, какое нормализованное значение должно соответствовать каждому «грязному». Это занудная работа, но делается один раз.
Шаг 3. Составьте справочник допустимых значений — список «чистых» utm_source и utm_medium, которые можно использовать. Это будет основа для генератора и валидации.
Шаг 4. Разработайте структуру utm_campaign. Договоритесь с командой о формате названий кампаний. Зафиксируйте в документе с примерами.
Шаг 5. Создайте UTM-генератор. Как минимум — Google Sheets с выпадающими списками. Как максимум — интеграция в рабочий процесс команды через Notion, CRM или специализированный сервис.
Шаг 6. Настройте нормализацию в CRM. При создании лида «грязные» значения автоматически приводятся к стандартным. Используйте workflow или скрипты обработки данных.
Шаг 7. Примените таблицу соответствий к историческим данным. Обновите записи в CRM или настройте маппинг в отчётах BI.
Шаг 8. Обучите команду. Покажите, как пользоваться генератором. Объясните, почему важна стандартизация. Назначьте ответственного за справочник.
Шаг 9. Настройте еженедельный аудит. Автоматический отчёт о новых уникальных значениях UTM. Любое незнакомое значение — сигнал для проверки.
Один источник = одна строка в отчёте, без вариаций и дублей
Вся выручка канала в одном месте, можно считать реальную эффективность
Никакой ручной чистки — данные сразу готовы к анализу
Данные за разные периоды можно сравнивать без оговорок
Казахстан — специфический рынок с уникальным набором каналов и особенностями коммуникации. Это нужно учитывать при создании справочника.
Kaspi — это не просто платёжная система, а целая экосистема: маркетплейс, банк, рассылки, реклама. Трафик с Kaspi.kz, переходы из приложения Kaspi, заказы с Kaspi Магазина — всё это разные источники, которые стоит разделять:
utm_source=kaspi&utm_medium=marketplace — заказы с Kaspi Магазинаutm_source=kaspi&utm_medium=referral — переходы с Kaspi.kzutm_source=kaspi&utm_medium=push — push-уведомленияВ Казахстане WhatsApp — один из главных каналов коммуникации с клиентами. Telegram тоже популярен, особенно для бизнес-аудитории. Это значит, что мессенджер-маркетинг нуждается в отдельной разметке:
utm_source=whatsapp&utm_medium=messenger — рассылки в WhatsApputm_source=telegram&utm_medium=channel — публикации в Telegram-каналеutm_source=telegram&utm_medium=ads — реклама в Telegram AdsАлматы, Астана и регионы — разные рынки с разной экономикой. Имеет смысл закладывать географию в utm_campaign:
lead_crm_smb_almaty_2025q1 — Алматыlead_crm_smb_astana_2025q1 — Астанаlead_crm_smb_region_2025q1 — остальные регионыlead_crm_smb_kz_2025q1 — весь КазахстанЭто позволит анализировать эффективность рекламы отдельно по городам — и оптимизировать бюджеты соответственно.
2ГИС в Казахстане популярнее, чем Google Maps для локального поиска. Если вы получаете трафик оттуда, выделите его в отдельный источник:
utm_source=2gis&utm_medium=referral — органические переходыutm_source=2gis&utm_medium=cpc — платная реклама в 2ГИСПоможем настроить систему UTM-разметки, интегрировать с CRM и построить чистые отчёты по каналам.
Получить консультациюНапоследок — список граблей, на которые наступают чаще всего. Предупреждён — значит вооружён.
«utm_source=яндекс» — плохая идея. Кириллица в URL кодируется в percent-encoding и превращается в нечитаемую кашу: %D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81. Всегда используйте латиницу и транслит.
«utm_campaign=Летняя акция 2025!» — пробелы и восклицательный знак сломают URL или закодируются странным образом. Используйте подчёркивания или дефисы: summer_sale_2025.
«utm_source=google_ads&utm_campaign=google_almaty_cpc» — источник и тип трафика уже есть в source и medium, не надо их повторять в campaign. Это только засоряет данные.
Кампания «sale_winter» — какой зимы? 2024? 2025? Без привязки ко времени анализировать исторические данные невозможно. Добавляйте период: sale_winter_2025q1.
Можно увлечься и создать уникальный utm_campaign для каждого объявления. В итоге — тысячи кампаний с 1-2 лидами в каждой, анализировать невозможно. Держите баланс: достаточно детально для анализа, не слишком гранулярно для агрегации.
UTM-метки нужны только для внешних источников. Если вы ставите UTM на ссылки внутри своего сайта (из блога на каталог, например), вы «затираете» реальный источник трафика. Пользователь пришёл из Google, кликнул внутреннюю ссылку с UTM — и теперь он «пришёл» из блога. Не делайте так.
UTM-гигиена — это не про перфекционизм и не про любовь к порядку ради порядка. Это про деньги. Про возможность понять, какой канал реально приносит выручку, а какой только съедает бюджет. Про решения на основе фактов, а не на основе «мне кажется, Instagram работает хорошо».
Когда google, Google, ggl и гугл становятся одним google — вы наконец видите реальную картину. Оказывается, контекст приносит в два раза больше, чем казалось. Или наоборот — в два раза меньше. Теперь можно принимать решения.
Начните с малого: создайте справочник допустимых значений и UTM-генератор. Обучите команду. Настройте еженедельный аудит. Постепенно данные очистятся, а отчёты станут понятными и полезными.
И помните: сквозная аналитика начинается с качества исходных данных. Если на входе мусор — на выходе будет мусор, как бы красиво ни был оформлен отчёт. UTM-гигиена — это фундамент, на котором строится вся маркетинговая аналитика.