Фильтрация внутреннего трафика – основная задача при настройке любой системы веб-аналитики.
Задача – отсечь внутренний трафик, который появляется благодаря активности сотрудников компании при исполнении ими своих обязанностей. Существует стандартный способ в Google Analytics, настройка фильтров по ip адресам.
На мой взгляд его минусами являются следующие:
- высока вероятность смены пула ip адресов до того, как будут внесены изменения в настройки фильтров;
- при удаленной работе очень сложно учесть все возможные ip адреса;
- если вы используете протокол передачи данных для фиксации какой-то информации в Google Analytics, то сервер, отправляющий запросы, может попасть под фильтр.
Предлагаемый мной вариант требует некоторых знаний и навыков работы с JavaScript и/или jQuery, а также понимание того, как работает Google Tag Manager.
Первым делом определим логику работы:
- Сотруднику компании предлагается посетить любую страницу сайта дополнив ее урл одним параметром;
- На основе параметра из п. 1 “помечаем” пользователя;
- После этого если пользователь “помечен”, то для него не активируем теги Google Analytics или любой другой системы.
Итак, по умолчанию у нас активируется тег фиксации просмотра страниц на всех страницах сайта:
Активация тега Google Analytics на всех страницах сайта
Выполним настройку Google Tag Manager для пометки посетителя если он добавил в URL страницы некоторый запрос, пусть это будет prometriki=filter:
Пример URL
Что нам необходимо реализовать в Google Tag Manager:
- Добавить тег, который установит куку пользователю;
- Добавить триггер, который активирует тег из п. 1 только в том случае, если в запросе есть необходимый параметр.
Создаем тег типа Пользовательский HTML, размещаем в нем код для установки cookie, не забывая указать, что время “жизни” cookie должно быть достаточно продолжительным, например 2 года. Пример кода для работы с cookie в Google Tag Manager.
Тег установки Cookie
После этого создаем для него триггер активации:
Триггер активации тега установки Cookie в Google Tag Manager
Разберем его немного подробнее. Триггер у нас связан с просмотрами страниц, но нам не нужны все страницы, по этой причине уточняем условия активации указывая, что переменная содержащая в себе фрагмент с именем prometriki из строки запроса из URL должна принимать значение filter.
Вот так выглядят настройки переменной:
Переменная Google Tag Manager содержащая фрагмент запроса
Теперь при посещении страницы, в случае если указан в url параметр prometriki=filter у нас будет активироваться тег “пометки” посетителя с помощью cookie:
Пример установки Cookie
Пользователь “помечен”! Как теперь не учитывать его посещения в общей статистике?
Необходимо изменить настройки тега (как пример) Google Analytics. Откройте необходимый тег и перейдите к блоку, в котором указываются триггеры активации:
Настройки активации тега в Google Tag Manager
Обратите внимание на выделенный фрагмент, он нам необходим для указания триггеров, исключающих активацию тега. Создадим новый триггер со следующими настройками:
Триггер для фильтрации трафика
Он будет считаться “сработавшим” если у пользователя установлена cookie, за получение которой отвечает переменная COOKIE – Filter и ее значение равно filter. Настройки переменной ниже:
Переменная получающая значение из Cookie
Поскольку триггер будет считаться “сработавшим” и при этом он относится к блокирующим триггерам у указанного тега, тег не будет активироваться, это то, что нам нужно. Теперь добавим к списку блокирующих триггеров ранее созданный для активации тега устанавливающего cookie и “помечающего” пользователя. Вот что у меня получилось:
Теги в контейнере Google Tag Manager
Не забудьте выполнить отладку в Google Tag Manager и опубликовать изменения на сайте.