Фрод в Яндекс.Директе и методы борьбы с ним

В данной статье хотела поговорить с вами о фроде.

Что разберем:

• понятие фрода

• сервисы антифрода

• метод невидимого поля

Понятие фрода

Итак, прежде чем говорить о фроде, необходимо разобраться с понятием, что же это такое. И в данном случае, нужно понимать, что фрод - это СПЕЦИАЛЬНЫЕ клики или заявки от бота или пользователя, который получает вознаграждение за это. В целом, можно отнести и к мошенничеству.

Нельзя говорить, что любой нецелевой клик – это фрод. Например, бывают миссклики – те случаи, когда юзер кликнул случайно на ваше объявление. Бывают клики незаинтересованных пользователей, и здесь уже повод пересмотреть объявления, ведь может получится так, что ваше объявление привлекло клиента, но не того, кого нужно. То есть первым делом, прежде чем говорить о фроде, нужно проанализировать трафик и понять, с чем вы имеете дело.

Признаки фрода:

- в статистике Директа много недействительных кликов;

- в Метрике вы видите много однотипных действий со стороны пользователей: они могут заходить с одних и тех же устройств, площадок, по вебвизору совершать одни и те же действия.

Методы борьбы

Итак, вы определили, что у вас фрод. Приступаем к самому интересному – методам борьбы с ним. Стоит отметить, что значительную часть фрода Яндекс отфильтровывает сам. Но зачастую этого недостаточно. Особенно проблематично избавиться от фродовых заявок, так как первым делом Яндекс говорит, что пользователи оставили заявку, а то, что телефон не работает, или люди говорят, что ничего не оставляли, «штош, так бывает». Я действую обычно по такому алгоритму:

1. Сначала пишу в Яндекс. При этом должна быть собрана полная доказательная база. Выгрузка разговоров из CRM, даты недействительных заявок. Если все это есть, а также есть время на споры с поддержкой, то получить возврат средств можно

2. Изучаю поведение ботов. Если я вижу большое число недействительных кликов в Директе, много показов, но мало кликов, при этом реальные заявки есть, то изучаю метрику. Может быть ситуация, когда в метрике нет кликов тоже. То есть ни в Директе, ни в Метрике нет кликов, а заявки реальные имеются, значит, вас атакуют и сильно.

Здесь расскажу вам интересный кейс.

Ниша — аварийные комиссары. Все мы понимаем, что вызывают аварийного комиссара, находясь в дороге, с мобильника, и обычно не перебирают несколько, а кликают по верхнему номеру и тут же звонят. Это знают директологи, это знают конкуренты. Соответственно, задача у меня была — быть в топе. Ставки бешеные, но дело даже не в этом, а в том, что конкуренты подключили ботов, которые скликивали рекламу. Антифрод Яндекса справлялся, и деньги у меня не списывались. Но тут возник интересный момент!

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

И первая неделя рекламы у меня прошла следующим образом:

Неделя с фродовым трафиком
Неделя с фродовым трафиком

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

Чуть больше, чем за 2 недели, у меня были результаты следующие: 1733 руб расход, 12 кликов, 8 звонков (скриншот 2). Цена лида была чуть выше 200 руб (у меня по KPI было 400), но количество звонков, конечно, клиента не устраивало — у нас был запланирован бюджет на месяц 200 тыс. руб.

Я предложила клиенту вернуть деньги за ведение рекламы — честное слово, была готова сдаться. Но клиент сказал — думай. И я решила попробовать антифродовый сервис. Выбирала между двумя: ботфактор и ananas.click. Ботфактор мне не подошел — несмотря на то, что в статистике Директа я видела по 3000 недействительных кликов, в Метрике кликов не было нигде — ни в вебвизоре, ни в utm-метках, ни в отчетах по роботам. Более того, были дни, когда ни в Директе, ни в Метрике кликов не было, а звонок с рекламы был. То есть история, когда ставиться код в сайт, и он отслеживает роботов и затем корректировками ставок их минусит, не про меня.

А вот ananas.click работает от противного — он показывает рекламу тем, кто является «чистым» в интернете. Да, это не все люди, да, кто-то отсекается. Но результат появился с первых дней — увеличились показы, пошли клики, пошли звонки — по 3-6 в день

Трафик с подключенным антифродовым сервисом
Трафик с подключенным антифродовым сервисом

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

Невидимое поле

Поговорим еще об одном методе, который позволяет бороться именно с фродовыми заявками. Зачем это нужно? Ну, во-первых, иногда фродовых заявок столько, что отдел продаж ими просто завален. Директ может также обучиться на недействительные конверсии, а оно вам надо? Конечно, нет. И тут можно попробовать следующий метод.

