Как заблокировать ip сеть в директе

от admin

Как победить скликивание в Я. Директ и AdWords на 600 тысяч рублей в месяц

За последние полгода нам удалось победить «скликивание» нашей контекстной рекламы с бюджетом в 1 миллион рублей в месяц.

Ключом победы над фродом стал поминутный мониторинг трафика с уведомлениями об аномальных изменениях и отключением проблемных объявлений по API, и ряд отчётов, которые отражают ситуацию в реальном времени.


Рисунок 1. Диаграмма количества посетителей по ключевым словам по декаминутам

Как узнать, что вас атакуют?

В AdWords отображение уровня «недействительных кликов» можно включить на вкладке «столбцы»:


Рисунок 2. Настроенные столбцы с уровнем «недействительных кликов» в AdWords

В нашем случае, при среднем уровне «недействительных кликов» в Директе ≈ 10%, Яндексе вдруг стал возвращать 40% рекламного бюджета, а через месяц и вовсе 54%.

Следующий признак фрода – это необоснованный рост количества переходов и сильные изменения поведенческих показателей по ряду групп объявлений.

Мы заметили, что по ряду ключевых слов, по которым никогда не было больше 200 посетителей в день, вдруг появились всплески до 3 000 посетителей. По факту, бюджет, в дни подобных активностей, мог уйти на одну рекламную кампанию, если её вовремя не останавливали.


Рисунок 3. Необоснованный рост трафика по определенной группе объявлений в Директ

Яндекс и Google не защищают от фрода

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

Google официально признаёт ошибки своей системы защиты и предоставляет рекламодателям «Refund Claims» (возврат израсходованного бюджета). По статистике сервиса ClickSease, Google Ads в среднем возвращает 12% рекламного бюджета.

Необходимо отправить жалобу на «недействительные клики» в Адвордс, после рассмотрения которой вам возместят ≈ 12% потраченных средств. Также сервис ClickSease автоматический отправляет в Google подобные требования на возврат денег раз в 2 месяца.

В нашем случае, Google AdWords сначала признал 18% нашего трафика «недействительными» и вернул за них деньги, а когда мы отправили жалобу «refund claims», Google возместил ещё 13% бюджета.

Яндекс же не признаёт уязвимость собственных фильтров защиты и на жалобы об очевидных случаях фрода, отправляет шаблонный ответ, что проблема заключается в рекламодателе и его сайте.

В нашем случае, процент «недействительных кликов» в отчёте Я. Директа никогда не поднимался выше заветных 50% ни по одной из рекламных кампаний, даже в дни самых яростных всплесков, когда 80% бюджета «сливалось» на обычно мало популярную группу объявлений без звонков и заявок.


Рисунок 4. Уровень «недействительных кликов» в одной из кампаний в Директ

С каким уровнем атаки мы столкнулись

Мошеннический трафик направлялся по четырем направлениям бизнеса в двух городах. При подключении новых рекламных кампаний или запуске давно остановленных, в течение нескольких часов «скликивание» перераспределялось и на них.

Click Fraud не привязывался ко времени, и перераспределение бюджета, например на ночь, не давало никакого эффекта: свой объем левого трафика мы всё равно получали. «Скликивание» происходило одинаково активно и в РСЯ, и на поиске Яндекса, и в КМС Google.

На сайте боты симулировали поведение пользователя, переходили по разделам сайта, выделяли текст, естественно скролили и перемещали курсор.

Есть ли готовые средства защиты?

У всех сервисов защиты от кликфрода есть всего один инструмент прямой борьбы – это блокировка подозрительных IP адресов или площадок размещений в кампаниях Я.Директ и AdWords.

В случае, если против вас используются динамические IP, любой сервис борьбы с клик фродом всегда будет отставать на один шаг от мошенников в блокировке их по IP: бот уже совершит несколько кликов по вашей рекламе к тому моменту, когда сервис внесет этот IP в черный список и остановит по нему показ рекламы. К тому же, после того, как мошеннический софт не сможет увидеть вашу рекламу, он просто поменяет IP адрес, Hardware-ID и продолжит свои действия.

При атаке на рекламу в КМС или РСЯ, обычно используются различные места размещения, и системы автоматической защиты не могут обнаружить подозрительных площадок для блокировки.

Вернемся к блокировке по IP – здесь мы подходим к самому интересному – если в AdWords допускается блокировать до 500 IP адресов, то в Яндекс Директ можно блокировать всего лишь 25 уникальных IP адресов на одну рекламную кампанию! Столь маленький черный список IP адресов уже не актуален, так как сейчас можно спокойно закупить 500 IPv4 адресов за 10 тысяч рублей и обойти это ограничение.

Защититься от «скликивания», выполняемого на высоком уровне, можно всего двумя способами:

  1. научиться не показывать рекламу заведомо мошенническим пользователям или ботам, для чего надо найти определенные «паттерны» в их поведении и характеристиках;
  2. временно останавливать конкретные группы объявлений и ключевые слова, по которым идёт атака.

Отрезать часть аудитории, чтобы сохранить её большую часть

Если научиться не показывать рекламу клик ботам или мошенническим пользователям – то и навредить они не смогут.

Всегда можно отследить схожие модели поведения и паттерны, например, что фрод обычно идет по Windows 7 с 5:00 до 9:00 в Москве, и выставить корректировку ставок -100% для подобной аудитории во всех атакуемых рекламных кампаниях. Функционал корректировок ставок в AdWords достаточно обширен, чего не скажешь о корректировках в Yandex Direct.

