Блокирование отслеживания нецелевых юзеров через Google Tag Manager

Веб-аналитика Скрипты

Однажды (с 4 года назад) изваял костыльное решение, позволяющее блокировать отслеживание заданных посетителей (сеошнеги, маркетологи, менеджеры по продажам и прочий нецелевой люд). Сейчас оно на Гитлабе.

Вкратце

Работает просто: если юзер имеет нужную метку в локальном хранилище, то, при правильной настройке, запуск скриптов Аналитикса и Метрики блокируется (должны быть заведены через ГТМ). «Интерфейс» (вылезающий сверху страницы блок):

Блок с кнопками управление

Недостатки

Сначала о недостатках, а потом перейдём к настройкам. Итак:

  • Решение рабочее только если счётчики заведены через GTM;
  • Вызов объектов счётчиков (на срабатывающих триггерах) может иногда (или всегда) отсыпать ошибок в отладочную консоль (ну объекты не существуют, когда они не были инициализированы); либо мириться с этим, либо пробовать решить с помощью try/catch (что не добавляет удобства);
  • Если идти от обратного – не блокировать запуск счётчиков, а использовать переменную состояния со значением true в триггерах всех целей, что должно предотвратить ошибки в консоли, но усложнить жизнь челу, который настраивает Google Tag Manager;
  • Если известен или угадан url, юзер сможет отключить своё отслеживание счётчиками; хотя наверное можно прикрутить пароль (на JS), тогда жизнеспособность скрипта сильно возрастёт – юзеру лень будет искать, где он задан;
  • В некоторых случаях вёрстка блока с кнопками управления может съезжать.

Настройки в GTM

Код брать с Гитлаба.


Переменная Custom Javascript

Здесь всё просто – передача данных в ГТМ о метке в хранилищах (чтобы использовать это в разрешающем/запрещающем триггерах):

Переменная произвольного JS

Триггер страницы управления

Выбираем какой-нибудь несуществующий url сайта, и вбиваем в условие триггера, например, так:

Настройка триггера страницы управления

После завершения настройки именно на данный url отправляем всех тех, кому надо отключить отслеживание взаимодействия с сайтом (вверху страницы должен вылезать нужный блок с кнопками).


Триггер блокировки тегов

Указываем созданную ранее переменную в сочетании с событием, на котором работают теги счётчиков (как правило, это «просмотр страницы»), например:

Настройка триггера блокировки

Тэг скрипта

Создаём тег Custom HTML, оборачиваем основной код с Гитлаба в теги script и указываем в качестве триггера страницу управления, которую задали ранее.


Тег счётчика

Для каждого счётчика, запуск которого хотим заблокировать, указываем основный триггер и в качестве блокирующего указываем триггер блокировки:

Настройка тега с блокирующим триггером

Использованные картинки: 1