Суть метода: нам необходимо создать невидимое поле в форме обратной связи, которое видит бот, но не видит челове. Бот будет заполнять это поле в форме, а человек нет.

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

Делают это разными способами:

1. Можно пробовать добавлять ловушку (honeypot) в форму. Если при отправке формы поле _hidden заполнено, это интерпретируется как активность бота.

<form id="myForm" action="submit"> <!-- Honeypot: боты заполняют, пользователи не видят --> <input id="honeypot" type="text" name="_hidden" style="opacity:0; position:absolute; top:0; left:-5000px;"/> <!-- Реальные поля --> <input type="text" name="user" /> <input type="submit" /> </form> <script> // Это словно расставление мышеловок document.getElementById('myForm').addEventListener('submit', function(e) { if(document.getElementById('honeypot').value !== '') { e.preventDefault(); // Воткнулся, бот! } }); </script>

2. Через style

В вашу форму добавляем фейковое поле с именем name или email, и скрываем его при помощи стиле. При этом настоящие поля нужно назвать иначе (например, настоящие мы можем оставить email и phone, а name сделать фейковым и невидимым):

Скрыть можно так:

<input type="text" name="name" value="" style="position: absolute; left: -9999px; display: none;">

display: none - скрытое поле, которое будет видно для ботов и не видно для посетителей вашего сайта. Бот не различает видимость полей формы и заполняет поля по их именам, в нашем случае это имя или адрес электронной почты. Далее в PHP обработчике вашей формы добавляем условие на пустое поле:

