События веб-счётчика Статистики от SberAds: просмотр страницы и собственные события
Веб-счётчик принимает события разными способами: просмотр страницы в одностраничном сайте уходит методом trackPageview, собственная цель — вызовом reachGoal с номером счётчика, названием и необязательными данными. В названии события допустимы латинские буквы, цифры, дефис и нижнее подчёркивание, в данных — не больше 30 параметров и 5 уровней вложенности. Один вызов отправляет событие в один счётчик.
Цифры
Вызов reachGoal: что передают
| Часть вызова | Обязательность | Что указывают |
|---|---|---|
| Номер счётчика | обязательный | номер счётчика ТОП100 на этой же странице, числом, без кавычек |
| `'reachGoal'` | обязательный | имя метода, как есть, в одинарных кавычках |
| Название события | обязательный | любое, текстом в одинарных кавычках; латинские буквы, цифры, дефис, нижнее подчёркивание |
| Данные события | опциональный | объект с вложенными параметрами, до 30 параметров и 5 уровней вложенности |
Лимиты аналитики блоков
| Параметр | Значение |
|---|---|
| Уровней вложенности блоков | до 8 |
| Название одного сегмента пути | до 255 символов |
| Блоков на одной странице | не более 500 |
| Показ блока засчитывается | при видимости 10% и более в окне пользователя |
| Накопление событий методом trackUBEvent | по 10 событий перед отправкой |
Подробности
Уведомление о загрузке счётчика
Чтобы код страницы узнал, что счётчик загрузился, в настройки добавляют параметр checkInit со значением true и подписываются на событие страницы с именем «initKraken» и номером счётчика на конце. После срабатывания события можно обращаться к созданному объекту счётчика.
Просмотр страницы в одностраничном сайте
Метод нужен для SPA, чтобы статистика считалась корректно: вызов добавляют в те моменты, когда нужно зафиксировать показ новой страницы.
- Необязательный параметр — URL страницы. Если его не передать, счётчик берёт адрес из location.href без хэша.
- Чтобы хэши учитывались, нужно включить опцию учёта хэшей (отдельная страница справки, в этой статье не разбирается).
Собственные (целевые) события
Метод reachGoal отправляет событие в счётчик, номер которого указан в вызове. Правила из справки:
- Номер счётчика должен принадлежать счётчику, который реально стоит на той же странице, откуда идёт вызов, иначе событие в статистику не попадёт. Номер найдётся на странице «Мои сайты».
- Если вызов может сработать раньше, чем загрузится скрипт счётчика, заранее создают очередь-заглушку window.top100d: накопленные команды выполнятся сразу после загрузки скрипта. Если скрипт уже загружен, команда выполняется сразу.
- Название события с кириллицей или спецсимволами не засчитывается. Пробелы заменяются на нижнее подчёркивание сами, но справка советует называть события без пробелов.
- Минимальный вызов — номер счётчика, `'reachGoal'` и название события; данные события добавляют по необходимости.
Несколько счётчиков на странице
Один вызов отправляет событие ровно в один счётчик, режима «сразу во все» нет. Справка предлагает завести вспомогательную функцию со списком номеров всех установленных счётчиков и в ней вызывать метод по очереди для каждого номера. Список в функции должен совпадать со счётчиками, которые стоят на странице. Блок можно разместить в head или перед закрывающим body. Установка нескольких счётчиков разобрана в отдельной статье.
Цель в кабинете
Для события с таким названием цель нужно создать в кабинете каждого счётчика. Если цели нет, событие дойдёт в лог счётчика, но целевым не станет.
События аналитики блоков: показ и клик
Эта часть относится к отчёту «Аналитика блоков». Собираются только показы блоков и клики по ним.
1. Блоки, по которым нужна статистика, помечают data-атрибутами формата «data-название». Названия атрибутов перечисляют в параметре attributes_dataset кода счётчика — при создании счётчика в интерфейсе или вручную в уже установленном коде. 2. Вложенность строят вложенными контейнерами с одним и тем же data-атрибутом. Клик по вложенному блоку записывается цепочкой: имя атрибута, затем имена контейнеров и блока через «::». 3. Вложенность можно «эмулировать» без привязки к разметке: на один элемент ставят всю цепочку, начиная со 2-го уровня, через «::». 4. Параметр common_attributes отправляет указанные атрибуты сразу во все счётчики на странице. 5. Метод sendBlocks запускает дополнительное сканирование блоков и отправку новых показанных блоков; ему можно передать контейнер, внутри которого искать. 6. Внутри ShadowDOM блоки не отслеживаются. Для таких элементов есть метод trackUBEvent: ему передают действие («show» или «click»), элемент и необязательный флаг принудительной отправки накопленных событий.
Как считаются значения:
- показы блока с дочерними элементами = максимум показов среди дочерних + собственные показы блока;
- клики блока с дочерними элементами = сумма кликов по дочерним + собственные клики;
- CTR считается для каждого уровня отдельно как клики к показам;
- если у родителя и наследника разные data-атрибуты, клик по наследнику засчитывается и родителю (клик «поднимается» вверх по дереву);
- при перерисовке элемента показы отправляются повторно, так как элемент становится новым.
Чтобы собственные показы и клики родителя не смешивались с дочерними, справка советует размечать такие структуры линейно, без привязки к вложенности в разметке. Лишние атрибуты и лишнюю разметку советует убирать, если клики по ним не нужны.
Важно знать
- Регистр метода просмотра страницы: в описании и примерах стоит trackPageview, а в строке формата вызова — trackPageView. Какой вариант принимает счётчик, справка не поясняет: проверить на тестовой странице в debug-режиме.
- Параметр кода для аналитики блоков называется по-разному: на странице принципов работы — «data-attributes», на странице рекомендаций — attributes_dataset. Какое имя верное, справка не уточняет: attributes_dataset повторяется в примерах кода рекомендаций; проверить по коду счётчика из кабинета.
- В примере уведомления о загрузке счётчик создан с номером проекта 7596044, а подписка идёт на событие с другим номером (80674). Номер в имени события должен совпадать с номером реального счётчика.
- На странице принципов работы сказано, что показы и клики суммируются по уровням. Подробнее страница ограничений уточняет: клики суммируются, а показы родителя считаются как максимум дочерних плюс собственные.
- В справке не нашли: ограничение на длину названия собственного события, поведение при превышении 30 параметров или 5 уровней (сказано лишь, что принимаются не больше).