Создать URL
Генератор Правила транслитерации Как сделать ЧПУ Блог Вопросы и ответы Создать URL
Практика

Параметры URL в рекламе: макросы, трекинговые ссылки и защита от дублей

Разберём, какие параметры добавляют в рекламные ссылки, как использовать макросы и как защитить сайт от дублей.

Зачем параметры в рекламных ссылках

Рекламные ссылки нужны не только для перехода: с их помощью аналитика узнаёт, из какой кампании и объявления пришёл посетитель. Для этого к адресу страницы добавляют параметры: ?utm_source=...&utm_campaign=.... Рекламные системы сами подставляют идентификатор клика, а в ссылках объявлений используют макросы, то есть шаблоны, которые заменяются реальными значениями при показе. Всё это удобно для отчётов, но у параметров есть побочный эффект: страница с параметрами выглядит для робота как отдельный адрес.

Какие параметры встречаются

Параметры рекламных ссылок
ПараметрЧто означаетКто добавляет
utm_sourceИсточник: система или площадкаВы в ссылке объявления
utm_mediumТип трафика: реклама, рассылкаВы
utm_campaignНазвание кампанииВы или макрос
utm_contentВариант объявленияВы или макрос
utm_termКлючевая фразаВы или макрос
yclid, gclid, fbclidИдентификаторы клика рекламных системРекламная система автоматически
Свои параметрыИдентификаторы партнёров, тестыВы

Разбор основных меток: UTM-метки и параметры в URL, а идентификаторы кликов — в статье метки рекламных систем.

Макросы в ссылках

Макрос — заготовка в фигурных скобках, вместо которой система подставляет значение: номер кампании, объявления, ключевую фразу, тип площадки. Так одна ссылка обслуживает много объявлений, а в отчёте видно, какое сработало.

https://example.ru/katalog/divany/?utm_source=yandex&utm_medium=cpc&utm_campaign={campaign_id}&utm_content={ad_id}

Набор доступных макросов и их написание определяются рекламной системой и могут меняться, поэтому берите их из актуальной справки, а не из чужих шаблонов. Перед запуском проверьте, что ссылка в объявлении корректно заменяет макросы: откройте её тестовым кликом и посмотрите адрес в браузере.

Правила написания

  • Названия и значения в нижнем регистре и латиницей, без пробелов: разные написания одной метки разбивают отчёт на части.
  • Единая схема названий на всю компанию: единая разметка кампаний.
  • Не используйте метки во внутренних ссылках сайта: они перезаписывают источник визита.
  • Не передавайте через параметры персональные данные: адреса попадают в отчёты, журналы и историю браузера.
  • Проверяйте, что при редиректах параметры сохраняются: редирект с параметрами.

Как параметры создают дубли

Одна страница/katalog/divany/?utm_source=yandex?yclid=123456?utm_campaign=sale
Одна страница/katalog/divany/?utm_source=yandex?yclid=123456?utm_campaign=sale
Один контент — несколько адресов

Для человека все эти адреса ведут на одну страницу, а для робота — на разные. Если он находит ссылки с параметрами (в рекламе, в соцсетях, в чужих публикациях), в индекс могут попасть копии страниц, обход растратится на них, а ссылочный вес разделится. Общая картина проблемы: ссылки с параметрами.

Защита от дублей

Способы защиты от дублей
СпособКак работаетЧто учесть
CanonicalКаждая страница указывает основной адрес без параметровЭто подсказка, но самая универсальная защита
Директива Clean-paramСообщает роботу Яндекса, какие параметры не меняют содержимоеРаботает для Яндекса; другие роботы её не читают
Настройки в панелях вебмастеровОбработка параметров в интерфейсеВозможности зависят от панели: как настроить
Редирект на чистый адресУбирает параметры после сохранения меткиНужен скрипт, который успеет отправить данные в аналитику
<link rel='canonical' href='https://example.ru/katalog/divany/'>
User-agent: Yandex
Clean-param: utm_source&utm_medium&utm_campaign&utm_content&utm_term&yclid

Синтаксис и особенности директивы описаны в статье директива Clean-param. Не закрывайте адреса с параметрами в robots.txt запретом: робот не увидит ни канонический адрес, ни метки, а ссылки останутся в базе.

Проверка и очистка адресов

from urllib.parse import urlsplit, urlunsplit, parse_qsl, urlencode

TRACK = {"utm_source", "utm_medium", "utm_campaign", "utm_content",
         "utm_term", "yclid", "gclid"}

def clean(url):
    p = urlsplit(url)
    query = [(k, v) for k, v in parse_qsl(p.query) if k not in TRACK]
    return urlunsplit((p.scheme, p.netloc, p.path, urlencode(query), ""))

print(clean("https://example.ru/katalog/?utm_source=yandex&page=2"))
# https://example.ru/katalog/?page=2

Скрипт удаляет рекламные параметры, оставляя значимые, например номер страницы. Его удобно применять при анализе выгрузки адресов из логов или отчётов: так видно, сколько на самом деле уникальных страниц, а сколько вариантов с метками.

Типичные ошибки

  • Метки в разном регистре и написании: отчёты дробятся.
  • Макрос не заменился, и в отчёте появляются значения с фигурными скобками.
  • Canonical указывает на адрес с параметрами.
  • В карту сайта попали адреса с метками.
  • Редирект теряет параметры, и источник трафика в аналитике становится прямым заходом.

Вывод. Параметры полезны для аналитики, но должны оставаться рекламным слоем: единый стиль названий, макросы из актуальной справки, каноническая ссылка на чистый адрес и Clean-param для Яндекса.

Частые вопросы

Что такое макрос в рекламной ссылке?

Шаблон в фигурных скобках, вместо которого рекламная система подставляет значение, например номер кампании или объявления.

Как защититься от дублей из-за меток в адресе?

Указать каноническую страницу без параметров и добавить директиву Clean-param для Яндекса; адреса с метками не должны попадать в карту сайта.

Можно ли ставить UTM-метки во внутренние ссылки?

Не стоит: метка перезаписывает источник визита и искажает отчёты; метки нужны только для внешних рекламных ссылок.

Готовый адрес можно собрать прямо сейчас: откройте генератор ЧПУ — он транслитерирует фразу по таблице Яндекса, уберёт служебные слова и покажет длину адреса.

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