Ищем паттерны во фроде через сервисы защиты

Для того, чтобы иметь представление о том, как именно нас атакуют, и вручную отследить закономерности в мошенническом трафике, мы подключили российский сервис защиты от фрода ClickFrog. Продукт это давно всем известный, популярный в среде CPA и так далее.

ClickFrog быстро доказал полную недееспособность:

  1. в день выделял не более 40 подозрительных IP адресов, при трафике с Директа в 3 000 тысячи переходов в день, и, признаваемых даже, Яндексом 1300 „левых“ кликов в день;
  2. основной инструмент защиты сервиса – это блокировка по IP адресу, команда о которой по API отправляется в Я.Директ, однако как только черный список в 25 IP адресов заполняется, необходимо вручную удалять последние несколько IP в каждой рекламной кампании и ждать очередного заполнения списка, и так по кругу.

ClickSease оказался полезнее: он начал вылавливать по 300-400 уникальных мошеннических IP в день. По каждому заблокированному IP сервис отдает статистику:

  • интернет-провайдер;
  • площадка с которой совершился переход;
  • операционная система;
  • уникальный ID устройства;
  • время первого и последнего перехода;
  • регион.
  • в 81% случаев устройство симулирует мобильную ОС: Android или iOS;
  • в 59% случаев геолокация IP адреса относится не к Москве, при фроде направленном на Москву.

Ищем паттерны во фроде вручную

Однако даже таких очевидных паттернов оказалось мало для снижения вреда от фрода, да и отключать рекламу на мобильных не хотелось. Сервисы обычно способны только дать идеи по выявлению схожих паттернов во фроде, а дальше необходимо обнаружить фрод в Метрике (в случае атаки на Директ) и выделить его в отдельных сегмент Яндекс Аудиторий для последующего анализа и блокировки.


Рисунок 5. Пример анализа трафика по возрастным группам в Метрике для поиска паттернов фрода

  • динамика аудитории по возрастным группам;
  • динамика долгосрочных интересов пользователей;
  • динамика устройств и ОС.
  1. определяем сегмент аудитории «зараженный» фродом;
  2. выставляем корректировку ставок -100% для выбранного сегмента;
  3. отслеживаем изменение показателей: конверсия, время на сайте, глубина просмотра, показатель отказов.

а) вам удалось найти очевидный паттерн фрода, относящийся к полу, возрасту или мобильности:

  1. выставляем корректировку ставки -50% или -100% для выбранного сегмента;
  2. отслеживаем изменение ключевых показателей.
  1. выделяем фродовый трафик в отдельный сегмент Яндекс.Аудиторий (например, вы точно знали, что с 1 по 20 октября не могло быть 5 000 переходов по группе объявлений, по которой всегда было не больше 30 посещений в день)
  2. через look-alike Яндекса cоздаем сегмент похожих на наш фрод пользователей;
  3. выставляем корректировку ставок -100% для созданного вручную сегмента аудитории;
  4. аккуратно тестируем понижение ставок в рекламе для созданных Яндексом сегментов.

Строим диаграммы, которые показывают фрод

Фрод всегда порождает очевидные очаги и пики, будь то заумный софт с имитацией поведения настоящего пользователя или группа фрилансеров, выполняющих техническое задание.


Рисунок 6. Диаграмма количества посетителей по ключевым словам по декаминутам

  • чтобы сделать атаку «сглажено» нужно владеть конфиденциальной информацией и знать кто, когда и сколько переходов совершает по вашей рекламе;
  • софт действует рывками, и на минутном, 10 минутном, а иногда и на часовом графике, его действия будут бросаться в глаза;
  • даже если против вас работают «школьники» с досок объявлений, то и они действуют по определенному заданию с алгоритмом, и аномалии, порожденные ими легко будет отследить.

Для визуализации лучше всего подойдёт Google Data Studio, поскольку корректно собирать данные, разбитые по времени на 1 и 10 минут, способен только Analytics, а Метрика, при построении отчетов по декаминутам, отдаёт некорректные показатели.

По умолчанию, в Analytics или Data Studio нельзя строить графики поминутно или по 10 минутам, однако это можно сделать следующим образом в Дата Студии:

Шаг 1. Открываем редактирование полей

Шаг 2. Создаем копии следующих полей: Год, Месяц года, День месяца, Час, Минута, и называем их, например, Год (число), Месяц года (число) и так далее. Также в скопированных полях необходимо изменить Тип с формата времени и даты на „число“ как показано на рисунке.


Шаг 2. Изменяем тип скопированного поля с «даты» на «число»

Шаг 3. Создаем новое поле, в котором прописываем следующую формулу: Год (число)*10000000+Месяц года (число)*100000+День месяца (число)*1000+Час (число)*10+FLOOR(Минута (число)/10)


Шаг 3. Создаём вычисляемое поле «Время по 10 минут»

Шаг 4. Сохраняем созданное поле, затем возвращаемся к списку всех полей и находим наше новое поле «Время по 10 минут (декаминут)». Необходимо изменить его тип с «Число» на «Дата и время» как показано на рисунке, а затем обратно присвоить этому полю тип «Число».


Шаг 4. Создаём вычисляемое поле „Время по 10 минут“

Шаг 5. Создаем «Комбинированную диаграмму» и ставим как параметр наше новое поле «Время по 10 минут», как показано на рисунке. Готово.


Шаг 5. Создаём «комбинированную диаграмму»

