websitelytics

Menu

Опенсорс в веб-аналитике — metrica-tag

Опубликовано: 29 июн 2023

В начале 2023 года проект Яндекс.Метрика поделился с опенсорсным сообществом кодом счетчика Метрики на github.com. Я решил протестировать данный открытый код на своем сайте. Основная причина — это конечно же интерес к технологии, которая развивалась такое длительное время, как часть одного из основных инструментов веб-аналитики в русскоязычном интернете.

Что можно сделать с помощью metrica-tag

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

Второй важный момент — скрипт имеет модульную структуру, вы можете отключить все модули, которые вам не нужны при сборке скрипта, оптимизируя таким образом итоговый код.

Редактируя (настраивая) логику в отдельных частях скрипта, вы можете управлять объемом и содержанием отправляемых данных. Например, вы можете добавить параметры просмотра/визита к выбранному типу хита.

Для модуля автоматического отслеживания кликов clickTracking.ts, добавление параметров визита может выглядеть как-то так:

    useGoal(ctx, counterOptions, GOAL_PREFIX, logGoals)[METHOD_NAME_GOAL](
        query, params ? {'btn_click': params} : undefined  // добавили параметры визитов
    );

Важный момент при любой такой модификации нужно понимать, насколько тяжелым или легким является написанный вами код. Metrica-tag при соответствующих настройках может отправлять достаточно много хитов. Если ваш доработанный код при этом вдруг будет, к примеру, применять сложный regex к большим текстам, то это однозначно замедлит работу вашего сайта и отразится на пользовательском опыте.

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

При несколько более длительном изучении логики работы скрипта мне также удалось:

Что нельзя сделать с metrica-tag

Опять же, сперва очевидное - отсутствующие проприетарные модули не будут работать, в том числе вебвизор.

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

Итого

Изучение metrica-tag для меня было интересным занятием. Спасибо команде, которая создала и поделилась этим кодом. Рад, что Яндекс.Метрике удалось пройти такой путь.