«У нас самая непробиваемая клоака», «Используем искусственный интеллект для анализа трафика», «Анализируем SSL-фингерпринты», «Нейросеть оценивает каждого посетителя». Такие заявления от создателей клоак — отличный способ привлечь новых доверчивых клиентов и задрать цену хотя бы на порядок. Чтобы понять, почему всё это не более чем маркетинг, нужно разбираться в том, как клоаки работают изнутри. Именно об этом я вам сегодня и расскажу. Статью эту я писал давно, и с тех пор кое-что поменялось: заголовки, базы, пара трюков. А суть стоит, где стояла. Так что я её освежил, а не переписал.
Как работает клоака?
Клоака анализирует входящий трафик и по результатам проверки показывает либо black-page для обычного человека, который перешёл с рекламы, либо white-page для ботов и модераторов. Всё. Остальное — детали, но именно в деталях и живёт разница между клоакой, которая работает, и клоакой, которая дорого стоит.
Как анализируется входящий трафик?
Самый важный тезис: клоака должна анализировать только те данные, которые может получить до того, как посетитель увидел сайт. Очевидно, потому что первично решение, какую страницу вообще показывать. Никаких «сначала покажем, потом разберёмся». А доступно нам на этот момент, прямо скажем, немного.
Заголовки, содержащие в себе IP-адреса
Для анализа нам вполне подойдут:
- CF-Connecting-IP
- CF-Connecting-IPv6
- X-Forwarded-For
- X-Real-IP
- Client-IP
- Remote-Addr
Адреса в них могут быть разными. Например, если человек использует Opera Turbo или его провайдер проксирует трафик, адрес надо ловить не в Remote-Addr, а в X-Forwarded-For. А под IPv6 у Cloudflare отдельный заголовок, и такого трафика с каждым годом всё больше — не замечать его уже нельзя. Потому анализировать нужно все адреса, которые поймали в этих заголовках.
Тут сразу можно выловить первый триггер — нецелевое гео. Это всегда и гарантированно автоматический бан с добавлением адреса в чёрный список.
Далее клоака должна сверять айпишники со своей базой чёрных списков. Именно в качестве базы и в том, какими инструментами она собирается, лежит ключевое отличие хорошей клоаки от плохой. В первой версии этой статьи я написал, что подробно о составлении полных чёрных списков рассказать не могу: это, мол, секрет моей клоаки AlterCPA One, которую я не рекламирую, потому что такое чудо в рекламе не нуждается. Каюсь. Насчёт «не рекламирую» — соврал, причём с размахом: с тех пор мы эти самые чёрные списки упаковали в отдельный продукт и продаём. Называется AlterCPA Smart — списки IPv4, подсетей и IPv6, обновляются каждые пять минут, отдаются по API-ключу. Подключить можно куда угодно: в свои Pro, Cloud и Lite, да хоть в чужой трекер вроде Keitaro. Нужен тариф One не ниже «Стандарта», это $150 в месяц. Так что секрет я по-прежнему не рассказываю. Я его продаю.
Кое-что бесплатно рассказать всё же могу. К примеру, всем известная сеть «мордокнига» сама публикует базу адресов своих ботов. Есть известная всем база от команды NPPR. Есть разные фишки по составлению списков: если с одной подсети заходит много нецелевого трафика — можно заблокировать сразу всю подсеть. С недавних пор в списках появились и базы VPN: по умолчанию они выключены, включаются полным комплектом фильтров в настройках кампании.
И раз уж зашла речь про VPN — предостережение из свежего. После недавнего обновления моя клоака ловит прокси и VPN куда жёстче. Побочный эффект прилетел самим арбитражникам: любимый ритуал «залил кампанию, открыл через прокси, убедился, что показывается блек» больше не работает. Прокси теперь банится как нарушитель — потому что он и есть нарушитель, — и тестировщик видит вайт вместо блека. Это не баг клоаки, это клоака. Хотите проверить свой блек — занесите свой IP в белый список и смотрите с него. Гонять клоаку через случайный прокси и пугаться — проверка не клоаки, а собственных нервов.
Заголовок User-Agent
У живого человека сразу будет видно мобильное устройство или десктоп. А бот здесь же подпишется, что он бот. Если юзерагента нет — смело отправляем на вайт, у реального человека он есть всегда, без исключений. И, забегая вперёд, юзерагент — далеко не единственное место, где гость расписывается в том, кто он такой.
Заголовок Accept-Language
Используется почему-то не во всех клоаках. В этом заголовке указывается, какие языки принимает браузер. К примеру, трафик идёт на Россию, а в Accept-Language только английский — отправляем на вайт. Отсутствие локального языка в Accept-Language — один из основных триггеров.
ID рекламного клика
Про этот триггер в первой версии статьи я не писал, а зря — он из самых надёжных. Рекламная сеть подписывает каждый клик своим параметром в ссылке: Facebook — fbclid, Google — gclid, TikTok — ttclid, и ещё с десяток вариантов под другие сети. Живой человек с рекламы приходит с таким параметром всегда. Пришёл без него — значит, пришёл в обход рекламы: набрал адрес руками, открыл из закладок или из рабочей вкладки модератора. Всех, кто явился без клика, — на вайт. Под Google эту проверку нельзя выключать вовсе.
Заголовки, в которых гость сдаёт себя сам
Часть ботов и модераторов вообще не нужно вычислять — они приходят с табличкой на груди. Несколько сигнатур, которые я отправляю на вайт не думая:
X-Purpose: preview— это Safari, который втихую подгружает страницу заранее, ещё до того, как человек по ней кликнул. Не визит, а прогрев.X-FB-HTTP-Engine: liger— встроенный движок Facebook: страницу запросила сама соцсеть, а не человек.Via: translate.google.com— кто-то смотрит сайт через Google Переводчик. Любимый способ модератора глянуть ленд на языке, которого он не знает.- Реферер с
adheart,tolokaилиyandex-team.ru— это не покупатель, это спай-сервис или модератор, зашедший прямо из рабочей вкладки.
Заметьте: ни одна из этих проверок не требует ни скрипта, ни секунды ожидания. Всё это лежит в заголовках запроса ещё до того, как клоака решила, что показывать.
Развеиваем маркетинговые уловки клоак
Некоторые клоаки заявляют, что собирают чёрные списки по fingerprint устройства, что само по себе крайне глупая затея. Выдавать её за преимущество как минимум странно. Во-первых, чтобы получить фингерпринт, нужно сделать запрос JS-скриптом ещё до того, как человек попал на белый или чёрный сайт. То есть, по сути, спалить часть работы самой клоаки. Тот же Google с великим удовольствием выдаст за это ошибку «Вредоносное ПО», и можно прощаться с рекламной кампанией. А во-вторых, отпечатки одного и того же модератора меняются.
Есть и более интересный способ — сбор отпечатков SSL-соединения. Это ещё больший обман. Отпечаток SSL всегда зависит от двух компьютеров: того, который обращается, и того, к которому подключаются. Один и тот же модератор при связи с одним сервером будет иметь один отпечаток, а при связи со вторым — уже другой. Адреса серверов клоаки постоянно меняются, иначе они будут просто заблокированы рекламными сетями. Кстати, для этой самой смены адресов у нас есть отдельный инструмент — PrivateFlare: обратный прокси с WAF, который прячет реальный сервер и меняет домены за секунды, не трогая бекенд. Так что способ ловли по фингерпринтам SSL-соединения — не рабочий. Он запоминает не модератора, а пару «модератор плюс ваш сервер», а сервер вы завтра смените.
И моё любимое: машинное обучение, искусственный интеллект и прочая нейросеть. В любой сфере применения этой технологии есть важное условие: из полученных данных должна складываться рабочая корреляция. На входе юзера мы не получаем ни размеров экрана, ни количества ядер процессора — никакой информации, из которой можно собрать закономерности. По-хорошему для такой аналитики нужны данные о поведении, как минимум движение мыши, а это до показа страницы нереально. Соответственно, и корреляцию с адекватным уровнем попадания составить нельзя. Работать это может только при сборе данных скриптами уже после попадания человека на сайт. Почему злоупотреблять скриптами нельзя — написал выше.
Расскажу, как «искусственный интеллект» выглядит у меня самого. Умные облачные списки в One клиенты, а порой и мои же маркетологи, гордо зовут ИИ и машинным обучением. Устроены они до обидного просто: по расписанию, обычным кроном, система сгружает лог визитов и автоматически банит адреса и подсети, которые за этот период превысили порог нецелевых обращений. Всё. Никакой нейросети, которая в реальном времени взвешивает конкретного посетителя по отпечатку: «обучение» идёт на общей массе трафика и нужно для одного — чтобы чёрные списки не протухали. Работает отлично. Но когда вам продают то же самое как ИИ за десятикратную цену — вспомните этот абзац.
Облачная или серверная?
Эффективность клоаки сильно зависит от размера и качества её чёрных списков.
- Хорошая облачная клоака анализирует трафик всех клиентов по всем странам и источникам и адаптирует чёрные списки. Для масштаба: через наше облако за год проходит около 240 миллионов кликов, из них 156 миллионов улетают в мусор и 84 миллиона доходят до блека. Каждый бот, пойманный на чужой кампании, дальше не пройдёт и на вашу — чужой трафик работает на вас. При работе с разными гео и небольшим объёмом трафика облачный вариант будет лучше: в нём заранее есть заготовки на все случаи жизни. Из минусов — возможны ложноположительные срабатывания на некоторых подсетях, которые попали в бан из-за ошибок какого-нибудь пользователя. Здесь подойдёт AlterCPA One. Тот же фильтр, кстати, умеет работать и щитом перед вашим лендингом, чтобы его не спарсили конкуренты, — это я разбирал в отдельном кейсе про защиту от парсинга.
- Преимущества клоаки на своём сервере раскрываются на больших объёмах трафика. Такой вариант идеально подойдёт для арбитражной команды, особенно работающей со своими собственными рекламодателями по узкому гео. Возможно, первое время эта клоака сработает чуть хуже, пока самообучается, но через несколько дней даст лучший результат, не загаженный случайными кривыми заливами пользователей облачной версии. Тут рекомендуется AlterCPA Pro. А если ждать эти несколько дней жалко, серверную клоаку можно подписать на те самые Smart-списки из облака и получить оба варианта разом.
Чем отличается хорошая клоака от плохой?
Дорогая от дешёвой? Все инструменты, которые реально работают, примитивны: анализ IP, юзерагентов, языка, наличия клика. Хорошая клоака просто умеет грамотно с этим работать. И таких много. Дорогие клоаки обещают искусственный интеллект и прочие прелести, но платить за это нецелесообразно — разве что вам нравится сопутствующий сервис и вы фанат бренда. Лучше ли моя AlterCPA One, чем адекватные конкуренты? Нет. Может ли пробиваться? Да, как и все. Происходит такое крайне редко, а гарантировать ноль пробоев будет только мошенник. Но она дешевле, а работает ровно так же.
Вывод
Не ведитесь на маркетинговые приёмы. Анализ трафика не нужно усложнять, он примитивен хотя бы потому, что у клоаки не так много данных для проверки: адрес, пара заголовков да наличие клика. Выбирайте простой, качественный и недорогой вариант — облачный или серверный, под свой объём и гео, — это всё, что нужно, чтобы свести пробивы к минимуму. К нулю не сведёте, как ни крути. А слово «нейросеть» в прайсе клоаки читайте как «наценка».