Настраиваем уведомления на очаги фрода

Чтобы не следить за всеми случаями фрода вручную, я сделал отчёт в Google Таблицах, который обновляет данные каждую минуту и уведомляет о начале фрода.

Google Таблицы поддерживают Core Reporting API, обращаться к которому можно через «Редактор скриптов» в Таблицах.

Шаг 1. Заходим в редактор скриптов для обращения к Analytics


Рисунок 7. Редактор скриптов для обращения к Analytics Core Reporting API через Гугл Таблицы

Шаг 2. Прописываем API запрос к Analytics, чтобы получать данные о нужных показателях (например, о количестве пользователей, перешедших по платной рекламе, в каждую минуту суток, как в нашем случае).

Шаг 3. Задаем триггер на обновление данных каждую минуту:


Рисунок 8. Запрашиваем свежие данные каждую минуту для оперативного реагирования на фрод

Шаг 4. Создаем сводную таблицу из листа, обновляемого нужными данными раз в минуту, и анализируем эти показатели для настройки триггеров для уведомлений на электронную почту или же отключения групп объявлений по API Я.Директа или AdWords.

imageРисунок 9. Пример настройки формул для уведомлений об аномалиях

Итоги: как победить скликивание

Противодействие клик фроду можно подразделить на три группы:

  • отключение «загрязненных площадок»;
  • отключение показа рекламы для аудитории с фродовыми для вас признаками, например, для людей на планшетах из Санкт-Петербурга (более сложные параметры для блокировки можно использовать через списки AdWords и сегменты Метрики);
  • корректировка ставок для сегментов аудитории, похожих на сегменты фрода («look-alike» сегменты создаются в Я. Аудиториях и списках Google);
  • блокировка фрода по маскам IP сетей (доступно только в AdWords).
  • отправка жалоб о возврате бюджета в AdWords и Директ;
  • расследование «кто заказал атаку на вас»;
  • группировка подозрительных и часто атакуемых групп объявлений в единую рекламную кампанию;
  • «ловушки» для простейших ботов, а именно скрытые кнопки на сайте, которые видны только боту и при нажатии на которые он попадает в список.
  • блокировка по IP адресам;
  • оперативное отключение очагов скликивания: ключевых слов, групп объявлений, рекламных кампаний, сегментов аудитории.
    Core Reporting API; для удобной отработки API команд; ; ; , чтобы спросить бота Analytics: – «А не было ли аномалий в платном трафике за последний год?» – и получить внятный ответ.

Любой адекватный конкурент будет минимизировать свой ущерб при атаке на других:

  1. во-первых, атакующий постарается не показывать свою рекламу по направлениям, по которым идёт атака в данную минуту, чтобы не слить свой CTR и повысить себе цену за клик;
  2. во-вторых, недобросовестный конкурент подберет такие ключевые слова для атаки, по которым он может перестать показывать свою рекламу без особого вреда для себя.

Чтобы было проще анализировать конкурентов, с которыми вы пересекаетесь, можно смотреть все включенные объявления конкурентов по каждому ключевому слову в интерефейсе Директа:


Рисунок 9. Все объявления конкурентов по ключевому слову

Кто также столкнулся со скликиванием контекстной рекламы – пишите в комментариях, постараемся помочь друг другу!

Как защитить сайт от скликивания контекстной рекламы

Заходим в вебвизор, выбираем максимальный диапазон доступных дат, выбираем тип трафика.

Получаем перечень сессий с низкой активностью, начинаем анализ. Нужно обращать внимание на странные закономерности:

— много сессий с одной и той же IP-сети;

— много сессий с мобильной IP-сети, но заход был выполнен с ПК;

— много сессий с пустым User-Agent;

— много сессий с непопулярными User-Agent вроде типа Linux, CentOS, PaleMoon;

— много сессий с повторяющимися визитами;

— много сессий из одного региона или страны;

— много сессий из московского региона по фразам, которые относятся к другим регионам;

— много сессий с ПК, но разрешение экрана 360 х 720.

Вот пример подозрительной сессии:

IP-сеть Metropolitan branch of OJSC MegaFon AS25159 31.173.0.0/18. Заход был с ПК ОС Windows 10.
Регион — Москва, ключевое слово относится к Питеру.

Что тут странного? Выполнен вход на сайт из московского метро с персонального компьютера из результатов поиска по ключевому слову, которое относится к Питеру. Сессия длилась 1 минуту 21 секунду, из которых 1 минута 19 секунд — время бездействия.

Задача: выявить максимальное количество подозрительных сессий и их IP-сети через вебвизор «Яндекс.Метрики», записать IP-сети в файл, даже если в поле IP-сеть фигурирует только название, например “Mobile subscribers pool” или “Biterika Grupp OOO”. Файл с перечнем IP-сетей понадобиться нам далее.

Ищем IP-сеть по названию

Допустим, мы знаем только название сети, например “Mobile subscribers pool”, идём в Google и ищем IP-сети используя следующий запрос “Mobile subscribers pool cidr” или “Mobile subscribers pool ip network”.

Получаем адреса вида 85.140.0.0/21, заносим их в файл.

Можно искать по номеру AS, если он есть в названии IP-сети, как в случае с Metropolitan branch of OJSC MegaFon AS25159.

Берем AS25159 и вводим в поиск на сайте ipinfo.io, кликаем слева в менюшке IP Address Ranges, записываем в файл все диапазоны, которые начинаются с “Metropolitan branch of OJSC MegaFon”.

