Сегодня хочу поговорить про домонетизацию трафика на наших сайтах. Я работаю разработчиком в двух командах, и, на удивление, обе они не используют абсолютно никакую домонетизацию, хотя я поднимал этот вопрос не один раз. В итоге владелец первой команды решился протестировать эту возможность, и я с большим желанием взялся за это дело.
Спойлер: ОНО РАБОТАЕТ!
Для теста было решено взять 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 так же будет переноситься в том же параметре, что позволит отслеживать целевые действия пользователя для дальнейшей оптимизации рекламных кампаний.
Теперь можно видеть полноценные отчёты по меткам в аналитике.