Перейти к основному содержимому

Раздел 7. Разметка трафика

В этом разделе — всё про UTM-метки в SCAN: зачем они нужны, как должны быть устроены, какие шаблоны использовать для каждого рекламного источника и как проверить, что разметка работает корректно.


7.1. Зачем нужна разметка

UTM-метки — это параметры в URL посадочной страницы (например, ?utm_source=yandex&utm_medium=cpc&utm_campaign=astrology), по которым SCAN определяет, откуда пришёл пользователь. Без них вся аналитика по источникам, рекламным расходам и окупаемости работать не будет.

Что SCAN делает с UTM-метками

  1. Считывает метки из URL, по которому пользователь перешёл на сайт школы или прямо на форму регистрации в GetCourse.
  2. Сохраняет их в карточке пользователя в GetCourse — в специальное доп.поле SCAN.
  3. Привязывает регистрацию (а через неё — все будущие заказы и платежи) к конкретному источнику, кампании и объявлению.
  4. Сопоставляет ID объявления из метки с записью в таблице объявлений — и подтягивает к нему расход.
  5. Считает окупаемость по каждой метке — ROMI, ROAS, ДРР, CPL — в отчёте по рекламе.

Что будет без меток

  • Регистрация попадёт в категорию «Без меток» или «-» в любом отчёте по источникам.
  • В отчёте по рекламе такая регистрация не свяжется ни с одним объявлением — расход будет, а атрибуции не будет, метрики окупаемости станут недостоверными.
  • Невозможно посчитать CPL, ROMI, ROAS по конкретному каналу или кампании.
  • Нельзя сравнить «что лучше работает — Яндекс или ВК».
  • Бюджет фактически расходуется «вслепую».

Метки — это единственный способ для SCAN понять, откуда пришёл пользователь. Без UTM SCAN видит факт регистрации в GetCourse, но не видит её источник. Поэтому первое правило работы с рекламой в SCAN — размечать все ссылки, которые ведут на регистрацию.


7.2. Структура UTM-меток

SCAN обрабатывает 6 UTM-параметров: 5 стандартных (по протоколу Google Analytics) и 1 дополнительный.

ПараметрЗачем нуженПример значения
utm_sourceИсточник трафика — рекламная система или площадкаyandex, vk, google, tg, email, partner
utm_mediumТип трафикаcpc (платный клик), cpm (за показы), email (рассылка), social (соцсети), referral (партнёр), organic (бесплатно)
utm_campaignНазвание рекламной кампанииastrology-jan-2026, webinar-zhenskaya-energiya
utm_termКлючевое слово (для контекстной рекламы)как найти призвание, курс астрологии
utm_contentКонкретное объявление, креатив или ссылкаЧаще всего — ID объявления (см. 6.1. Разметка динамических параметров)
utm_group (SCAN)Группа объявлений (доп. уровень в иерархии)ID группы или название

Правила написания значений

Только латиница, цифры, дефис и подчёркивание. Никакой кириллицы, пробелов, спецсимволов в значениях UTM. Кириллица в URL может «закодироваться» в %D0%B0%D0%B5... или вовсе сломаться при редиректах.

❌ Плохо: utm_campaign=Курс по астрологии, utm_source=Яндекс, utm_medium=cpc m ✅ Хорошо: utm_campaign=astrology-course, utm_source=yandex, utm_medium=cpc

Стандарт «один параметр = одна сущность»

Не пытайтесь упихать всё в один параметр через свои разделители — это ломает аналитику. Используйте по назначению:

  • источникutm_source,
  • тип трафикаutm_medium,
  • кампанияutm_campaign,
  • объявлениеutm_content,
  • ключевое словоutm_term.

Исключение — рекламные кабинеты (Яндекс, VK), где один параметр (utm_campaign или utm_content) содержит составное значение с разделителями | и динамическими макросами. Для них SCAN умеет парсить позицию ID — см. колонку «Где в UTM метке ID объявления?» при настройке кабинета в 6.1.

Несовпадение значений = потеря данных

Малейшая опечатка в метке ломает атрибуцию. Если в одной ссылке utm_medium=cpc, а в другой — utm_medium=cpc (с пробелом в конце) или utm_medium=CPC (с большой буквы) — SCAN будет считать их разными источниками. То же самое с tg vs telegram, vk vs vkontakte.

Один кабинет — одна разметка. Перед стартом кампании договоритесь с командой, какие именно значения вы используете для utm_source / utm_medium, и строго придерживайтесь их во всех ссылках.

Длинные числа в utm_content

Слишком длинные числа в utm_content (больше ~25 цифр подряд) могут не сохраниться в карточке пользователя GetCourse — регистрация не дойдёт до SCAN. Если в Вашем макросе получаются «склеенные» ID типа 2384654764451062523846547644850625 — разделите их через | или -, либо используйте более короткий идентификатор.


7.3. Разметка по источникам

