Защита от накрутки

Антифрод в CRM: как отличить человека от бота

3 October 2026 · 4 мин чтения
Антифрод в CRM: как отличить человека от бота

Вопрос «человек это или бот» звучит просто, а ответ на него в вебе фундаментально невозможен в лоб. Страница целиком в руках того, кто её открыл: любой сигнал, который она отправляет, можно подделать. Поэтому серьёзный антифрод строится не на попытке «доказать человека», а на другом принципе. Разберу, на каком.

Почему нельзя просто спросить «ты человек?»

Капча кажется очевидным решением, но на практике она бьёт не туда. Живой посетитель, который пришёл по рекламе и уже сомневается, оставлять ли номер, при виде «отметьте все светофоры» часть раз просто уходит — вы теряете обращение, за которое заплатили. А боты капчу давно научились обходить, в том числе руками через сервисы распознавания. Получается защита, которая мешает клиентам сильнее, чем накрутчикам.

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

Три слоя, на которых стоит антифрод

Подписанный билет

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

Соразмерная работа (proof-of-work)

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

Оценка доверия

Самое главное — не «да/нет», а число. Признаки складываются: есть ли билет, подтвердилось ли, что открылась звонилка, был ли живой клик по странице, есть ли рекламные метки, смотрел ли человек страницу до клика, нет ли наплыва по сайту. Сумма даёт оценку доверия, и обращение с низкой оценкой не выбрасывается, а помечается «под подозрением».

Почему сомнительное метят, а не удаляют

Это принципиальный выбор. У настоящего звонка бывает мало признаков доверия — человек звонит из метро, с чужого устройства, впервые зашёл на сайт и сразу набрал номер. Если систему научить молча выбрасывать такие обращения, вы будете терять живых клиентов и никогда об этом не узнаете. Поэтому сомнительное остаётся в списке с пометкой, а решение принимает менеджер: ему видно и обращение, и причину, по которой оно под подозрением.

Тот же принцип работает и в обратную сторону, когда спам всё-таки подтвердился: его не удаляют, а помечают и выгружают аудиторией в Метрику для корректировки −100%. Удаление стёрло бы след, а след нужен, чтобы отвечать источнику накрутки.

Наплыв — по сайту, а не по адресу

Отдельно повторю то, что ломает большинство самодельных защит. Лимит «N заявок в час с одного IP» ловит ручную шалость и бесполезен против ботовода: у него адрес новый почти на каждую заявку. Наплыв виден только если считать его по сайту в целом. Причём считать правильно — по неподтверждённым нажатиям, а не по числу заявок, иначе бизнес с активной рекламой попадёт под свою же защиту в час пик. Общую картину этой логики я собрал в пиларе про накрутку в Директе.

Где живут эти данные

Важный для меня момент: весь антифрод работает внутри вашей CRM на вашем хостинге, а не в чужом облаке. Оценка доверия, билеты, пометки, аудитории спама — всё это лежит в вашей базе в России, как того требует 152-ФЗ, и забрать данные можно кнопкой выгрузки. Это не абстрактная приватность: чем ближе антифрод к вашим обращениям и вашим меткам визита, тем точнее он отличает человека от бота, потому что видит весь путь — от первого захода до звонка и сделки. О том, как именно клик и звонок связываются в одну заявку с метками, я писал в разборе про ClientID и yclid.

Коротко

Отличить человека от бота «в лоб» нельзя, и капча тут скорее вредит. Работает связка: подписанный билет, соразмерная работа для браузера и оценка доверия, которая помечает сомнительное, но не трогает живых, с порогом по сайту, а не по IP. Сомнительное разбирает человек, подтверждённый спам возвращается источнику корректировкой в Директе. Посмотреть, как это поставить рядом с готовым сайтом, можно на странице Пробита, а тарифы — здесь.

Частые вопросы

Почему не поставить обычную капчу?

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

Что такое proof-of-work простыми словами?

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

Что значит «пометить, а не удалить»?

Обращение ниже порога доверия не выбрасывается, а помечается «под подозрением» и остаётся в списке. Решает человек. Так не теряется живой клиент, у которого признаков мало.

Почему порог по сайту, а не по IP?

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

Попробовать Пробит бесплатно 30 дней →