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

Google Tag Manager
Бесплатная версия онлайн курса по Google Tag Manager

7 уроков, более 2 часов обучающих видео материалов. Вы можете начать изучение прямо сейчас!

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

Задача – отсечь внутренний трафик, который появляется благодаря активности сотрудников компании при исполнении ими своих обязанностей. Существует стандартный способ в 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 и опубликовать изменения на сайте.

Автор блога: Иванов Иван, практикующий веб-аналитик. Специалист по внедреннию Google Analytics и Яндекс Метрики. Занимаюсь разработкой решений для формирования данных и отчетов по сквозной аналитике. Автор обучающего курса по Google Tag Manager, преподаватель в Нетологии
Еженедельная рассылка кейсов!
Обсуждение
  1. Евгений
    19.01.2016 at 11:47

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

    • Ответ автора
      19.01.2016 at 12:10

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

  2. Макс
    19.01.2016 at 12:02

    Хороший Хак)

  3. Стас
    19.01.2016 at 23:03

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

    • Сергей
      20.01.2016 at 09:08

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

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

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

    • Ответ автора
      20.01.2016 at 09:25

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

  4. Дмитрий Квертин
    21.01.2016 at 03:15

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

    • Ответ автора
      21.01.2016 at 09:04

      Спасибо, интересная информация

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

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

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

    • Дмитрий
      21.01.2016 at 12:26

      именно!

  5. Виталий
    17.03.2016 at 10:49

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

  6. Игорь
    08.09.2017 at 10:24

    Так и не понял, какой код нужно добавить в тег, который установит куку пользователю. Тот код, что отсылает к примеру сделан для примера реализации счетчика. А как он здесь будет выглядеть, чтобы собрать установить куки для пользователя с параметрами url?

    • Ответ автора
      20.09.2017 at 23:42

      Игорь, для установки cookie необходимо выполнить два условия: 1. Создать функцию, которая будет устанавливать cookie с соответствующим именем и нужно значение (определить функцию) 2. Передать в эту функцию нужные значения, чтобы они были использованы для создания cookie (выполнить функцию)

Ваш комментарий
Выберите рубрику
Google Analytics (69)
Google Tag Manager (58)
Яндекс Метрика (8)
Обзоры (3)
Power BI (3)
Яндекс Директ (2)
ClickHouse (1)
Последние публикации
Последние комментарии
mode_edit