if(isset($_POST["NAME"]) && $_POST["NAME"] == "") { // Обработка формы } else { // Ошибка! Подозрение на спам! }

И цель создаем только на обработку формы.

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

Связаться со мной: @olesya_nesterova44

Telegram-канал:

7
11 комментариев
","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

2. Через style

В вашу форму добавляем фейковое поле с именем name или email, и скрываем его при помощи стиле. При этом настоящие поля нужно назвать иначе (например, настоящие мы можем оставить email и phone, а name сделать фейковым и невидимым):

Скрыть можно так:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

display: none - скрытое поле, которое будет видно для ботов и не видно для посетителей вашего сайта. Бот не различает видимость полей формы и заполняет поля по их именам, в нашем случае это имя или адрес электронной почты. Далее в PHP обработчике вашей формы добавляем условие на пустое поле:

"}},{"type":"code","cover":false,"hidden":false,"anchor":"","data":{"text":"if(isset($_POST[\"NAME\"]) && $_POST[\"NAME\"] == \"\") {\n\t// Обработка формы\n} else {\n\t// Ошибка! Подозрение на спам!\n}","lang":""}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

И цель создаем только на обработку формы.

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

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

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Связаться со мной: @olesya_nesterova44

"}},{"type":"text","cover":false,"hidden":false,"anchor":"","data":{"text":"

Telegram-канал:

"}},{"type":"link","cover":false,"hidden":false,"anchor":"","data":{"link":{"type":"link","data":{"url":"https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Ft.me%2Folesyanesterova_direct&postId=1887093","title":"Олеся FM. Вещаю о Директе","description":"Мысли, идеи, кейсы и все, что связано с Яндекс.Директом Я - специалист по контекстной рекламе @olesya_nesterova44","image":{"type":"image","data":{"uuid":"0c5ec522-6456-5837-a7a9-efa6a12645d2","width":180,"height":180,"size":4016,"type":"png","color":"26a5e4","hash":"","external_service":[]}},"v":1,"hostname":"t.me"}}}}],"summaryContent":null,"isExistSummaryContent":false,"warningFromEditor":null,"warningFromEditorTitle":null,"counters":{"comments":11,"favorites":0,"reposts":0,"views":1242,"hits":658,"reads":null,"online":0},"dateFavorite":0,"hitsCount":658,"isCommentsEnabled":true,"isLikesEnabled":true,"isRemovedByUserRequest":false,"isFavorited":false,"isPinned":false,"repostId":null,"repostData":null,"subscribedToTreads":false,"isEditorial":false,"isAudioAvailable":false,"audioUrl":null,"isAudioAvailableToGenerate":false,"commentEditor":{"enabled":true,"who":null,"text":"","until":null,"reason":null,"type":"everybody"},"isBlur":false,"isPublished":true,"isDisabledAd":false,"withheld":[],"ogTitle":null,"ogDescription":null,"url":"https://vc.ru/id1386066/1887093-frod-v-yandeksdirekte-i-metody-borby-s-nim","author":{"id":1386066,"name":"Олеся Нестерова","nickname":null,"description":null,"uri":"","avatar":{"type":"image","data":{"uuid":"776b9fd8-02cf-5876-b4c1-2ea83f95e031","width":640,"height":640,"size":61478,"type":"jpg","color":"aeacae","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAQDAwQDAwQEAwQFBAQFBgoHBgYGBg0JCggKDw0QEA8NDw4RExgUERIXEg4PFRwVFxkZGxsbEBQdHx0aHxgaGxr/2wBDAQQFBQYFBgwHBwwaEQ8RGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhr/wAARCAAKAAoDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABQMG/8QAJBAAAQQBAwMFAAAAAAAAAAAAAwECBBEFAAYSEyFhFCIzQVH/xAAVAQEBAAAAAAAAAAAAAAAAAAACA//EABkRAAIDAQAAAAAAAAAAAAAAAAABAhIhMf/aAAwDAQACEQMRAD8A1e8drboiYcWWwk9kRI4BnWGIbXIR7XWo3KqXXHslV3XxpIO6XSAjMwkXiRqOSxOul7/uit3T5Q8ZhenJMzlDYq8SKlrwRL1CKNnpQ+1vxt+vGqKPQXxH/9k="}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":4066982,"userId":1386066,"count":0,"shareImage":"https://api.vc.ru/achievements/share/4066982"}],"lastModificationDate":1764970122,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"subsite":{"id":1386066,"name":"Олеся Нестерова","nickname":null,"description":null,"uri":"","avatar":{"type":"image","data":{"uuid":"776b9fd8-02cf-5876-b4c1-2ea83f95e031","width":640,"height":640,"size":61478,"type":"jpg","color":"aeacae","hash":"","external_service":[],"base64preview":"/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAQDAwQDAwQEAwQFBAQFBgoHBgYGBg0JCggKDw0QEA8NDw4RExgUERIXEg4PFRwVFxkZGxsbEBQdHx0aHxgaGxr/2wBDAQQFBQYFBgwHBwwaEQ8RGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhr/wAARCAAKAAoDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABQMG/8QAJBAAAQQBAwMFAAAAAAAAAAAAAwECBBEFAAYSEyFhFCIzQVH/xAAVAQEBAAAAAAAAAAAAAAAAAAACA//EABkRAAIDAQAAAAAAAAAAAAAAAAABAhIhMf/aAAwDAQACEQMRAD8A1e8drboiYcWWwk9kRI4BnWGIbXIR7XWo3KqXXHslV3XxpIO6XSAjMwkXiRqOSxOul7/uit3T5Q8ZhenJMzlDYq8SKlrwRL1CKNnpQ+1vxt+vGqKPQXxH/9k="}},"cover":null,"achievements":[{"title":"Год на vc.ru","code":"registration_1_year","description":"Первый год с vc.ru. Получена 24 июля 2025.","previewUuid":"0d11c244-49de-50e7-894e-b9b27945d42b","formats":{"glb":"https://static.vc.ru/achievements/fish.glb","usdz":"https://static.vc.ru/achievements/fish.usdz"},"viewData":{"contentColor":"#C67AA3","textMaxWidth":0.634765625,"textX":0.5888671875,"textY":0.54296875,"logoX":0.5859375,"logoY":0.6669921875,"logoXNoText":0.6044921875,"logoYNoText":0.5439453125},"id":4066982,"userId":1386066,"count":0,"shareImage":"https://api.vc.ru/achievements/share/4066982"}],"lastModificationDate":1764970122,"isSubscribed":false,"isSubscribedToNewPosts":false,"isMuted":false,"isAvailableForMessenger":true,"badgeId":null,"isDonationsEnabled":false,"isPlusGiftEnabled":true,"isUnverifiedBlogForCompanyWithoutPro":false,"isRemovedByUserRequest":false,"isFrozen":false,"isDisabledAd":false,"isPlus":false,"isVerified":false,"isPro":false,"yandexMetricaId":null,"badge":null,"isOnline":false,"tgChannelShortname":null,"isUnsubscribable":true,"type":1,"subtype":"personal_blog"},"reactions":{"counters":[{"id":1,"count":7}],"reactionId":0},"isNews":false,"source":null,"clusters":[],"donations":{"amount":0,"isDonated":false},"commentsSeenCount":null,"keywords":[],"media":null,"customCover":null,"robotsTag":null,"categories":[4],"isAnonymized":true}};