Метод №2. Собираем IP-адреса сессий

В Google Analytics и «Яндекс.Метрика» по умолчанию нельзя собирать IP-адреса пользователей. Приватность, все дела. Но нам нужно решать свои задачи, поэтому есть два способа.

Первый способ: через Google Tag Manager

Заходим в GTM, Tags → New → Custom HTML, добавляем это:

Заходим в Triggers → New → Page View, нажимаем This trigger fires on Some Page Views. Выбираем Referrer → does not contain, вводим адрес своего сайта:

Далее заходим сюда: Navigate to Variables → User-Defined Variables → New → Data Layer Variable. Устанавливаем поле Data Layer Variable Name = ipaddress.

Заходим сюда: Navigate to Triggers → New → Custom Event, вводим имя события ipevent.

Всё готово, переходим в режим предварительного просмотра, там появится запись об IP-адресе.

Второй способ: через сервер

Тут всё зависит от хостинга. Можно собирать данные, включая IP-адреса пользователей из логов сервера.

При использовании Apache + nginx можно собирать сессии пользователей, предварительно установив модуль rpaf.

Логи можно лицезреть тут: /var/log/apache2/access.log.

Отсеиваем подозрительные IP-адреса, проверяем каждый тут ipinfo.io в строке поиска, получаем перечень подсетей, записываем в файл.

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

Берем список ip-сетей с распределением по странам тут: www.ipdeny.com/ipblocks

Приступаем к блокировке

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

Беру для примера Apache 2.4, на нём работает множество сайтов.

Итак, у нас есть перечень IP-сетей и нежелательных User-Agent, которым мы хотим заблокировать доступ к нашему сайту.

Открываем в корне сайта файл .htaccess и вводим следующее:

Блокировка IP-сетей, пример:

<RequireAll> Require all granted Require not ip 31.173.0.0/18 Require not ip 31.173.80.0/21 Require not ip 213.87.160.0/22 Require not ip 213.87.128.0/19 Require not ip 91.193.178.0/23 </RequireAll>

Блокировка нежелательных User-agent, пример:

<IfModule mod_setenvif.c> SetEnvIf User-agent ^-?$ bad SetEnvIfNoCase User-Agent Embedly bad SetEnvIfNoCase User-Agent TweetmemeBot bad SetEnvIfNoCase User-Agent discobot bad SetEnvIfNoCase User-Agent Linux bad SetEnvIfNoCase User-Agent PaleMoon bad SetEnvIfNoCase User-Agent Pale Moon bad <Limit GET POST HEAD> Order Allow,Deny Allow from all Deny from env=bad </Limit> </IfModule>

Строка SetEnvIf User-agent ^-?$ bad отвечает за блокировку доступа к сайту для сессий с пустым User-Agent.

Блокировка реферального спама (переход с других сайтов на ваш сайт), пример:

фиксируем паразитные переходы с сайтов semalt.com, buttons-for-website.com

RewriteCond % buttons-for-website\.com [NC,OR]

Перенаправление пользователей с определенными IP на другой сайт

Если есть большая вероятность отсечь реальных пользователей путем блокировки доступа к сайту для определенных подсетей, то рекомендую направлять трафик с подозрительных IP на другой сайт, например лендинг, который никак не продвигается в SEO.

Делается это вот так:

RewriteEngine On RewriteCond expr "! -R '83.180.64.0/18'" RewriteRule .* https://site.com/ [R=301,L]

83.180.64.0/18 — подозрительная подсеть, https://site.com/ — сайт, на который автоматически будут перенаправлены пользователи.

Как проверить, что всё настроено верно

Проверяем статус ответа сервера тут calcus.ru/proverka-otveta-servera, актуально, если заблокирован доступ для определенных User-Agent:

На скриншоте видно, что сервер возвращает ошибку 403 (доступ запрещен) при попытке открыть сайт пользователем с User-Agent: Linux.

Также, смотрим статус ответа сервера тут webmaster.yandex.ru/tools/server-response/, должно быть так:

Код 200 говорит о том, что запрос успешно обработан и сайт доступен для основного робота «Яндекса».

Как отсечь нежелательные IP-адреса из контекстной рекламы

«Яндекс.Директ»: можно отключить максимум 25 IP-адресов в каждой кампании в разделе "Специальные настройки".

Решение по отсечению ботов в «Яндекс.Директ»:

1) Создаем сегмент в «Яндекс.Метрика» с теми, кто заходил на сайт и провел на нём менее 5–10 секунд, сохраняем сегмент.

2) Создаём аудиторию на основе сегмента в сервисе «Яндекс.Аудитории».

3) В настройках кампании ищем пункт «Корректировка ставок», добавляем сохраненный сегмент с корректировкой минус 100%. Profit.

Google Ads: можно отключить по-человечески всё, что вам нужно, и какие угодно IP-адреса, включая ipv6, и подсети, в разделе кампании «Настройки» → «Исключение IP-адресов».

На 100% отключить скликивание контекстной рекламы можно только если выключить саму рекламу.

В Google Ads рекомендую сделать анализ времени до конверсии и повторные заходы с рекламы, далее всё это отсечь через списки ремаркетинга.

Дополнительные методы защиты

Настраиваем www.cloudflare.com/products/argo-smart-routing, рекомендую для нагруженных сайтов, чтобы не прозевать атаку, ведь данные в GA идут с задержкой.

