Накрутка «Яндекс Метрики» и схемы жульничества с целями
В этой статье разберем способы обмана счетчиков аналитики и способы борьбы с жуликами. Написание бота, который будет совершать фейковые действия на сайте, не является большой проблемой для любого разработчика. В контексте автотестирования сайта это вообще базовая задача. Но есть ситуации, когда это будут делать ради того, чтобы улучшить отчет о маркетинговых показателях или запутать конкурента и даже слить ему бюджет.
Накрутка целей
Трекинг целей осуществляется путем установки специального JS-кода от счетчиков аналитики. Это можно сделать напрямую через код сайта или через Google Tag Manager. В обоих случаях этот код можно достать и реализовать его исполнение через браузер.
Вот пример. Мы достали скрипт цели на нашем проекте culturacompass и повторили его через консоль. Данная цель «Яндекс Метрики» больше не актуальна, так как кнопки «Начать тест» больше нет. ym(93297768,"reachGoal","Start_test")
Метрика засчитала эти действия как выполнения цели.
Менеджер тегов в случае реализации триггера добавляет код цели в тег сайта, который потом можно изучить и исполнить заново скрипт из этого тега. В этом случае можно сделать скрипт, который будет удалять этот тег после его активации. Пример скрипта скинем в комментарии.
Но также можно накидать событий в сам GTM через объект в браузере window.dataLayer, где хранятся все события клиента.
В ситуации, когда у вас стоит оплата за конверсии, такие вещи могут привести к скликиванию бюджета через конверсии.
Накрутка трафика
Помимо накрутки целей, можно накручивать и просто визиты, естественно. Причем делать это через поисковые системы и показать потом рост органического трафика. :) Это, конечно же, может закончиться баном со стороны поисковиков.
Очень простой код, который будет просто открывать ссылку с utm-меткой.
Данный код откроет 100 раз ссылку с utm-меткой в браузере Chrome. При каждом открытии он еще будет делать паузу в одну секунду. Это очень простой вариант бота. Его можно существенно модернизировать и добавить прокрутки, клики мышкой, перемещение по страницам и заполнение форм.
Вывод
От хорошо подготовленной атаки нельзя защититься. Но можно сделать базовую защиту, которая сможет блокировать работу новичков. Существуют компании и сервисы, которые предоставляют услуги по защите от ботов.
Другие интересные наши работы
// Находим все скрипты внутри тега
let bodyScripts = document.body.getElementsByTagName('script');
// Скрипт для удаления
let content = 'fbq("track","any_click");'
// Проходим по найденным скриптам
for (var i = bodyScripts.length - 1; i >= 0; i--) {
var script = bodyScripts[i];
// Проверяем, содержит ли скрипт указанный текст
if (script.textContent && script.textContent.includes(content)) {
// Удаляем скрипт из DOM
script.parentNode.removeChild(script);
}
}