Веб-счётчик Sber Ads: параметры, методы, debug-режим, сплиты и хэши
Веб-счётчик настраивают в интерфейсе Статистики от SberAds, а расширяют правкой сгенерированного кода. Параметров 20, обязателен только project; методов 8, среди них trackPageView, trackEvent и syncUserId. Debug включают параметром ?_top100_debug=1 в адресе страницы. Названия сплитов: латиница, цифры и «_», до 64 символов. Хэши в URL считаются при trackHashes: true.
Цифры
Параметры: основные и виджет
| Параметр | Обязательность | Что делает |
|---|---|---|
| project | обязательный | идентификатор счётчика; в коде стоит в options, проставляется автоматически при генерации кода |
| element | нет | идентификатор элемента страницы, в который рисуется виджет |
| widgetColor | нет | цвет виджета |
| manualControl | нет | переводит отправку всех собранных данных в ручной режим через вызов методов счётчика |
| checkInit | нет | уведомление о загрузке счётчика; детали в справке «События счётчика» |
| ignoreUrlQueryParams | нет | флаг: не собирать данные из query-параметров URL |
Параметры: данные пользователя
| Параметр | Обязательность | Что делает |
|---|---|---|
| user_id (userId) | нет | идентификатор авторизованного пользователя |
| нет | email пользователя, при передаче шифруется | |
| email_hash (emailHash) | нет | email сразу в зашифрованном виде, sha256 |
| phone | нет | телефон в формате 79999999999, при передаче шифруется |
| phone_hash (phoneHash) | нет | телефон сразу в зашифрованном виде, sha256 |
| pub_id (pubId) | нет | идентификатор пользователя, который генерирует и устанавливает площадка; должен быть постоянным |
| pub_scope (pubScope) | нет | область применимости pub_id; для web совпадает с доменом, куда ставится идентификатор |
| sber_id (sberId) | нет | идентификатор SberId |
| sber_sub_id (sberSubId) | нет | идентификатор SberSubId |
| rambler_id (ramblerId) | нет | идентификатор RamblerId |
Параметры: блоки, хэши, сплиты
| Параметр | Обязательность | Что делает |
|---|---|---|
| attributes_dataset | нет | перечень data-атрибутов разметки блоков для подсчёта показов и нажатий; ставится автоматически, если в интерфейсе заданы настройки аналитики блоков |
| common_attributes | нет | то же, но в отличие от attributes_dataset добавляет передачу данных для всех счётчиков на странице |
| trackHashes | нет | флаг: считать хэши, которые используются для навигации по страницам |
| splits | нет | перечень активных сплитов |
Методы
| Метод | Что делает |
|---|---|
| trackPageView | отправляет событие о просмотре страницы, принимает URL |
| trackEvent | отправляет собственное событие: название и данные события |
| syncUserId | передаёт идентификатор авторизованного пользователя или null |
| getPublisherId | возвращает идентификатор пользователя, установленный площадкой, и его область применения |
| drawLogoTo | рисует виджет в элементе страницы с указанным идентификатором |
| sendBlocks | сканирует страницу и отправляет данные по размеченным блокам |
| updateOptions | обновляет параметры счётчика |
| getAdtechId | возвращает first-party идентификатор, сформированный счётчиком |
Значения и ограничения
| Что | Значение |
|---|---|
| Debug включить | ?_top100_debug=1 |
| Debug выключить | _top100_debug=0 |
| Допустимые символы в названии сплита | a-z, A-Z, 0-9, _ |
| Длина названия сплита | до 64 символов |
| Алгоритм для email_hash и phone_hash | sha256 |
| Формат телефона | 79999999999 |
| Цвет виджета по умолчанию | синий |
Подробности
Как устроен веб-счётчик
Базовый набор отслеживаемых событий настраивается в интерфейсе Статистики. Чтобы расширить состав, например добавить отслеживание кликов по нужным элементам интерфейса, правят сгенерированный код счётчика: добавляют вызов нужных функций и определяют нужные атрибуты. Для каждого экземпляра счётчика на странице можно вызывать разные методы и переопределять разные параметры из числа поддерживаемых.
Перед вызовом любого метода нужно убедиться, что экземпляр счётчика создан и доступен. Если его ещё нет, данные не собираются: их не с чем связать.
Идентификатор пользователя и syncUserId
Справка выделяет четыре вида идентификаторов:
| Параметр передачи | Что это |
|---|---|
| pub_id и pub_scope | собственный идентификатор площадки, который она сама генерирует и устанавливает |
| user_id | идентификатор авторизованного пользователя |
| rambler_id | идентификатор RamblerId |
| sber_id | идентификатор SberId |
Авторизованного пользователя передают методом syncUserId: он принимает идентификатор и отправляет его в счётчик, так что можно переопределить user_id из настроек инициализации. Если человек вышел из аккаунта, передают null. Чтобы статистика строилась в разрезе пользователей, им нужно присвоить уникальные идентификаторы и включать их в данные, которые уходят в счётчик.
Передача user_id создаёт базовое событие login, передача null — базовое событие logout.
Условие для syncUserId: параметр user_id должен быть указан в коде счётчика при инициализации. Если пользователь на тот момент неизвестен, указывают null. Без этого при вызове метода в консоли появится предупреждение.
Три сценария из справки:
1. Человек вышел из аккаунта: вызывают syncUserId с null. 2. Пришёл незалогиненным и вошёл на сайте: при инициализации user_id равен null, после входа через syncUserId передают нужный идентификатор. 3. Пришёл залогиненным, вышел и вошёл снова: при инициализации указан исходный идентификатор, затем через syncUserId передают null (если нужно) и после повторного входа новый идентификатор.
Остальные идентификаторы (например ramblerId) передают методом updateOptions. pub_id и pub_scope можно задать и в параметрах счётчика при инициализации. Чтобы прочитать идентификатор площадки и его область применения, служит getPublisherId: он возвращает строковые значения id и scope.
Другие методы
- updateOptions принимает объект с параметрами, которые нужно обновить. Метод обновляет ограниченное число параметров конкретного счётчика; с его помощью можно также установить email пользователя. В примерах справки им задают pub_id и email.
- getAdtechId возвращает first-party идентификатор, сформированный счётчиком.
- sendBlocks дополнительно ищет на странице элементы, размеченные для аналитики блоков, и отправляет по ним данные. В метод можно передать DOM-элемент: контейнер, внутри которого ищутся показанные блоки.
- drawLogoTo вызывают на каждой странице, где нужен виджет, передавая идентификатор элемента, в который он рисуется. Тот же идентификатор можно задать параметром element при инициализации.
Цвет виджета
Параметр widgetColor задают в параметрах счётчика, по умолчанию виджет синий. В справке есть таблица готовых значений: код цвета и картинка с вариантом виджета. Всего в таблице 113 кодов, например 000000, 0c797d, 4c5ad4, 9f0500, ab149e, fcdc00.
Debug-режим
Debug проверяет, как работает счётчик и какие у него параметры. Его включают, добавив в адрес страницы GET-параметр ?_top100_debug=1. После этого:
- на странице появляется эмблема кракена;
- в DevTools, вкладка Console, идёт журнал событий: название счётчика, его параметры и действия;
- если используется аналитика блоков, по клику на иконку кракена можно выбрать, показывать ли блоки.
Выключают режим параметром _top100_debug=0. Справка предупреждает, что при включённом блокировщике рекламы функции могут работать нестабильно.
Сплиты
Отчёты Статистики можно разбивать по сплитам. Для этого в параметре splits передают массив активных сплитов: одно или несколько значений, например два названия в массиве. События на странице соотносятся с этим набором.
Названия сплитов: символы a-z, A-Z, 0-9 и «_», длина не более 64. Если названия не подходят, данные сервер не обсчитывает.
Учёт хэшей
Чтобы хэши из навигации по сайту попадали в статистику, в настройках счётчика включают trackHashes со значением true. После этого данные о хэшах появляются во всех отчётах, где показаны полные URL страниц, например: «Популярное», «Страницы входа», «Страницы выхода», «Разделы сайта».
Хэш в URL учитывается, если на странице нет элемента с id, равным хэшу (иначе считается, что это якорная ссылка). Поэтому mysite.com#hash1 и mysite.com#hash2 считаются разными страницами.
Важно знать
- updateOptions описан как обновляющий «ограниченное количество параметров», при этом отсылает к общему списку параметров счётчика. Какие именно из 20 можно менять после запуска, справка не говорит. Примеры: pub_id и email; email_hash и phone_hash отсылают к этой же странице.
- В названии страницы про getAdtechId стоит «adtech id и adtech scope», а текст описывает только first-party идентификатор, сформированный счётчиком; про scope ничего нет.
- Про login и logout справка пишет по-разному. Сначала: при передаче user_id событие login создаётся автоматически, при null — logout. В конце той же страницы: при установке user_id после null «надо отправлять событие base/login null», а при установке null после значения — «base/logout». Нужно ли отправлять эти события вручную, из текста не ясно. Эти же события в других местах справки называют иначе, например «авторизация пользователя» и «смена идентификатора пользователя».
- Параметр checkInit описан одной строкой и отсылкой к разделу «События счётчика»; что он принимает и что происходит при загрузке, на этих страницах нет.
- ignoreUrlQueryParams: какие именно query-параметры и в каких отчётах игнорируются, не описано.
- Таблица widgetColor состоит из 113 строк, превью цветов даны картинками без подписей. В одной строке код 34060 содержит 5 символов вместо 6. Принимаются ли коды вне таблицы, справка не говорит.
- Для email и phone написано «при передаче данных будет зашифрован», каким способом, не сказано; для готовых email_hash и phone_hash указан sha256.
- Для сплитов не уточнено, что именно не обсчитывается при неверном названии: только данный сплит или все данные события.
- Как выглядят эмблема кракена и вывод в консоли, показано на скриншотах без подписей.
- Страница методов правилась 08.10.2026, страница параметров — 21.01.2025, страницы про отдельные методы, сплиты и хэши — в 2024 году.
- Оглавление раздела «Настройка сбора и отправки данных» упоминает также Android SDK, iOS SDK, S2S, E-commerce и Аналитику блоков: в этой статье они не разбираются.