Полезный сервис с базой спамных IP, подсетей, email, доменов — cleantalk.org/blacklists.

Если сайт уже подбирается к топу в суперконкурентной нише, то продумать и закрыть заранее нежелательные User-Agent, страны и IP-сети или продумать умную переадресацию на другие сайты: лендинги, которые никак не продвигаются в SEO или сайты ваших конкурентов.

Защищаем свой сайт от негативной накрутки и скликивания контекстной рекламы

Сразу к делу. Наблюдаю ровно с начала апреля 2020 года:

  • рост трафика низкого качества из результатов поиска «Яндекса»;
  • существенное увеличение трафика низкого качества из сервиса контекстной рекламы «Яндекс.Директ»;
  • 90% всплеска низкокачественного органического трафика по московскому региону;
  • всплеск низкокачественного платного трафика из рекламной сети «Яндекса» по всем регионам, в которых настроены кампании.
  • из SERP Google ничего не прилетало;
  • в Google Ads всё ровно, всплесков нет;
  • ботного реферального трафика нет.

Всю эту прелесть я заметил на клиентских сайтах, кто продвигается в России.

В этой статье я собрал перечень мер для оперативного вмешательства, к которым сам пришел за последние трое суток без сна.

  • Вырос объём кликов из контекстной рекламы без увеличения бюджета.
  • В то же время конверсия в контекстной рекламе немного снизилась.
  • Начался плавный рост поискового трафика из московского региона без каких-либо причин на это.
  • Выросло количество сессий по 0–5 секунд с однотипным поведением в Hotjar и вебвизоре «Яндекс.Метрики».
  • Было много сессий с долгим пребыванием пользователей на сайте, по 5–15 минут, но 99% этого времени — бездействие и судорожное перемещение курсора.
  • Google Analytics начал уведомлять о подозрительном трафике низкого качества.

У большинства владельцев сайтов в рунете установлена «Яндекс.Метрика», вот как это будет выглядеть там:

Чтобы было понятно, 65,6% отказов — это тысячи заходов, за которые списалась определенная цена за клик.

Поздравляю, вы стали свидетелем так называемой «мягкой накрутки» негативных поведенческих факторов и скликивания контекстной рекламы.

Всё это негативно сказывается на поисковом трафике (он будет падать или как минимум не расти) и бесполезной (для рекламодателя) растрате рекламного бюджета.

Вроде какие-то показатели незначительно изменились, да и трафик подрос, надо вроде как радоваться. Но если детально посмотреть сессии, на самом деле всё плохо.

Ещё бывает «резкая накрутка» и более бодрое скликивание, вот их признаки:

  • Резкий рост показателя отказов в ЯМ или GA.
  • Резкий рост сессий 0–5 секунд (чаще 0–10).
  • До кучи накидываются пачками прямые заходы на сайт.
  • По ключам начинает идти лавинообразный трафик из SERP или контекстной рекламы.

Какой тип накрутки будет у вас, зависит только от узколобости и прямоты рук злоумышленников. Тут полный рандом, может быть и микс.

Прямая накрутка — на сайт идет прямой трафик, все сессии обычно 0–10 секунд, самый распространенный тип накрутки.

Переходы по фразам из поисковых систем — вводят ключевое слово в строку поиска, ищут ваш сайт, кликают, проводят 0–10 секунд, возвращаются обратную в поисковую выдачу. CTR вашего сайта на поиске падает, у конкурентов растёт, ваш сайт уходит в закат.

Переходы с других сайтов на ваш сайт — бот или реальный человек заходит на ваш сайт по ссылке с другого сайта и сразу возвращается обратно.

Скликивание контекстной рекламы (на поиске, в РСЯ или КМС) — рост сессий 0–10 секунд, рост числа повторных визитов с сессиями 0–10 секунд.

  • +100 сессий в день с типом накрутки: прямая, переход по фразе из поисковых систем, переход с других сайтов, обвалят поисковых трафик через 1–2 суток.
  • При бездействии в течение 2–3 недель будет фильтр от Google и «Яндекс», придётся менять домен.

Множество методов, некоторые хитрые, запутанные и трудно определяемые. Не буду раскрывать все карты, дабы не спровоцировать шаловливые ручки отдельно взятых личностей.

Сервисы типа «Юзератора» и прочих, которые представлены в рунете, — это просто безобидная детская погремушка, которая блокируется на рас, по сравнению с тем, что можно словить в топе Google по ВЧ, например, в теме страховая в US.

Все методы бесплатные и стоят лишь времени, которое вы на это потратите.

Пойдём от простого к сложному.

Заходим в вебвизор, выбираем максимальный диапазон доступных дат, выбираем тип трафика.

Получаем перечень сессий с низкой активностью, начинаем анализ. Нужно обращать внимание на странные закономерности:

  • много сессий с одной и той же IP-сети;
  • много сессий с мобильной IP-сети, но заход был выполнен с ПК;
  • много сессий с пустым User-Agent;
  • много сессий с непопулярными User-Agent вроде типа Linux, CentOS, PaleMoon;
  • много сессий с повторяющимися визитами;
  • много сессий из одного региона или страны;
  • много сессий из московского региона по фразам, которые относятся к другим регионам;
  • много сессий с ПК, но разрешение экрана 360х720.

Вот пример подозрительной сессии:

  • IP-сеть Metropolitan branch of OJSC MegaFon AS25159 31.173.0.0/18;
  • заход был с ПК ОС Windows 10;
  • регион — Москва, ключевое слово относится к Питеру.