Ниже — готовые шаблоны разметки для самых частых источников трафика в проектах GetCourse + SCAN. Везде, где в значении используются {макрос} — это динамический параметр рекламной системы, который площадка автоматически заменяет на реальный ID при клике (см. 6.1. Разметка динамических параметров).

Платная реклама

Яндекс.Директ (обычные объявления)

?utm_source=yandex
&utm_medium=cpc
&utm_campaign={campaign_id}
&utm_term={keyword}
&utm_content={ad_id}

Яндекс.Директ (Мастер кампаний)

?utm_source=yandex
&utm_medium=cpc
&utm_campaign={campaign_id}
&utm_content={campaign_id}

В Мастер-кампаниях нет отдельных объявлений — поэтому в utm_content пишем тот же {campaign_id}.

VK Реклама (новый кабинет)

?utm_source=vk
&utm_medium=cpc
&utm_campaign={{campaign_name}}
&utm_content={{banner_id}}

Вконтакте (старый кабинет)

?utm_source=vk
&utm_medium=cpc
&utm_campaign={campaign_name}
&utm_content={ad_id}
?utm_source=google
&utm_medium=cpc
&utm_campaign={campaign}
&utm_term={keyword}
&utm_content={creative}

myTarget

?utm_source=mytarget
&utm_medium=cpc
&utm_campaign={{campaign_name}}
&utm_content={{banner_id}}

Facebook Ads

?utm_source=facebook
&utm_medium=cpc
&utm_campaign={{campaign.name}}
&utm_content={{ad.id}}

Telegram Ads (платная реклама в Telegram)

?utm_source=tgads
&utm_medium=cpc
&utm_campaign=название-кампании-латиницей
&utm_content=ID-объявления

Telegram Ads не поддерживает динамические макросы — все значения нужно прописывать вручную при создании объявления.

Органика и партнёры

Email-рассылки (GetCourse)

?utm_source=email
&utm_medium=email
&utm_campaign={название_рассылки}
&utm_content={ID_письма}

GetCourse не подставляет UTM автоматически в рассылки — нужно прописывать руками в шаблоне письма.

Telegram (органика, посты, посевы у блогеров)

?utm_source=tg
&utm_medium=social
&utm_campaign={название_канала_или_блогера}
&utm_content={название_поста}

YouTube (органика, описания под видео)

?utm_source=youtube
&utm_medium=social
&utm_campaign={название_видео}
&utm_content={timestamp_или_место_в_описании}

Партнёрский трафик / реферальная ссылка

?utm_source=partner
&utm_medium=referral
&utm_campaign={имя_партнёра_или_школы}
&utm_content={название_акции}

Альтернатива — использовать домен партнёра в utm_source (например, utm_source=kadalier.ru). SCAN распознаёт оба варианта.

Реклама у блогера (оффер, договор)

?utm_source=blogger
&utm_medium=influencer
&utm_campaign={имя_блогера}
&utm_content={формат_рекламы}

SMS-рассылки

?utm_source=sms
&utm_medium=sms
&utm_campaign={название_рассылки}

Сводная таблица

Источникutm_sourceutm_mediumutm_content (макрос)
Яндекс.Директyandexcpc{ad_id}
Яндекс.Директ (Мастер)yandexcpc{campaign_id}
VK Рекламаvkcpc{{banner_id}}
Вконтакте (старый)vkcpc{ad_id}
Google Adsgooglecpc{creative}
Facebook Adsfacebookcpc{{ad.id}}
myTargetmytargetcpc{{banner_id}}
Telegram Adstgadscpcпрописать вручную
Telegram (органика)tgsocialпрописать вручную
EmailemailemailID письма
Партнёркаpartner или домен_партнёраreferralпрописать вручную
YouTubeyoutubesocialназвание видео

7.4. Скрипт отслеживания

Чтобы SCAN видел UTM-метки на сайте школы (Tilda, Wordpress, лендинги, GetCourse), нужно установить скрипт отслеживания — фрагмент JS, который читает метки из URL и передаёт их в SCAN при регистрации.

Маршрут в SCAN: Настройки → Скрипт отслеживания → Скрипт GetCourse (открыть).

Страница «Скрипт для GetCourse»: код скрипта, переключатели валидации/перекидывания UTM, междоменное отслеживание

Что делает скрипт

  1. Читает все utm_* параметры из текущего URL.
  2. Сохраняет их в cookie домена (или localStorage) на 30 дней — чтобы метки «не терялись», если пользователь сначала зашёл на лендинг, а потом на другой странице зарегистрировался.
  3. При регистрации в GetCourse передаёт сохранённые UTM в специальное доп.поле SCAN в карточке пользователя.

Где взять и куда вставить

  1. Откройте в SCAN Настройки → Скрипт отслеживания → Скрипт GetCourse (открыть).
  2. Нажмите «Скопировать в буфер» — код скопируется в буфер обмена.
  3. В GetCourse зайдите в Настройки → Дизайн → Виджеты сайта → Дополнительные виджеты (точное расположение может отличаться от версии).
  4. Вставьте скрипт. Сохраните.
  5. Если у Вас отдельные сайты вне GetCourse (Tilda, Wordpress) — вставьте этот же скрипт на каждый сайт перед закрывающим </body>.

