вы так и не ответили по каким принципам будете производить отсев.
Это как раз ключевое в общем механизме работы.
для MVP можно взять фильтрацию по отпечатку браузера. Есть еще несколько идей. Это уже вопрос об эффективности фильтрации, а не о самом подходе.
Для проверки идеи, можно разместить 2 счетчика на сайте. Один оставлен без изменений. Второй идет с фильтрацией. Смотреть и сравнивать процент отказов.
В кабинете сервиса мониторить процент запросов, которые отфильтровали как ботов.
фильтрация данных в метрике, собираемых счетчиком (прикрепил скрин для наглядности)
Из вики Монстро, настройки для посещения страниц (прикрепил скриншоты). Также сейчас полно студий, которые предлагают поднять позиции накрутой - очевидно, что позиции набираются, в том числе, за счет пессимизации конкурентов
у пользователя сервисом будет статичный ключ, который он добавит в метрику.
Пользователи и ботоводы будут видеть зашифрованные get-параметры, которые включают в себя ключ
&client=4ad76228-517f-4496-aa6c-eef36d3de35a&client=01d3ff0d-cc37-4863-adef-72d3b0dbf08a&client=623bca27-dffd-4391-b233-20ca170549d4
какой-то из этих не прошел через фильтр, отследить невозможно просто потому что не знаешь какой прошел, а какой нет.
Если ботовод видит метрику, то он может отправлять данные в обход ваших проверок. Это легко проверить с локального сайта на html. Создайте счетчик в кабинете метрики. Создайте локально html файл и разместите там счетчик. При обновлении страницы данные будут улетать в метрику и спустя несколько минут вы увидите там посещения.
А я предлагаю подход, где организован фильтр запросов
KillBot может ограничить доступ бота к метрике через опцию "Скрыть счетчик метрики для бота". Но если ботовод поймал блокировку, то он может искать решение ее обойти. А еще может поймать код счетчика вручную и прописать выполнение js на выполнение счетчика.
На стороне ботовода видно, успешная была работа бота или нет
В разных программах для ботоводства есть настройка "скликивать конкурентов в выдаче". Вот конкретно против этого и хочу реализовать защиту.
Наброски реализации пока такие:
1. Устанавливаем скрипт на странице сайта
2. При загрузке страницы скрипт собирает данные пользовательского устройства и запроса. Отправляет на сервер сервиса, который по разным параметрам проверяет пользователя на фальшивость и возвращает ответ.
3. Для каждого пользователя в сервисе защиты устанавливается ключ, который нужно добавить в фильтр в Яндекс.Метрике > Настройка счетчика > Фильтр > Оставить только трафик > URL страницы > содержит > [ключ]
4. Если не бот, сервер возвращает get-параметр для подмены в url, который соответствует ключу для прохождения фильтра.
Метрика работает, бот не знает, что он не зарегистрирован.