Что тут странного? Выполнен вход на сайт из московского метро с персонального компьютера из результатов поиска по ключевому слову, которое относится к Питеру. Сессия длилась 1 минуту 21 секунду, из которых 1 минута 19 секунд — время бездействия.

Задача: выявить максимальное количество подозрительных сессий и их IP-сети через вебвизор «Яндекс.Метрики», записать IP-сети в файл, даже если в поле IP-сеть фигурирует только название, например “Mobile subscribers pool” или “Biterika Grupp OOO”. Файл с перечнем IP-сетей понадобиться нам далее.

Допустим, мы знаем только название сети, например “Mobile subscribers pool”, идём в Google и ищем IP-сети используя следующий запрос “Mobile subscribers pool cidr” или “Mobile subscribers pool ip network”.

Получаем адреса вида 85.140.0.0/21, заносим их в файл.

Можно искать по номеру AS, если он есть в названии IP-сети, как в случае с Metropolitan branch of OJSC MegaFon AS25159.

Берем AS25159 и вводим в поиск на сайте ipinfo.io, кликаем слева в менюшке IP Address Ranges, записываем в файл все диапазоны, которые начинаются с “Metropolitan branch of OJSC MegaFon”.

В Google Analytics и «Яндекс.Метрика» по умолчанию нельзя собирать IP-адреса пользователей. Приватность, все дела. Но нам нужно решать свои задачи, поэтому есть два способа.

Первый способ: через Google Tag Manager

Заходим в GTM, Tags → New → Custom HTML, добавляем это:

Заходим в Triggers → New → Page View, нажимаем This trigger fires on Some Page Views. Выбираем Referrer → does not contain, вводим адрес своего сайта:

Далее заходим сюда: Navigate to Variables → User-Defined Variables → New → Data Layer Variable. Устанавливаем поле Data Layer Variable Name = ipaddress.

Заходим сюда: Navigate to Triggers → New → Custom Event, вводим имя события ipevent.

Всё готово, переходим в режим предварительного просмотра, там появится запись об IP-адресе.

Второй способ: через сервер

Тут всё зависит от хостинга. Можно собирать данные, включая IP-адреса пользователей из логов сервера.

При использовании Apache + nginx можно собирать сессии пользователей, предварительно установив модуль rpaf.

Логи можно лицезреть тут: /var/log/apache2/access.log.

Отсеиваем подозрительные IP-адреса, проверяем каждый тут ipinfo.io в строке поиска, получаем перечень подсетей, записываем в файл.

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

Берем список ip-сетей с распределением по странам тут: www.ipdeny.com/ipblocks/

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

Беру для примера Apache 2.4, на нём работает множество сайтов.

Итак, у нас есть перечень IP-сетей и нежелательных User-Agent, которым мы хотим заблокировать доступ к нашему сайту.

Открываем в корне сайта файл .htaccess и вводим следующее:

  • Блокировка IP-сетей, пример:

<RequireAll>
Require all granted
Require not ip 31.173.0.0/18
Require not ip 31.173.80.0/21
Require not ip 213.87.160.0/22
Require not ip 213.87.128.0/19
Require not ip 91.193.178.0/23
</RequireAll>

  • Блокировка нежелательных User-agent, пример:

<IfModule mod_setenvif.c>
SetEnvIf User-agent ^-?$ bad
SetEnvIfNoCase User-Agent Embedly bad
SetEnvIfNoCase User-Agent TweetmemeBot bad
SetEnvIfNoCase User-Agent discobot bad
SetEnvIfNoCase User-Agent Linux bad
SetEnvIfNoCase User-Agent PaleMoon bad
SetEnvIfNoCase User-Agent Pale Moon bad
<Limit GET POST HEAD>
Order Allow,Deny
Allow from all
Deny from env=bad
</Limit>
</IfModule>

Строка SetEnvIf User-agent ^-?$ bad отвечает за блокировку доступа к сайту для сессий с пустым User-Agent.

  • Блокировка реферального спама (переход с других сайтов на ваш сайт), пример:

фиксируем паразитные переходы с сайтов semalt.com, buttons-for-website.com

RewriteCond % semalt\.com [NC,OR]

RewriteCond % buttons-for-website\.com [NC,OR]

RewriteRule .* – [F]

  • Перенаправление пользователей с определенными IP на другой сайт

Если есть большая вероятность отсечь реальных пользователей путем блокировки доступа к сайту для определенных подсетей, то рекомендую направлять трафик с подозрительных IP на другой сайт, например лендинг, который никак не продвигается в SEO.

Делается это вот так:

RewriteEngine On
RewriteCond expr «! -R ‘83.180.64.0/18′»
RewriteRule .* https://site.com/ [R=301,L]

83.180.64.0/18 — подозрительная подсеть, https://site.com/ — сайт, на который автоматически будут перенаправлены пользователи.

Проверяем статус ответа сервера тут calcus.ru/proverka-otveta-servera, актуально, если заблокирован доступ для определенных User-Agent:

На скриншоте видно, что сервер возвращает ошибку 403 (доступ запрещен) при попытке открыть сайт пользователем с User-Agent: Linux.

Также, смотрим статус ответа сервера тут webmaster.yandex.ru/tools/server-response/, должно быть так:

Код 200 говорит о том, что запрос успешно обработан и сайт доступен для основного робота «Яндекса».

«Яндекс.Директ»: можно отключить максимум 25 IP-адресов в каждой кампании в разделе «Специальные настройки».

