четвер, 2 березня 2017 р.

Как убрать реферал спамеров из Гугл Аналитики навсегда | Fighting Referral Spammers permanently

Спам в Гугл Аналитику (Google Analytics) набирает обороты. Спамят все кому не лень в надежде получить хотя бы пару секунд внимания от владельцев сайтов. Раньше спамили только в сайты источники, сейчас куда угодно, включая поле языки.
Я уже писал об этом, но в кратце - никто на ваш сайт не заходит. Спамеры тупо имитируют запрос похожий на тот, что шлет обычная Гугл Аналитика, но подставляют свои строки. У Гугл Аналитики есть шикарный Measurement Protocol ("измерительный протокол", для несведующих) отлично продокументированный - прям реферал спамерство для чайников :)

Предидущие посты по теме
http://blog.klimenko.kiev.ua/2015/05/event-trackingcom-referral-spam.html
http://blog.klimenko.kiev.ua/2016/11/blog-post.html

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



Стандартно в Гугл Аналитике выставляется галка игнорировать ботов и включаются фильтры в каждое Представление (Перегляд, View) использующееся для анализа. Спам эволюционирует, фильтры тоже. Регекс фильтра может включать в себя не более 255 символов, потому фильтры плодятся. Двенадцать их по последним данным.

Больше года назад Гугл обещал исправить эту проблему тем же способом, что он победил спам в gmail. Но до сих пор этого не произошло.
А можно ли раз и навсегда отфильтровать спам? Можно и это даже относительно не сложно.
Чаще всего спамеры не целятся непосредственно в вашу аналитику - работают сразу на сотни тысяч по одной схеме. Все что нужно сделать это с каждым легитимным (простите за слово) запросом к гугл аналитике с вашего сайта или приложения добавлять некий признак легитимности (ну вот, опять) данных. Ну например: добавляем некий символ в конец заголовка страницы (Page Title) и один (всего один!) фильтр в Представление (View) проверяющий есть ли этот символ в заголовке. Если есть - то пропускаем эти данные. Если же нет, то спамеры - идите гуляйте. Положим заголовок страницы не самое лучшее место для такого маркера - но принцип вы поняли, я надеюсь. Я бы рекомендовал использовать Пользовательский Параметр (Спеціальний Атрибут, Custom Dimension) - я еще не видел чтобы сайт использующий бесплатную Гугл Аналитику использовал все 20 параметров (ну а если у вас Аналитика 360, то этих параметров аж 200), а значит одним из них вполне можно пожертвовать. Итак - добавляем к каждому запросу Пользовательский Параметр с неким значением (можно даже вычисляемым для энтузиастов, для остальных и постоянное значение сойдет), а в фильтрах режем их.
Спамеры нервно курят в сторонке и совсем не в курсе, что вы их спам не видите.

Как это технически сделать? Небольшой плагин для Гугл Аналитики (если вы все еще в каменном веке и вставляете код аналитики непосредственно в html) или изменения в Тэг Менеджере (GTM - Google Tag Manager). Ну и фильтр представления.

Для серьезных людей, следующий шаг это сделать отдельное Представление (View) включающее в себя только спамерские данные. Если спам в вашу аналитику вдруг возрастет - значит есть вероятность нацеливания именно в вас и могут быть задеты другие области бизнеса.

Пример реализации плагина для Гугл Аналитики и ее конфигурации
An example of the referral spam filter using Custom Metric

Плагин для Гугл Аналитики / Google Analytics plugin

Как видите, ничего сложного. Регистрируем плагин, ставим хук на sendHitTask метод и добавляем нужный маркер. Теперь каждый запрос в гугл аналитику будет иметь этот маркер.
В строке cd1= единица это индекс Пользовательского Параметра. Если у вас они уже используются, то Гугл Аналитика выдаст вам следующий по счету, который и нужно подставить вместо единицы.

Как создать Пользовательский Параметр


Пример фильтра Представления


Успехов! :)

Немає коментарів: