Перейти до змісту

GA4 і трекінг

UTM-мітки: правила іменування, які не ламають аналітику

Як складати UTM-мітки для Google Ads, Meta, TikTok, email і Telegram — єдиний стандарт utm_source / utm_medium / utm_campaign, шаблон таблиці, автоматична перевірка і нормалізація в звітах.

DATUMPANELОпубліковано Оновлено 6 хв читання

Обкладинка статті про UTM-мітки

Найдешевша причина поганої аналітики — хаос в UTM-мітках. Instagram, instagram, ig, insta, facebook / paid, fb / cpc — і замість одного каналу у звіті шість. Атрибуція, ROAS і бюджети потім рахуються з цих рядків. Нижче — стандарт, який я впроваджую в проєктах, і як змусити його працювати.

П'ять параметрів

ПараметрЩо означаєПриклад
utm_sourceзвідки трафік (майданчик)google, facebook, instagram, tiktok, newsletter, telegram
utm_mediumтип трафікуcpc, paid_social, email, social, referral, affiliate
utm_campaignкампанія2026-10_autumn-sale_ua
utm_contentваріант оголошення / креативvideo-15s_v2
utm_termключове слово або аудиторіяlookalike-buyers-3pct

GA4 використовує source і medium для групування каналів за замовчуванням, тому значення utm_medium мають відповідати правилам груп — наприклад, cpc для платного пошуку, email для розсилок. Якщо написати utm_medium=paid-insta, трафік потрапить у групу «Unassigned».

Правила

  1. Лише малі літери. GA4 чутливий до регістру: Facebook і facebook — різні джерела.
  2. Без пробілів і кирилиці. Дефіс між словами, підкреслення між смисловими блоками.
  3. Фіксований словник source і medium — нові значення додаються лише через таблицю.
  4. Шаблон назви кампанії: рік-місяць_назва_гео або інший, але один для всіх.
  5. Не ставити UTM на внутрішні посилання — це перезапускає сесію з новим джерелом.
  6. Автомітки там, де вони є. Для Google Ads вмикайте автоматичне позначення (gclid), UTM — лише як доповнення.

Словник (приклад)

Каналutm_sourceutm_medium
Google Ads Searchgooglecpc
Meta Ads (Facebook)facebookpaid_social
Meta Ads (Instagram)instagrampaid_social
TikTok Adstiktokpaid_social
Email-розсилкаnewsletteremail
Telegram-каналtelegramsocial
Блогер / інфлюенсерblogger-nameinfluencer
Партнерська програмаpartner-nameaffiliate

Meta дозволяє підставляти динамічні параметри ({{campaign.name}}, {{ad.name}}) в URL. Це зручно, але назви кампаній у кабінеті тоді мають підпорядковуватися тому самому шаблону.

Таблиця-генератор

Найпрактичніший інструмент — Google Таблиця, де маркетолог обирає source/medium зі списку, вводить назву кампанії, а формула збирає URL. Валідація даних не дасть ввести «Insta».

=A2&IF(ISNUMBER(SEARCH("?",A2)),"&","?")&"utm_source="&B2&"&utm_medium="&C2&"&utm_campaign="&LOWER(SUBSTITUTE(D2," ","-"))

Перевірка і нормалізація

Навіть зі стандартом помилки будуть. Тому в пайплайні є шар нормалізації:

SELECT
  CASE
    WHEN LOWER(source) IN ('fb', 'facebook', 'm.facebook.com', 'l.facebook.com') THEN 'facebook'
    WHEN LOWER(source) IN ('ig', 'insta', 'instagram', 'l.instagram.com') THEN 'instagram'
    ELSE LOWER(source)
  END AS source_norm,
  LOWER(medium) AS medium_norm,
  COUNT(*) AS sessions
FROM sessions
GROUP BY 1, 2
ORDER BY sessions DESC;

А в дашборді — віджет «нові незнайомі значення source/medium за тиждень». Якщо там з'явилось щось нове, маркетолог дізнається одразу, а не на квартальному звіті.

Особливі випадки

  • Telegram і месенджери часто не передають реферер — без UTM трафік стане «direct».
  • Оплата на сторінці LiqPay / monobank з поверненням на сайт може підмінити джерело сесії; додайте платіжні домени до списку виключених рефералів у GA4.
  • QR-коди офлайн: окремий utm_medium=offline і utm_source за місцем розміщення.
  • Email-сервіси часто дописують UTM автоматично — перевірте, щоб вони збігалися зі словником.