Решение по отсечению ботов в «Яндекс.Директ»:

  • Создаем сегмент в «Яндекс.Метрика» с теми, кто заходил на сайт и провел на нём менее 5–10 секунд, сохраняем сегмент.
  • Создаём аудиторию на основе сегмента в сервисе «Яндекс.Аудитории».
  • В настройках кампании ищем пункт «Корректировка ставок», добавляем сохраненный сегмент с корректировкой минус 100%.
  • Profit.

Google Ads: можно отключить по-человечески всё, что тебе нужно, и какие угодно IP-адреса, включая ipv6, и подсети, в разделе кампании «Настройки» → «Исключение IP-адресов».

На 100% отключить скликивание контекстной рекламы можно только если выключить саму рекламу.

В Google Ads рекомендую сделать анализ времени до конверсии и повторные заходы с рекламы, далее всё это отсечь через списки ремаркетинга.

  • Настраиваем www.cloudflare.com/products/argo-smart-routing/, рекомендую для нагруженных сайтов, чтобы не прозевать атаку, ведь данные в GA идут с задержкой.
  • Полезный сервис с базой спамных IP, подсетей, email, доменов — cleantalk.org/blacklists.
  • Если сайт уже подбирается к топу в суперконкурентной нише, то продумать и закрыть заранее нежелательные User-Agent, страны и IP-сети или продумать умную переадресацию на другие сайты: лендинги, которые никак не продвигаются в SEO или сайты ваших конкурентов 🙂

С приходом пандемии, обвалом цен на нефть и отсутствием прямой финансовой помощи населению и бизнесу в нашу страну пришли тёмные времена. Именно в такие времена максимально активизируются мошенники и преступники, жульё лезет откуда только можно, вырастает преступность, не только на улице, но и в сети.

Не исключено, что участятся скликивания рекламы и накрутки негативных поведенческих факторов, что бы насолить конкурентам. Я против таких методов.

Нужно конкурировать через развитие сервиса и продукта, это единственный верный путь.

Мы с командой admon.ai подумали и решили, что в тяжелые времена надо помогать друг другу. Особенно — если есть такая возможность.
Поэтому в ближайшее время готовы помочь с защитой сайтов от накрутки бесплатно.

Это конечно всё прекрасно, но блокируя IP, вы можете отрезать от сайта сотни и даже тысячи пользователей, которых выводят в сеть по диапазону IP-адресов, таким образом клики по той же рекламе могут увенчаться самостоятельным сливом бюджета, клик есть, деньги списаны, перехода нет. Как то так.

да, верно, для Директа можно делать так: собираем всех, кто был на сайте до 5-10 секунд в сегмент в яндекс аудиториях, сохраняем, делаем на этот сегмент look-a-like, оба сегмента ставим в исключения в настройках рк.

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

Комментарий удален модератором

Еще вариант по сликиванию Директа, который я очень люблю ))) Это когда проходишь мимо магазина reStore или Мвидео, зайти в него, подойди к демо образцам телефонов или ноутбуков, на которых есть интернет и посмотреть выдачу и покликать по конкурентам ))))

Угадай страну по комментарию)

"блокируется на рас"
хотелось бы уточнить, про какую расу речь идет

Я тут малость подохренел когда у меня 4к за два дня улетело на какой то мусор. Какие то дешёвые клики в диких количествах с партнерских сайтов яндекса.

Вот езжу я по кольцевой, переподключаюсь по вышкам, ip меняются, на всякий случай меняю фингерпринт устройства и кликаю по обьявлениям, и как вы меня заблокируете? Все мобильные подсети в блеклист?) Ну создадите аудиторию и что? Кликнуть то я уже успел)

Есть процент хитропопых вредильщиков типа вас, ничего с этим не поделать. Кликайте, кайфуйте.

можно просто включать и выключать авиарежим ) вообще этим должен Яндекс заниматься и может, но не хочет ) там есть способы

Скликивание только так и делают, и ещё пф накручивают, и по внутренним страницам переходят. А некоторые ещё и заявки оставляют.

Гугл адс автоматически процентов на 80 такие клики исключает из статистики.

Про статью ничего плохого сказать не хочу, но имхо блокировка подсети или исключение сегментов с плохими пф — это борьба не со скликиванием, а с детскими шалостями конкурентов)))

Да вы прям бот-программа c мобильными проксями, время-то свое не жалко?

мы боремся с этим злом, под названием скликивание контекстной рекламы https://clickfraud.ru. что могу сказать из опыта — клиент, тратит на рекламу 10 000 000 р. в месяц (я не ошибся в нулях, сегмент — товары для дома). 30% из этой суммы скликивалось (это оценка аналитиков клиента). Из этих 30% большая часть — целенаправленный склик в РСЯ, меньшая — нецелевое скликивание (люди тыкают на рекламу а затем уходят т.к. оказалось не очень им и нужно было). При этом нельзя сказать, что атаки какие-то быстрые мощные. Нет. скорее просто "размазанное" скликивание по времени.

Так, вы с такой бравадой написали, чтобы мы корректно посчитали нули. Мы посчитали. В итоге вернули с директа 30% (три миллиона рублей (чтоб нули не плодить))?

И что директ вернул 3кк?

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

Могли бы рассказать подробнее, как почувствовали эффект??

А как боретесь с тем, что бот может заблочить загрузку вашего JS-виджета? Или надежда на то, что не догадаются? 🙂

