Недавно один знакомый маркетолог сидел напротив меня с таким лицом, будто его только что ограбили. Открыл ноутбук, показал отчёт из CRM: «Смотри, у нас 47 разных источников трафика за квартал». Я наклонился к экрану. google, Google, GOOGLE, ggl, гугл, google_ads, googleads, google-ads... Семь вариаций одного и того же канала. А ниже — facebook, fb, фейсбук, плюс instagram, insta, inst, ig — хотя всё это одна экосистема Meta. Вместо пяти аккуратных строк — хаотичная мешанина из пятидесяти записей, которую даже прочитать нормально не получится, не то что проанализировать.
Если вы хоть раз пытались собрать отчёт «канал → выручка» и обнаруживали, что один источник размазан по десятку строк с разными опечатками — эта боль вам знакома. UTM-метки придумали как инструмент контроля, чтобы точно знать, откуда идёт трафик и какая реклама работает. Но стоит отпустить контроль за стандартами хотя бы на пару месяцев — и метки превращаются не в источник ясности, а в новый слой хаоса.
Разберёмся, как навести порядок раз и навсегда. Построим единый справочник каналов и кампаний, договоримся о правилах разметки, настроим автоматический контроль. Чтобы в отчётах была реальная картина, а не бесконечные вариации того, как каждый новый маркетолог записывает слово «яндекс».
«Мы полгода спорили о том, какой канал эффективнее — контекст или таргет. Потом выяснилось, что данные по контексту были разбросаны по 12 разным utm_source, а таргет — по 8. Когда объединили — оказалось, что контекст в два раза эффективнее, просто его выручка была "размазана" по десятку строк отчёта».
Казалось бы, какая разница — «google» или «Google»? Человек-то поймёт. Вот только для системы аналитики это два совершенно разных источника. Значит, вместо одной строки с 500 лидами у вас вдруг две по 250. А потом появляются «ggl», «гугл», «google_cpc», и картина окончательно расплывается. Пытаешься понять, сколько реально принёс Google — и натыкаешься на шесть разных вариантов написания, разбросанных по отчёту.
Но дело не только в больших и маленьких буквах. Проблема намного глубже — и она начинается с людей.
Представьте типичную маркетинговую команду. Контекстолог привык писать utm_source=yandex&utm_medium=cpc. Таргетолог использует utm_source=fb&utm_medium=target. Email-маркетолог пишет utm_source=newsletter&utm_medium=email. Плюс SMM-щик, плюс пара внешних подрядчиков — у каждого свой формат, к которому он привык на прошлом месте работы. Вроде везде логика есть, но вместе это превращается в зоопарк.
А ещё один любит подчёркивания, другой предпочитает дефисы, третий вообще пишет 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», «акция_июнь», «НОВОЕ_предложение». Через месяц никто уже не вспомнит, что значило «promo1». Через полгода — вообще загадка.
Решение — единая структура, которая работает как шаблон. Название кампании должно позволять автоматически разобрать его на компоненты и анализировать по разным срезам: по типу активности, по продукту, по географии. Вот базовый формат:
[тип]_[продукт]_[аудитория]_[гео]_[дата]
Пример: 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%». А маркетолог уже смотрит глубже.
Теория понятна, переходим к практике. Вот реалистичный план, который можно реализовать за пару недель. Не нужно закрывать всё на переделку — делаем постепенно, шаг за шагом.
Шаг 1. Выгрузите весь хаос на свет божий. Все уникальные utm_source и utm_medium за последние 6-12 месяцев. Из CRM, из Google Analytics, из Яндекс.Метрики — откуда только можете. Объедините в один список, откройте Excel (или Sheets) — и просто посмотрите на это безобразие. Осознание масштаба — это уже половина пути.
Шаг 2. Создайте таблицу соответствий. Пройдитесь по списку, найдите все вариации одного и того же. google, Google, ggl — это всё одно. Запишите, какое «грязное» значение к какому «чистому» относится. Да, это занудная работа. Но делается один раз, зато дальше система работает автоматически.
Шаг 3. Создайте справочник допустимых значений. Это ваш новый канон — список тех utm_source и utm_medium, которые разрешено использовать. Всё, что не в этом списке — ошибка. Справочник станет основой для генератора ссылок и валидации данных.
Шаг 4. Договоритесь о структуре utm_campaign. Соберите команду, покажите примеры, объясните формат. Зафиксируйте в документе с примерами — чтобы через два месяца никто не говорил «а я не знал».
Шаг 5. Сделайте UTM-генератор. Минимум — Google Sheets с выпадающими списками на основе вашего справочника. Максимум — интеграция прямо в рабочий процесс через Notion, CRM или специализированный сервис вроде UTM.io. Главное, чтобы люди реально им пользовались, а не обходили стороной.
Шаг 6. Настройте автоматическую нормализацию. При создании лида в CRM «грязные» значения должны автоматически приводиться к стандарту. Google → google, FB → facebook. Используйте workflow или скрипты — в зависимости от вашей CRM.
Шаг 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, гугл и googleads превращаются в один аккуратный google — вы впервые видите реальную картину. И выясняется, что контекст приносит в два раза больше, чем вы думали (или в два раза меньше — что тоже полезно знать). Только на основе этой картины можно принимать нормальные решения о бюджете.
Не нужно пытаться сделать всё сразу. Начните с малого: создайте справочник, поставьте простой генератор, обучите команду. Настройте еженедельный аудит — чтобы видеть, когда что-то пошло не так. Постепенно данные очистятся, и отчёты станут не просто красивыми, а по-настоящему полезными.
И запомните главное: сквозная аналитика начинается с качества данных на входе. Если туда льётся мусор — на выходе тоже будет мусор, как бы красиво вы ни оформили дашборд. UTM-гигиена — это фундамент, на котором стоит вся маркетинговая аналитика. Без фундамента остальное не имеет смысла.