Як це пов'язано з атрибуцією

Якщо зберігати UTM разом із лідом у CRM (прихованими полями форми), можна рахувати замовлення й виручку за каналами без залежності від GA4 (атрибуція). Для зведеного звіту з витратами — реклама в одному дашборді.

Чекліст

  • Словник source/medium затверджено
  • Шаблон назви кампанії один для всіх
  • Таблиця-генератор з валідацією
  • Автомітки Google Ads увімкнено
  • Платіжні домени в списку виключених рефералів
  • UTM зберігаються в CRM з лідом
  • Нормалізація в пайплайні та контроль нових значень

Покроково: як запровадити конвенцію в живому акаунті

Найскладніше — запровадити правила в акаунті з роками хаотичних міток. Порядок, що працює:

  1. Аудит наявного. Вивантажте комбінації source/medium/campaign за 12 місяців із сесіями та виручкою. Зазвичай там десятки написань того самого (facebook, Facebook, fb, m.facebook.com).
  2. Запишіть дозволені значення utm_source і utm_medium закритим списком. Назви кампаній — за шаблоном, а не за списком.
  3. Зіставте старі значення з новими в довідковій таблиці, щоб історичні звіти стали порівнянними.
  4. Переведіть нові кампанії на таблицю-конструктор з певної дати і запишіть цю дату.
  5. Перевіряйте щотижня і виправляйте «зайві» значення в джерелі, а не лише у звітах.

Шаблон назви кампанії з прикладами

Шаблон, який я використовую для utm_campaign — малими літерами, частини через підкреслення, всередині частин — дефіси:

{країна}_{мета}_{аудиторія}_{пропозиція-або-тема}_{ррррмм}

Ситуаціяutm_sourceutm_mediumutm_campaign
Meta, залучення, осінній розпродажmetapaid_socialua_conv_lookalike_autumn-sale_202610
Google Пошук, брендgooglecpcua_conv_brand_core_202610
Розсилка, новинкиnewsletteremailua_retention_subscribers_new-arrivals_20261015
Пост у Telegram-каналіtelegramsocialua_traffic_channel_guide-launch_202610
Блогерinstagraminfluencerua_awareness_creator-name_capsule_202610

Параметр utm_content несе креатив чи позицію посилання (video-15s-a, header-link), а utm_term лишається для ключових слів чи деталей аудиторії. Тримайте частини у фіксованому порядку, щоб назву кампанії можна було розбити на колонки в SQL. Латиниця в значеннях обов'язкова: кирилиця в URL кодується і перетворюється на нечитабельні рядки у звітах.

SQL: нормалізація і розбиття у сховищі

Навіть з правилами деякі значення проскакують. Нормалізуйте в чистому шарі:

SELECT
  LOWER(TRIM(utm_source))  AS source_raw,
  COALESCE(m.source_std, LOWER(TRIM(utm_source)))  AS source,
  COALESCE(m.medium_std, LOWER(TRIM(utm_medium)))  AS medium,
  LOWER(utm_campaign) AS campaign,
  SPLIT(LOWER(utm_campaign), '_')[SAFE_OFFSET(0)] AS camp_country,
  SPLIT(LOWER(utm_campaign), '_')[SAFE_OFFSET(1)] AS camp_objective,
  SPLIT(LOWER(utm_campaign), '_')[SAFE_OFFSET(4)] AS camp_month
FROM clean.sessions s
LEFT JOIN ref.utm_source_map m
  ON m.source_raw = LOWER(TRIM(s.utm_source));

Щотижнева перевірка виводить усі source чи medium, яких немає в дозволеному списку, з кількістю сесій — щоб той, хто запустив кампанію, виправив посилання.

Типові помилки

ПомилкаНаслідокЯк виправити
UTM на внутрішніх посиланняхсесія перезапускається, справжнє джерело перезаписуєтьсяніколи не розмічайте посилання всередині сайту
Різний регістрMeta і meta — два рядкиусе малими літерами
Пробіли в значенняхкодуються як %20 чи +, значення розпадаютьсялише підкреслення й дефіси
medium поза правилами каналів GA4трафік потрапляє в «Unassigned»medium, що відповідають стандартним групам каналів GA4, або власні групи
Перекриття автотегуваннявитрати й конверсії Google Ads не з'єднуютьсялишайте автотегування gclid; UTM — лише якщо потрібні деінде
Назви кампаній без датне відрізнити цьогорічний розпродаж від минулорічногододавайте ррррмм