Сталкивался в работе с запросом на интеграцию с вашим сервисом, клиента уговорил этого не делать.
Во первых у вас нет нормальной (точнее вообще никакой) документации по интеграции для разработчиков.
Во вторых предлагается очень много мусорного кода на сайт поставить (когда проект вылизан, это неприемлемо)
В третьих предлагается поставить обфусцированный js еще и в document.write что вообще, прямо скажем, ни в какие ворота не лезет, с позиции поддержания качества работы и кода фронтенда.

Дак, яндекс свои гранты сейчас как раздаст (помощь бизнесу) — нужно же как-то назад отбивать вложения 🙂 Сам яндекс и мутит схематозы

Вот тоже в этом на 99% уверен и потому же блокировка в Директе подозрительный аудиторий не даст эффекта

у нашего сайта такая же хурма, только валит "народ" из соц сетей на сайт. 2.5к ботов за месяц.
Все с IP метрополитена.
Характерная черта — низкое разрешение дисплея, 1366*768. Как на серверных машинах, где запускают 100500 виртуалок

Как с этим боритесь?
Как то негативно сказывается на сайте?
Как долго это происходит?

Это мало у меня в день ботов почти 8000

<ирония>
Вы забыли анкорную ссылку на свой сайт поставить, нарушаете правила раздела
</ирония>

Коллеги, есть решение от скликивания. Сервис http://netvisor.pro/, сейчас только запускается, но уже первый релиз есть. Он позволяет отслеживать сложных ботов, их источники и блокировать. В случае с РСЯ или КМС – это возможность находить площадки с ботовым трафиком (блокировка их через личный кабинет).
Сервис сделан с применением методов машинного обучения для выявления аномальных паттернов в поведении пользователей на сайте, а так же технических основ, таких как отпечаток браузера.

Посетил сайт, кроме заголовка информации — 0. Закрыл на регистрации.

Ну, кстати, сервис действительно работает, несмотря на закрытую регистрацию, что доставляет реальное неудобство. Позволил заблокировать ботов и позиции восстановились. Что порадовало, что пока бесплатный.

Мы решили вопрос проще. Потенциальные боты перенаправляются на субдомен вне индекса, копию основного.
Плюсы: если в число потенциальных ботов попадают живые люди и клиенты — они не теряются, и видят наше предложение.
А клиентов там много, вы просто пускаете их под нож своей блокировкой.

то есть сделали сабдомен дляботов.вашсайт.ру? который не индексируется, но является копией основного сайта, на 1 экране типа плашка что вот наш основной сайт идите сюда. а через .htaccess прописали редирект для тех айпи сетей которые подозреваете в накрутке на этот сабдомен?

Для органического поиска сработает? Мой сайт жестко скликивают, с соц сетей прямые переходы, с мобильных прокси. Позиции пошли вниз. Отсекая основной сайт и перенаправляя на поддомен, мы же не уберем фактор last click.

Комментарий удален модератором

Похожая ситуация, у меня платформа строительная, и во многих рекламных кампаниях творится жесть. Будем пробовать чистить, пока делал сегменты жёстко ужестачая по отказам, времени на сайте и кол-ве визитов, но как правило сильного успеха это не даёт. А все клиенты сидят у меня на рся, то ещё болота сейчас. В гугл не вариант перебериться, так как в регионах. Там только как дополнительный трафик использую у не которых, у кого бюджета хватает.

А блокировка целых подсетей, как советуют в статье каким-то образом спасет от скликивания?
Разве самый честный и неподкупный поисковик в мире, не фиксирует переход по ссылке начиная с момента нажатия на картинку и списывая у себя по факту денежку?
Ибо по их каментам про клик "Случайным он быть не может в принципе."
Или я что-то не знаю и имеет значение зашел кликавший на сайт или нет?

Из обсуждения с яндексом:

Списание произойдет в обоих случаях, верно?

1 Штатный режим — это режим реального времени?

2 Фиксации скликивания — кем это фиксируется, исключительно клиентской стороной или Директом?

3. т.е недоброкачественные клики исчезнут из статистики яндекса?

Alex_soldier
27 января 2016, 23:26
1) Штатный, имеется в виду, когда все работает как задумано — без сбоев на стороне системы и злонамеренных действий на стороне клиента.

2) Да, все фиксируется на стороне Директа. Если Пользователь заметил что-то подозрительное, он может запросить дополнительную проверку в Службе поддержки.

3) Плохие показы и клики убираются из статистики, списанные за эти клики деньги восстанавливаются на счету.

Как в Директе закрыть трафик по IP

Ситуевина такая, идет откровенный фрод с диапазона айпишников с одинаковыми первыми октетами, вернее первый октет идет единый, дальше по порядку — 1,2,3 и т.д.. Надо закрыть диапазон айпи для показа. В компаниях можно добавить только 25 IP. Тут это не актуально так как нужно перекрыть именно диапазон. Как это сделать? Или никак? Метрика перекрывает только отображение в стате. :popcorn:

в метрике создаёте сегмент у которого ставите нужные айпишники

визиты в которых — Технологии браузеров — IP

там разберётесь какой алгоритм задать

потом в кампании ставите на этот сегмент понижающую корректировку

А, точно, сегмент ведь создать можно!) Спасибо!

Вот два сегмента создал, по рекламным системам и просто по трафику. Подобным образом указанный диапазон IP адресов будет срабатывать?

Читать:
Gentoo livecd как пользоваться

Похожие статьи