Сегодня хочу поговорить про домонетизацию трафика на наших сайтах. Я работаю разработчиком в двух командах, и, на удивление, обе они не используют абсолютно никакую домонетизацию, хотя я поднимал этот вопрос не один раз. В итоге владелец первой команды решился протестировать эту возможность, и я с большим желанием взялся за это дело.
Спойлер: ОНО РАБОТАЕТ!
Для теста было решено взять 5% активных прокл, на которые идет трафик. Домонетизировать будем только тех пользователей, которые уходят с главной страницы наших прокл, направляя их на другие наши лендинги. Изначально я не хотел использовать домонетки, различные витрины и прочий шлак, на которые мы фактически не можем повлиять и корректно отслеживать показатели и статистику.
Мы решили сделать самые простые и понятные тесты, чтобы понять, стоит ли вообще развивать внутренний продукт компании в этом направлении.
Приступим. Домонетизация трафика
Первым делом мы идем в Кейтаро и создаем новую кампанию для домонетизации. Кампания создается без фильтров. Один поток – в котором лежит один оффер. И все. Соответственно, оффер – это прокла на наш рекламируемый продукт, который не используется байерами. Можете сами написать или запросить в ПП, например.

Далее пишем простой JS-скрипт, который будем размещать на наших активных проклах, на которых хотим сделать домонетизацию.
Скрипт для домонетизации трафика
<script type="text/javascript">
! function() {
try {
onpopstate = function(t) {
t.state && location.replace("Ссылка_на_компанию_домонетизации")
};
for (var i = 0; i < 10; i++) setTimeout(function() {
history.pushState({}, "");
}, i * 50)
} catch (o) {
console.log(o)
}
}();
</script>
Этот код написан на языке JavaScript и выполняет следующие действия:
- Анонимная функция и обработка ошибок: Весь код обернут в анонимную функцию, которая вызывается немедленно. Это сделано для изоляции переменных и предотвращения их попадания в глобальную область видимости. Также в коде используется блок
try...catchдля обработки возможных ошибок и их вывода в консоль. - Обработчик события
onpopstate: Этот обработчик назначается глобальному объектуonpopstate. Он срабатывает, когда пользователь перемещается по истории браузера (нажимает кнопку «назад» или «вперед»). В данном случае, если объект состоянияt.stateсуществует (т.е. не равенnullилиundefined), страница будет перенаправлена на указанный URL («Ссылка_на_компанию_домонетизации»). - Изменение истории браузера: В цикле
forдесять раз выполняется функцияsetTimeout. Каждое выполнение с задержкой в 50 миллисекунд вызываетhistory.pushState, добавляя пустую запись в историю браузера. Это делается для создания дополнительных записей в истории, чтобы пользователь при нажатии на кнопку «назад» не мог сразу покинуть текущую страницу и вернулся к предыдущей посещенной странице.
Цель кода
Основная цель этого кода — предотвратить пользователя от легкого возврата на предыдущую страницу с помощью кнопки «назад» в браузере. Когда пользователь пытается вернуться назад, создается множество пустых записей в истории, которые нужно последовательно пройти, прежде чем он сможет покинуть текущую страницу. Если же он всё-таки нажимает «назад» достаточное количество раз, чтобы вернуться, срабатывает обработчик onpopstate, который перенаправляет его на указанный URL.
Результаты тестов
Наша домонетизация работала 30 дней на 5% общего трафика команды. Результаты меня более чем устраивают, и, честно говоря, я рассчитывал на меньшее. Поэтому мы решили масштабировать эту практику и увеличить процент трафика на домонетизацию.

Также в процессе буду дописывать и улучшать данный функционал для более продуманной работы. По готовности обязательно поделюсь.
UPD скрипта от 01.10.2024
Немного доработал скрипт, чтобы передавать все UTM-метки с нашего основного лендинга в партнерскую компанию для домонетизации.
Как работает скрипт:
Теперь все параметры, которые добавляются к URL после знака вопроса (включая UTM-метки), автоматически переносятся на новый сайт при переходе. Скрипт анализирует текущий URL, собирает все параметры и передает их на новый сайт, сохраняя полную информацию о рекламной кампании.
Кроме того, в этот процесс включен Facebook Pixel. При каждом возврате на предыдущую страницу или событии «назад», Facebook Pixel так же будет переноситься в том же параметре, что позволит отслеживать целевые действия пользователя для дальнейшей оптимизации рекламных кампаний.
Теперь можно видеть полноценные отчёты по меткам в аналитике.