Офлайн, QR-коди і месенджери

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

РозміщенняРекомендована розміткаПримітка
QR-код на упаковціsource=packaging, medium=qr, campaign=insert-card_202610використовуйте короткий редирект, щоб згодом змінити ціль
Офлайн-подія чи листівкаsource=назва-події, medium=offline, campaign=…окреме посилання на кожне розміщення, якщо хочете їх порівнювати
Повідомлення в Telegram/Vibersource=telegram (тощо), medium=messenger чи socialвбудовані браузери месенджерів часто губять referrer, тож без UTM це стане «direct»
Партнер чи афіліатsource=назва-партнера, medium=affiliate чи referralузгодьте мітки в договорі з партнером
Підпис в emailsource=email-signature, medium=emailдрібниця, але часто напрочуд стабільна

Правило лишається тим самим: значення із закритого списку, сталий шаблон і запис посилання в таблиці-конструкторі — щоб той, хто читатиме звіт пізніше, знав, що таке «insert-card_202610».

Для Telegram-каналів це особливо важливо: багато українських бізнесів отримують звідти помітну частку трафіку, а без розмітки вона розчиняється в «прямих» заходах і не потрапляє в жоден звіт за каналами.

Хто відповідає за конвенцію

Призначте одного власника — зазвичай керівника маркетингу, — який погоджує нові значення source чи medium і оновлює таблицю-конструктор. Надавайте таблицю агенціям і фрилансерам у перший же день, а «посилання зібрані в конструкторі» робіть частиною кожного брифу на кампанію. Конвенції не працюють, коли живуть лише в чиїйсь голові.

Часті запитання

Чи потрібні UTM для Google Ads?

З автоматичним позначенням (gclid) GA4 сам визначає кампанії Google Ads. UTM можна додавати для CRM і сторонніх систем, але вони не мають суперечити автомітці.

Чому трафік з UTM потрапляє в Unassigned?

Найчастіше через нестандартний utm_medium. Групи каналів GA4 спираються на певні значення medium — використовуйте їх.

Чи можна виправити старі дані з кривими UTM?

У звітах GA4 — ні, але в BigQuery та дашборді — так, через таблицю нормалізації.

Чи впливають UTM на SEO?

Ні, якщо не ставити їх на внутрішні посилання і канонічні URL сторінок вказані коректно.

Теги: UTMGA4атрибуція

Автор

DATUMPANEL — Аналітика даних для бізнесу

DATUMPANEL — це незалежний аналітик даних з України. Будую дашборди для власників бізнесу, налаштовую GA4 і експорт у BigQuery, збираю пайплайни даних і автозвіти в Telegram для e-commerce, сервісного бізнесу, SaaS і агенцій — від аудиту даних до рішень.

Написати в Telegram[email protected]Відкрити демо

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

  • GA4 і трекінг10 хв читання

    Експорт GA4 у BigQuery: повний гайд для бізнесу

    Навіщо вмикати експорт GA4 у BigQuery, як він влаштований (events_, intraday, event_params), скільки коштує і які SQL-запити дають відповіді, яких немає в інтерфейсі GA4.

    Основний гайд

  • GA4 і трекінг6 хв читання

    Аудит аналітики: чекліст на 40 пунктів

    Покроковий аудит аналітики бізнесу — GA4, теги, UTM, конверсії, згода, CRM, реклама, сховище і дашборди — з чеклістом на 40 пунктів, пріоритетами виправлень і шаблоном звіту.

  • GA4 і трекінг6 хв читання

    Серверний трекінг і Measurement Protocol: коли він потрібен

    Що таке серверний трекінг, чим відрізняються server-side GTM і GA4 Measurement Protocol, які події варто слати з бекенду (оплати, повернення, офлайн-продажі), як не порушити згоду користувача і не задвоїти дані.

Хочете таку аналітику у себе?

Опишіть, які дані у вас є і на які запитання бракує відповідей. Відповім того ж дня — з планом, термінами й тим, що можна зробити швидко.

Або напишіть напряму:

Відкрити демо →

Залиште заявку

Відповім протягом робочого дня.

Що вас цікавить
Сфера бізнесу
Ще деталі · необов’язково
Орієнтовний бюджет · необов’язково
Коли зручно почати · необов’язково
Які джерела даних є · необов’язково

Надсилаючи форму, ви погоджуєтесь з Політикою конфіденційності — контакти використовуються лише для відповіді на заявку.