Как бороться с СПАМ в заявках на вашем сайте с помощью killbot

Недействительные заявки на сайте (СПАМ), как с ними бороться и откуда они берутся

Очень часто наши клиенты жалуются на то, что их заваливают заявками с несуществующими контактами. Менеджерам приходится перезванивать, тратить время, но там их звонка никто не ждет или же заявки эти люди не оставляли.

Дело в том, что таким образом Боты и МОТИВированные пользователи хотят обойти АнтиФрод Яндекса, который основан на использовании так называемых триплексов данных (ФИО, Емайл, телефон). Яндекс считает, что если кто-то вводит на сайте такой триплекс, отправялет форму, то это наверное не бот, а человек. Именно поэтому боты и люди заполняют заявки на сайтах своей тематики, а потом уже идут допустим в выдачу и там топят сайты конкурентов, скликивают рекламу, накликивают свою рекламу и так далее. Заполняя такие формы на других сайтах профиль бота или мотивированного оплатой пользователя с сайта микрозаданий, становятся нормальными в глазах Яндекса. Подробне об этой технологии "Крипта" расскаывает сам яндекс https://yandex.ru/company/technologies/crypta/ 

Принципы обхода антифрода Яндекса: 

Основная идея — пользователь настоящий, если он владеет несколькими устройствами. Если с разных устройств на сайтах вводятся одни и те же триплексы имя+mail+телефон то, Яндекс может предполагать, что эти разные устройства принадлежат одному пользователю.

Таким образом, клик может быть учтён если ты:
- возьмешь имя, маил и телефон друга (нужно чтобы эти данные были засвечены в метрике — т. е. друг ранее вводил эти данные где‑то в интернете);
- откроешь браузер в режиме инкогнито;
- отправишь форму с именем, маил и телефоном — на любом сайте где есть такая форма и счетчик метрики; с этого момента алгоритмы могут посчитать, что это новое устройство реального владельца;
- зайдёшь в поисковик и кликнешь;
Поздравляю! Твой «друг» сделал клик.

Это основа того, как могут действовать профессиональные кликеры. Боты и реальные мотивированные пользователи используют реальные контакты, вводя их с разных реальных устройств или эмуляторов. В итоге создается впечатление, что это реальные заявки. Подробнее в нашем телеграм-канале: https://t.me/KillBotRus/44 

Как защитится от СПАМ-Заявок: 

Если заявки оставлют БОТЫ:

Нужно использовать ДНС экран от Killbot, он остановит ботов и они не смогут дойти до вашего сайта. Иногда необходимо 3 дня чтобы остановить поток ботов, так как ДНС не сразу расходится, в программах ботов есть иногда ваш старый ip адрес сервера итд. Спам заявки от ботов через 3 дня обычно прекращаются. Если у вас JS-код, то он не защищает от заполнения ботами форм, так как сама технология предусматривает сначала загрузку html, потом уже JS скрипта. Даже если вы потом уже покажете слайдер боту, он уже иммет доступ к вашей контактной форме. Поэтому защиту от спам-заявок от ботов осуществляет только ДНС экран 

Если заявки оставляют ЛЮДИ: 

Намного сложнее ситуция, если вас заявками с сайта заваливают мотивированные ползователи (люди), которые приходят с сайтов микрозаданий, то тут экран не спасет, а нужно вручную их отлавливать и блокировать. Используйте следующий алгоритм поиска: 

- смотрите заявку, ее ip адрес и время. Ищите ее в метрике. Если в метрике спам заявки нет, то идите килбот в раздел Визиты и там ищите по IP. Когда нашли, смотрите что есть общего, может быть ASN, необычная страна или какие-то еще повторяющиеся параметры по которым можно создать правило блокировки WAF или заблокировать вручную. 

- если в метрике спам заявки есть, то смотрите номер сессии, ппо нему можно или создать правило WAF или по UserID блокировать вручную в разделе Визиты. 

Как мотивированный трафик отличить от ботов

Если у вас менее 10% битых заявок (не отвечают, не существует, не оставлял) - то это можно считать нормой. Так как, в наборе номера легко ошибиться (сам такие ошибки совершал), да и я сам один раз ответил что заявку не оставлял, хотя оставлял - но мне позвонили когда уже было не актуально.

Если битых заявок 30-80% - то это однозначно СПАМ и нужно определить кто оставляет заявки: пользователи или боты. Самое простое - это установить код килбота и посмотреть параметры посетителей СПАМ заявок, если слепки браузера разнообразные и реальные (не боты), то это точно мотивированных трафик.

Альтернативный вариант проверки на мотив - это посмотреть записи вебвизора. Если реальный человек оставляет заявку - то это видно. Ботов всеравно еще пишут "грубо" именно в плане поведения в вебвизоре + боты действуют одинаково, а активность реальных всеравно отличается.

