Бесплатный ТРЕКЕР для Редиректа - Как отслеживать визиты на сайт при прямом редиректе на оффер: бесплатный «костыль» без Кейтаро и других платных трекеров
Если вы ещё не завели продвинутый трекер, а передавать трафик с промежуточного сайта на финальный оффер уже нужно, и при этом хочется видеть посещения (контролировать, что ваш дорогой партнер вас не
наёбывает обманывает) - есть простое решение.
Связка: Яндекс.Метрика + JavaScript-редирект внутри страницы.
🔥 В чём проблема
При классическом 301 или 302 редиректе сервер отправляет команду перейти на другой сайт ещё до загрузки содержимого страницы. Код Метрики просто не загружается, как и вся страница, а идет перенаправление на другой url и загрузка контента с нового ulr.
✅ Решение
Размещаем вместо контента в файле index.html два блока: код Метрики и код редиректа с задержкой. Суть - начать загружать страницу, где будет метрика, и запретить редиректу выполняться мгновенно, дав счётчику фору на инициализацию и отправку данных.
Вот готовый шаблон страницы:
html
<!-- 1. СЧЁТЧИК ЯНДЕКС.МЕТРИКИ (стандартный код без изменений) -->
<script>
(function(m,e,t,r,i,k,a){m[i]=m[i]
function(){(m[i].a=m[i].a[]).push(arguments)};... })
(window, document, "script", "
https://mc.yandex.ru/metrika/tag.js", "ym");
ym(XXXXXX, "init", { /* ваши настройки */ });
</script>
<!-- 2. РЕДИРЕКТ С ЗАДЕРЖКОЙ -->
<script>
window.addEventListener('load', function() {
setTimeout(function() {
window.location.href = '
https://НОВЫЙ-САЙТ.net' + window.location.pathname +
window.location.search;
}, 300); // 300 мс - достаточно для отправки данных Метрикой
});
</script>
<!-- 3. ЗАПАСНОЙ РЕДИРЕКТ ДЛЯ ПОЛЬЗОВАТЕЛЕЙ С ОТКЛЮЧЁННЫМ JS -->
<noscript>
<meta http-equiv="refresh" content="1;url=
https://НОВЫЙ-САЙТ.net">
</noscript>
⚙️ Как это работает
window.addEventListener('load') - ждём полной загрузки всех скриптов, включая tag.js Метрики.
setTimeout(..., 300) - даём счётчику 300 миллисекунд на инициализацию и отправку сигнала о визите. Этого хватает в 99% случаев.
pathname + search - сохраняем путь и UTM-метки, пользователь попадает на ту же страницу нового сайта.
<noscript> - страховка: если JS отключён, через 1 секунду сработает HTML-редирект (Метрика его не засчитает, но пользователь не зависнет).
📈 Альтернатива для прокачанных
Если хотите совсем без задержек - используйте отложенную инициализацию Метрики:
На старом сайте инициализируете счётчик с параметром defer: true (запрещает автоматическую отправку визита).
Редиректите без задержки, добавив в URL метку, например ?from_old_site=1.
На новом сайте ловите эту метку и вручную отправляете хит:
javascript
if (window.location.search.includes('from_old_site=1')) {
ym(XXXXXX, 'hit', window.location.href, {
referer: '
https://старый-сайт.net'
});
}
Этот способ сложнее, но полностью исключает конфликт редиректа и счётчика.
💎 Итог
Самый простой и рабочий вариант - задержка в 300 мс перед JS-редиректом. Метрика успевает отработать, данные о визитах копятся, и вы видите реальную картину по трафику без покупки Кейтаро и прочих трекеров.
Ну а когда уже будут денежки от партнеров, можно и на Кейтаро раскошелиться, он что-то в районе 50 долларов стоит в месяц, не так уж и дорого… Тем более там куча полезных фишек помимо такой простой операции, как описал выше!
А чтоб в 1 операцию поставить это на все сайты сети - просто “анчекните” в настройках метрики пункт
“Принимать данные только с указанных адресов“.
Ну и возможно еще нужно поиграться с настройками задержки - выставить не 300 мс, а 500-700 мс.
🔁 Сохраняйте, пригодится.