Как фильтровать внутренний трафик с помощью Google Tag Manager

Фильтрация внутреннего трафика – основная задача при настройке любой системы веб-аналитики.

Задача – отсечь внутренний трафик, который появляется благодаря активности сотрудников компании при исполнении ими своих обязанностей. Существует стандартный способ в Google Analytics, настройка фильтров по ip адресам.

На мой взгляд его минусами являются следующие:

  • высока вероятность смены пула ip адресов до того, как будут внесены изменения в настройки фильтров;
  • при удаленной работе очень сложно учесть все возможные ip адреса;
  • если вы используете протокол передачи данных для фиксации какой-то информации в Google Analytics, то сервер, отправляющий запросы, может попасть под фильтр.

Предлагаемый мной вариант требует некоторых знаний и навыков работы с JavaScript и/или jQuery, а также понимание того, как работает Google Tag Manager.

Первым делом определим логику работы:

  1. Сотруднику компании предлагается посетить любую страницу сайта дополнив ее урл одним параметром;
  2. На основе параметра из п. 1 “помечаем” пользователя;
  3. После этого если пользователь “помечен”, то для него не активируем теги Google Analytics или любой другой системы.

Итак, по умолчанию у нас активируется тег фиксации просмотра страниц на всех страницах сайта:

Активация тега Google Analytics на всех страницах сайта

Активация тега Google Analytics на всех страницах сайта

Выполним настройку Google Tag Manager для пометки посетителя если он добавил в URL страницы некоторый запрос, пусть это будет prometriki=filter:

Пример URL

Пример URL

Что нам необходимо реализовать в Google Tag Manager:

  1. Добавить тег, который установит куку пользователю;
  2. Добавить триггер, который активирует тег из п. 1 только в том случае, если в запросе есть необходимый параметр.

Создаем тег типа Пользовательский HTML, размещаем в нем код для установки cookie, не забывая указать, что время “жизни” cookie должно быть достаточно продолжительным, например 2 года. Пример кода для работы с cookie в Google Tag Manager.

Тег установки Cookie

Тег установки Cookie

После этого создаем для него триггер активации:

Триггер активации тега установки Cookie в Google Tag Manager

Триггер активации тега установки Cookie в Google Tag Manager

Разберем его немного подробнее. Триггер у нас связан с просмотрами страниц, но нам не нужны все страницы, по этой причине уточняем условия активации указывая, что переменная содержащая в себе фрагмент с именем prometriki из строки запроса из URL должна принимать значение filter.

Вот так выглядят настройки переменной:

Переменная Google Tag Manager содержащая фрагмент запроса

Переменная Google Tag Manager содержащая фрагмент запроса

Теперь при посещении страницы, в случае если указан в url параметр prometriki=filter у нас будет активироваться тег “пометки” посетителя с помощью cookie:

Пример установки Cookie

Пример установки Cookie

Пользователь “помечен”! Как теперь не учитывать его посещения в общей статистике?

Необходимо изменить настройки тега (как пример) Google Analytics. Откройте необходимый тег и перейдите к блоку, в котором указываются триггеры активации:

Настройки активации тега в Google Tag Manager

Настройки активации тега в Google Tag Manager

Обратите внимание на выделенный фрагмент, он нам необходим для указания триггеров, исключающих активацию тега. Создадим новый триггер со следующими настройками:

Триггер для фильтрации трафика

Триггер для фильтрации трафика

Он будет считаться “сработавшим” если у пользователя установлена cookie, за получение которой отвечает переменная COOKIE – Filter и ее значение равно filter. Настройки переменной ниже:

Переменная получающая значение из Cookie

Переменная получающая значение из Cookie

Поскольку триггер будет считаться “сработавшим” и при этом он относится к блокирующим триггерам у указанного тега, тег не будет активироваться, это то, что нам нужно. Теперь добавим к списку блокирующих триггеров ранее созданный для активации тега устанавливающего cookie и “помечающего” пользователя. Вот что у меня получилось:

Теги в контейнере Google Tag Manager

Теги в контейнере Google Tag Manager

Не забудьте выполнить отладку в Google Tag Manager и опубликовать изменения на сайте.

Кейсы и инструкции по настройке в вашем ящике. Подпишитесь сейчас!
я даю согласие на обработку персональных данных

11 комментария(ев) к “Как фильтровать внутренний трафик с помощью Google Tag Manager

  1. Т.е. нам нужно попросить, чтобы каждый сотрудник компании зашел на сайт, добавив уникальный параметр в урл?

    • Евгений, да, при этом единственным условием является наличие на этой страницы настроенного Google Tag Manager

  2. Интересный хак, но как он спасает от того, что вечером сотрудник зайдет из дома, а по дороге домой с мобильного?

    • Стас, при данном подходе, видимо, никак. Если только сам сотрудник сознательно не зайдёт с мобилы на страницу с фильтрующим параметром. Вопрос в том, насколько сознательны ваши сотрудники

      По-хорошему, организовывать надо на серверной стороне, добавляя куку, если логин пользователя принадлежит списку сотрудников.

      Это, конечно, можно реализовать и через GTM, сохраняя список сотрудников в самом GTM, но в этом случае список логинов становится доступным желающим поковыряться в коде.

    • В этом случае никак, cookie принадлежит конкретному браузеру. Необходимо на всех рабочих браузерах одного сотрудника выполнить такую операцию

  3. Дмитрий Квертин 21.01.2016 в 03:15 - Ответить

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

      • Максим Федоров 09.01.2017 в 02:13 -

        Нужно делать просто — куку устанавливать на серверной стороне. Я недавно писал себе:
        maksfedorov.ru/blog/all/ne-smotret-v-yandeks-metrike-svoi-posescheniya-v-egee/

        мне не хватало механики именно со стороны GTM

  4. Интересная реализация.
    Но, как мне кажется, вероятность того, что сотрудник периодически (например, раз в неделю) чистит компьютер, а за одним и куки, каким-нибудь Ccleaner`ом, гораздо выше, чем смена ip в офисе.

Добавить комментарий для Евгений Отменить ответ

Current month ye@r day *