И так, если СПАМ идёт от ботов - то тут понятно - просто блокируем ботовский слепок в Килботе и живем дальше. А если это реальные пользователи, то схему работы читайте дальше.
 

Кейс поиска и блокировки СПАМ-заявок от мотивированных юзеров:

На сайте по технологии tilda постоянно оставляли заявки толи боты, толи люди, штук по 20 в день. Им клиент перезванивал, а там никто не отвечал или выяснялось, что заявку они не оставляли. 

Клиент присылал списки заявок, в формате:  80.*.*.136 время 22:13

Но так как tilda не дает полный ip адрес, то пришлось пересмотреть достаточно много, пока не обнаружилась вот такая заявка в визитах: 

 

Левая заявка

 

Левая заявка

Было выявлено, что заявку оставлял пользователь из Молдавии [MD], а не бот. Сомнительно, чтобы пользователи из Молдации интересовались элитной недвижимостью. Также в этой стране нет VPN, поэтому было принято решение для блокировки трафика отттуда создать два правила WAF: 

if ($data['net']['country'] == 'MD')
  { 
      return true; // если молдова, то капча
  } 
  return false;

Молдова капча

Ниже в правиле было указано помечать по умолчанию весь трафик попадающий под правило как БОТ, и показывать им Слайдер. 

Также непосредственно для сетей, откуда были заходы было сделано второе правило: 

 

if (in_array($data['net']['asn'],array("1547") ) ){
//Если значение ASN совпадает с одним из значений, то сразу расцениваем как БОТ
          return true;
}
return false;

 

Капча для АСН

 

Потом была выполнена выборка по странице /thnx которую вообще видят люди при отправке заявке, таким образом удалось выявить и заблокировать в резделе Действия и другие заходы. Хотим отметить, что отмечать слепки как боты, если их используют люди не надо! Так как это может быть хороший слепок, который используют тысячи обычных пользователей. Если вы выявили мотив, то блокируйте его по userid в правилах WAF, или в меню действия, как показано на рисунке: 

 

Мотив из молдовы

 

Прошло немного времени и ситуация с заявками решилась, больше левых заявок не приходило! 

 

Благодраность

 

Идея борьбы с мотивированным трафиком

В случае мотивированного трафика идея борьбы аналогична фильтрации ботов в Яндекс Директ - это собрать битые заявки в аудиторию, создать похожую аудиторию и сделать на эту аудиторию корректировку ставок -100% в Яндекс Директ. Пользователи, которые занимаются мотивом - у них общие интересы и Яндекс сможет объединить из в общую аудиторию и вычесть.

Как именно помечать заявки в метрике как мотивированные.

Можно помечать заявки как мотив двумя способами:

  1. Через свою ЦРМ: есть в ней есть возможность загружать оффлайн-конверсии - то для битой заявки создаем цель, например "Мотив".
  2. Через интерфейс KilllBot: В Килботе, на сайте killbot.ru пользователя можно пометить как мотивированного. Для этого в метрике, в параметрах посетителя, нужно посмотреть UserID визита, который оставил СПАМ заявку: UserID килбота в параметрах посетителя Далее на сайте killbot.ru переходим в раздел "Посетители": разтел посетители на сайте килбот И в Килботе в разделе посетители нужно найти этот визит и пометить его как МОТИВ: помечаем визит как Мотив в килботе  В этот момент Килбот в метрику в параметры посетителя передаст параметр mod=true: метка что мотивированный в вебвизореАльтернативно, если СПАМ визит в метрике не найден, то визит в Килботе можно найти по IP визита с которого пришла заявка.

Далее, на основании этого параметра, нужно создать сегмент метрики, создать LAL аудиторию и вычесть в Директе.

Если у вас мотивированный трафик и вы видите в параметрах посетителя килбота какие-либо параметры, которые одинаковы для всех этих заявок, то как раз по этой группе параметров можно создать сегмент аудитории и вычесть в Директе.

 

Общий алгоритм фильтрации мотива в Яндекс Директ:

  • Помечаем мотивированные заявки в метрике. Это mot.true - через интерфейс Килбота, или через офлайн конверсии - пометка как спам.

  • Собираем такие заявки в сегмент Яндекс Метрики

  • Создаём в Яндекс.Директ похожую аудиторию на основе сегмента мотивированных пользователей.

  • В кампаниях Яндекс.Директ устанавливаем для аудитории похожих корректировку ставок -100%, чтобы исключить показы для  мотивированных кто такие действия еще не совершал.

Создать сегмент аудитории мотивированных и вычесть в Директе можно так же как и сегмент ботов. Как именно это сделать описано в статье по фильтрации ботов в Яндекс Директ здесь: https://killbot.ru/node/34