Фокси Форум

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

Giorgos Giorgos · UserID: 265 · Рег: 30.01.2025
Giorgos
Giorgos
UserID: 265
Рег: Jan 30, 2025
Тема: Как удалить utm_referrer после передачи реферера в Метрику

Если пользуетесь антиботом наряду с Яндекс.Метрикой, то важно включить подстановку utm_referrer в URL сайта. Иначе в Метрике все заходы будут помечены, как «прямые».

Включить такую настройку антибота можно в разделе «Конфиг» – «UTM Referrer» (и заодно включите запрет индексации utm_referrer):

Но у этого подхода есть минус: урлы становятся слишком длинными, некрасивыми. Плюс, если кто-то скопирует адрес в таком виде, то статистика Метрики станет некорректной. Ведь если поделиться ссылкой в конце которой указан, например, ?utm_referrer=https://www.google.com/, то все переходы Метрика ошибочно причислит к визитам из Гугла.

Чтобы исправить ситуацию, необходимо модифицировать код Метрики:

<script type="text/javascript" >

(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};

m[i].l=1*new Date();

k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,k.onload = function() { if (window.history && window.history.replaceState) { var url = new URL(window.location); url.searchParams.delete("utm_referrer"); window.history.replaceState({}, '', url); }}; a.parentNode.insertBefore(k,a)})

(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");

ym(вставьтеидентификаторвашегосчётчика, "init", {

clickmap:true,

trackLinks:true,

accurateTrackBounce:true,

webvisor:true

});

</script>

<noscript><div><img src="https://mc.yandex.ru/watch/вставьтеидентификаторвашегосчётчика" style="position:absolute; left:-9999px;" alt="" /></div></noscript>

На картинках я выделил нужные куски, которые надо добавить / заменить в оригинальном коде Метрики:

В итоге utm_referrer будет автоматически удаляться сразу после передачи реферера в Яндекс.Метрику. Попробуйте!

30 января 2025 в 21:40 (изменено: 30 января 2025 в 21:55)
Mik Foxi Mik Foxi · UserID: 2 · Рег: May 07, 2020
Mik Foxi
Mik Foxi
UserID: 2
Рег: May 07, 2020
PostID: 511
# 1
Re: Как удалить utm_referrer после передачи реферера в Метрику

Мой пересказ для понятности ))) После стандартного кода метрики:

k.async=1,k.src=r,

Вставить в ту же строку:

k.onload = function() { if (window.history && window.history.replaceState) { var url = new URL(window.location); url.searchParams.delete("utm_referrer"); window.history.replaceState({}, '', url); }};

Вот так будет выглядеть:

На этом форуме все это проделано. Работает вроде. Для проверки - в анонимном режиме браузера (или почистив куки) зайти с реферером, например через Яндекс, сначала будет подставлен utm_referrer в URL, а после загрузки метрики будет стерт из урл без перезагрузки страницы.

31 января 2025 в 17:24
Mik Foxi Mik Foxi · UserID: 2 · Рег: May 07, 2020
Mik Foxi
Mik Foxi
UserID: 2
Рег: May 07, 2020
PostID: 637
# 2
Re: Как удалить utm_referrer после передачи реферера в Метрику

Если метрика показывает 2 и более IP адресов - значит в процессе хождения по сайту у юзера изменился IP и метрика так это объединяет для статистики.

27 февраля 2025 в 18:46
Служба поддержки форума: Telegram: @MikFoxi, Email: admin@mikfoxi.com