GetCourse: поле «Счетчики и прочие скрипты для BODY» — сюда вставляется скрипт SCAN

В GetCourse поле для скрипта называется «Счетчики и прочие скрипты для BODY» — изменения применяются в течение 10 минут.

Опции скрипта

На странице — три переключателя:

  • Валидация электронной почты — скрипт проверяет правильность формата email при регистрации (опечатки типа «mai.ru» → «mail.ru», «gmail.con» → «gmail.com») и подсвечивает их пользователю.
  • Перекидывать UTM метки на все страницы — даже если пользователь сначала зашёл на лендинг, потом перешёл на главную, метки сохраняются и применяются к регистрации, где бы он её ни сделал. Рекомендуется включить — это повышает процент атрибуции.
  • Показывать идентификатор отслеживания в адресной строке — добавляет к URL служебный параметр SCAN для удобства отладки. Для боевого использования обычно оставляют выключенным.

Междоменное отслеживание

Если Ваша школа использует несколько доменов (например, лендинг на mysite.com, регистрация на mysite.getcourse.ru, основной сайт на tilda.ws) — без специальной настройки UTM-метки не передаются между доменами. Браузер не пускает cookie одного домена на другой.

В SCAN есть раздел «Междоменное отслеживание» — список доменов, между которыми SCAN автоматически прокидывает UTM-метки через специальный параметр в URL.

Чтобы добавить домен:

  1. Прокрутите до раздела «Междоменное отслеживание».
  2. Нажмите «+ Добавить домен».
  3. Введите домен (без https://, без слэша в конце), например mysite.com.
  4. Включите переключатель.

После этого SCAN при переходе пользователя с одного домена на другой автоматически перекидывает UTM-метки через query-параметр и восстанавливает их на новом домене. Без этого пользователь, который пришёл на lending.com?utm_source=yandex, а потом перешёл на school.getcourse.ru/register, потеряет метки и будет атрибутирован как «прямой переход».


7.5. Проверка разметки

В SCAN нет отдельного UI-валидатора («вставь URL — увидь, какие метки распознались»), но есть несколько способов убедиться, что разметка работает.

Как проверить, что всё работает

Способ 1. Сделать тестовую регистрацию

  1. Возьмите готовую размеченную ссылку из своей рекламной кампании.
  2. Перейдите по ней в режиме инкогнито (чтобы не было старых cookie).
  3. Зарегистрируйтесь как новый пользователь с тестовым email.
  4. В GetCourse откройте карточку этого пользователя → доп.поле «SCAN UTM» (или похожее).
  5. Там должны быть все ваши метки одной строкой.

Способ 2. Проверить регистрацию в SCAN

  1. Откройте отчёт по регистрациям или отчёт по рекламе.
  2. Поставьте период «Сегодня» и фильтр по своему тестовому email.
  3. Включите группировки по UTM source / UTM campaign / UTM content.
  4. Если ваш тестовый юзер виден в строке с правильными метками — всё работает. Если в строке «-» или «Без меток» — что-то сломалось.

Способ 3. Через DevTools браузера

  1. Откройте лендинг с UTM в URL.
  2. F12 → вкладка Application → Cookies (или Storage → LocalStorage).
  3. Найдите ключ типа scan_utm, school_webvisor или _scan_* — там должны лежать метки в JSON.
  4. Если их нет — скрипт не отрабатывает (не вставлен, заблокирован, неправильный school_id).

Типичные проблемы

СимптомПричинаРешение
Регистрации идут, но в «Без меток»Скрипт не установлен / не загружается / стоит блокировщикПроверить установку, отключить адблоки на тестовом устройстве
Часть регистраций с метками, часть безПользователи приходят с разных лендингов, не все размеченыРазмечать все ссылки, включая старые посты, рассылки, описания видео
Мобильное приложение GetCourse «съедает» меткиРедирект через приложение теряет query-параметрыИзвестная проблема. Размечать ссылки максимально компактно, минимизировать длину UTM
Кириллица в utm_campaign не работаетURL-кодирование ломается на разных площадкахТолько латиница / цифры / дефис / подчёркивание
Опечатка cpc (с пробелом) дробит источник на дваМалейшая разница в значении — отдельная строкаПривести все ссылки кампании к единому виду
Очень длинные числа в utm_content — регистрация не появляется в SCANДлинные строки не сохраняются в доп.поле GetCourseСократить ID, использовать разделители

Перед запуском новой рекламной кампании сделайте 2–3 тестовые регистрации по своим же ссылкам в режиме инкогнито. Проверьте через 5–10 минут в отчёте по регистрациям — попали ли они в нужные строки. Это сэкономит десятки тысяч рублей на «слитом» бюджете без атрибуции.