Руководство пользователя Broux
Broux — сервис записи и анализа пользовательских сессий. Он показывает, что мешает пользователям сайта или веб-приложения — в интерфейсе и в коде, — кого из клиентов это касается, и помогает довести проблему до исправления. Каждая сессия привязывается к конкретному пользователю (email, имя, роль, произвольные параметры), поэтому метрики считаются в людях, а не в анонимных визитах.
Руководство описывает каждую страницу личного кабинета: что на ней есть, как её настроить и для чего использовать. Его можно использовать как справочник для пользователей и как базу знаний для чат-бота поддержки. На всех скриншотах данные вымышленные: проект DemoShop, сайт shop-demo.ru, имена, контакты и содержимое записей заменены.
#Структура личного кабинета
Кабинет состоит из 7 аналитических разделов и 7 страниц настроек в левом меню, плюс профиль в правом верхнем углу. Всё, что показывают разделы, относится к проекту, выбранному в верхней панели. Адреса ниже указаны относительно https://broux.ru.
| Раздел меню | Страница | Адрес | Для чего |
|---|---|---|---|
| Дашборд | Дашборд | /app/dashboard | Сводка по проекту за период: ключевые метрики и проблемы, требующие внимания |
| Сессии | Список сессий | /app/sessions | Поиск и фильтрация записей визитов |
| Сессии | Плеер сессии | /app/session/{id} | Просмотр записи визита с логами консоли, сетью, событиями и поведением; панель «О визите» |
| Ошибки | Список ошибок | /app/errors | JS-, сетевые и ресурсные ошибки, сгруппированные по типу |
| Поведение | Список UX-паттернов | /app/ux-issues | Сигналы фрустрации: rage click, брошенные формы и др. |
| Быстродействие | Список проблем | /app/performance | Зависания интерфейса и медленные переходы |
| Пользователи | Список пользователей | /app/users | Идентифицированные посетители и переход к их сессиям |
| Карты | Карта кликов | /app/map/clicks | Тепловая карта кликов по странице |
| Карты | Карта скроллов | /app/map/scrolls | Глубина прокрутки страницы |
| Настройки | Основные настройки | /app/settings/project | Название, URL, часовой пояс, маскирование, исключение трафика, пороги, шеринг, очистка данных |
| Настройки | Скрипт на сайт | /app/script | Код трекера и проверка установки |
| Настройки | Отправка данных | /app/script/data | Передача данных пользователя и кастомных событий |
| Настройки | Уведомления | /app/settings/notifications | Получатели, каналы (Email, Telegram, Макс), типы уведомлений |
| Настройки | API и Webhook | /app/settings/integrations | Вебхуки и API-ключи |
| Настройки | Оплата и подписка | /app/settings/billing | Тариф, лимит сессий, счета, смена тарифа |
| Настройки | Команда и доступы | /app/settings/access | Сотрудники, права, история входов |
| Верхняя панель | Профиль | /app/profile | Email, реквизиты для документов, пароль, история входов, выход |
Страницы настроек видны только участникам с правом «Доступ к настройкам аккаунта»; «Команда и доступы» — только с правом «Может управлять командой» (см. раздел «Команда и доступы»).
#Общие элементы интерфейса
На каждой странице есть левое меню, верхняя панель с выбором проекта и аккаунтом, индикатор лимита тарифа и кнопка чата поддержки.
| Элемент | Где | Что делает |
|---|---|---|
| Левое меню | Слева | Переход между разделами. «Карты» и «Настройки» раскрываются в подменю |
| Выбор проекта | Сверху слева | Переключает проект (сайт). Пункт «+ Новый проект» добавляет ещё один сайт |
| Аккаунт | Сверху справа | Открывает страницу «Профиль» |
| Лимит тарифа | Слева внизу | Сколько сессий израсходовано из месячного лимита |
| Чат поддержки | Справа внизу | Написать в поддержку Broux |
Повторяющиеся элементы страниц с данными:
- Период — выбор дат в календаре из двух месяцев; «Сбросить период» возвращает значение по умолчанию.
- Фильтры — боковая панель с группами условий; цифра на кнопке показывает число активных фильтров. Условия применяются кнопкой «Применить», «Сбросить» очищает их. Активные фильтры видны чипами над таблицей, «Очистить всё» снимает их разом.
- Поиск и ♡ — строка поиска по таблице; кнопка с сердечком оставляет только избранное.
- Обновить (круглая стрелка) — перезагружает данные без перезагрузки страницы.
- Сортировка — клик по заголовку столбца со стрелками.
- Избранное (♡ в строке) — отмечает сессию, ошибку, паттерн или пользователя, чтобы быстро вернуться к ним.
#Быстрый старт
Запуск Broux состоит из трёх шагов:
- Проверьте проект — он уже создан при регистрации.
- Установите скрипт на сайт — после этого начнётся запись сессий.
- Передавайте данные пользователей — без этого все посетители будут анонимными, и вы не сможете найти сессию конкретного клиента по email или имени.
Шаги 1 и 2 занимают несколько минут. Шаг 3 делает разработчик сайта: нужно добавить один вызов в код там, где сайт уже знает, кто вошёл.
#Шаг 1. Проверьте проект
Проект — это ваш сайт в Broux: со своим скриптом, настройками и данными. Первый проект создаётся автоматически при регистрации — создавать его не нужно.
- Откройте «Настройки → Основные настройки».
- Проверьте URL сайта — по нему Broux проверяет, установлен ли скрипт. Укажите адрес боевого сайта, например
https://shop-demo.ru. - Задайте название проекта и часовой пояс (от него зависят даты в отчётах).
- Нажмите «Сохранить изменения».
Нужен ещё один сайт? Откройте меню проекта в левом верхнем углу и нажмите «+ Новый проект». У каждого проекта свой скрипт, поэтому для нового сайта повторите шаги 2 и 3. Отдельный проект удобен и для тестового стенда, чтобы его данные не смешивались с боевыми. Число проектов зависит от тарифа: 1 на «Бесплатном», 3 на «Старте», 10 на «Росте», без ограничений на «Масштабе».
#Шаг 2. Установите скрипт на сайт
Где взять скрипт. Откройте «Настройки → Скрипт на сайт» и нажмите «Копировать» в блоке «Код вставки». В коде уже есть идентификатор вашего проекта (строка window.__BROUX_USER_ID__ = "…"), поэтому берите код именно из кабинета, а не из этой инструкции. Если проектов несколько, сначала выберите нужный проект в верхней панели.
Куда вставить. В HTML-шаблон сайта, внутрь тега <head>, перед закрывающим </head>:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Мой сайт</title>
...
<!-- Broux: код из «Настройки → Скрипт на сайт» -->
<script>
...
</script>
</head>
<body>
...
Код должен быть на всех страницах, которые вы хотите записывать, — в том числе в личном кабинете и формах после входа. Проще всего добавить его один раз в общий шаблон:
| Где сделан сайт | Куда вставить код |
|---|---|
| Своя вёрстка / фреймворк с общим макетом (layout) | В <head> общего макета, который подключается ко всем страницам |
| Одностраничное приложение (React, Vue, Angular) | Один раз в <head> файла index.html — переходы между экранами запишутся сами |
| CMS (1С-Битрикс, WordPress, Tilda и др.) | В шаблон сайта (header) или в настройку CMS для вставки кода в <head> на всех страницах |
| Google Tag Manager | Тег «Пользовательский HTML» с кодом и триггером на все страницы |
Скрипт загружается асинхронно и не замедляет открытие страницы. Если на сайте настроена политика безопасности контента (CSP), разрешите в ней домен broux.ru.
Как проверить установку.
- Опубликуйте изменения на сайте.
- В «Скрипте на сайт» нажмите «Проверить сейчас» — статус должен стать «Скрипт найден».
- Откройте свой сайт и консоль браузера (F12 → Console). Должны появиться строки
Broux tracking script initializingиBroux tracking script loaded. СтрокаFailed to load Broux tracking scriptозначает, что загрузку блокирует CSP или блокировщик рекламы. - Походите по сайту — ваш визит появится в разделе «Сессии». Если вы уже добавили свой IP в «Исключение внутреннего трафика», ваши визиты не запишутся — проверяйте с другого устройства.
#Шаг 3. Передавайте данные пользователей
Это главный шаг настройки. Скрипт сам не знает, кто пришёл на сайт, — пока сайт ему этого не скажет, все посетители будут «Анонимами». Когда данные передаются:
- в списке сессий видны имя и email пользователя;
- сессию клиента, который написал в поддержку, можно найти за секунды в разделе «Пользователи»;
- ошибки и UX-паттерны считаются в реальных людях, а не в анонимных визитах;
- сессии можно фильтровать по тарифу, роли, компании и любым своим полям.
Как отправлять. На страницах, где пользователь уже вошёл в свой аккаунт, вызовите window.Broux.userIdentity() и передайте данные этого пользователя из вашей системы. Готовые примеры есть в кабинете: «Настройки → Отправка данных».
Минимальный вызов — два обязательных поля:
window.Broux.userIdentity({
id: "user_123", // ID пользователя в вашей системе
name: "Иван Иванов" // как показывать в Broux
});
Рекомендуемый вызов — с контактами и бизнес-параметрами:
window.Broux.userIdentity({
id: "user_123",
name: "Иван Иванов",
email: "ivan@example.com", // поиск в «Пользователях»
phone: "+79991234567", // поиск в «Пользователях»
env: "production", // разделение prod / staging
roles: ["admin", "manager"], // роли в вашем продукте
customFields: { // любые свои поля
tariff: "pro",
company: "ООО Вектор"
}
});
Важно:
- Подставляйте реальные данные вошедшего пользователя, а не примеры из инструкции.
idдолжен быть постоянным и уникальным — лучше всего внутренний ID из вашей базы. Так все сессии одного человека соберутся в одном профиле.- Вызывайте метод сразу после входа или регистрации и при каждой загрузке страницы, где пользователь уже авторизован, — так каждая его сессия будет подписана.
- Для неавторизованных посетителей ничего вызывать не нужно — они останутся «Анонимами».
- Скрипт Broux грузится асинхронно, поэтому в момент вызова
window.Brouxможет ещё не быть. Используйте безопасную обёртку из примеров ниже.
Пример 1. Обычный сайт (страницы собираются на сервере, PHP / 1С-Битрикс). Вставьте в шаблон после скрипта Broux. Блок выводится, только если пользователь вошёл:
<?php if ($user): ?>
<script>
(function identify() {
if (window.Broux && window.Broux.userIdentity) {
window.Broux.userIdentity(<?= json_encode([
'id' => (string)$user->id,
'name' => $user->name,
'email' => $user->email,
'customFields' => ['tariff' => $user->tariff],
], JSON_UNESCAPED_UNICODE) ?>);
} else {
setTimeout(identify, 300); // ждём загрузки скрипта
}
})();
</script>
<?php endif; ?>
Пример 2. Одностраничное приложение (React, Vue и т. п.). Вызывайте там, где приложение получает данные вошедшего пользователя: после успешного входа и при старте приложения, если сессия уже есть.
function brouxIdentify(user) {
if (window.Broux && window.Broux.userIdentity) {
window.Broux.userIdentity({
id: String(user.id),
name: user.fullName,
email: user.email,
roles: user.roles,
customFields: { tariff: user.plan, companyId: user.companyId }
});
} else {
setTimeout(function () { brouxIdentify(user); }, 300);
}
}
// после входа
const user = await api.login(email, password);
brouxIdentify(user);
// при старте приложения, если пользователь уже авторизован
const current = await api.getCurrentUser();
if (current) brouxIdentify(current);
Как проверить. Войдите на свой сайт под тестовым аккаунтом и перейдите по паре страниц. В Broux откройте «Пользователи» и найдите этот аккаунт поиском по email; в списке сессий вместо «Аноним» должно быть его имя.
#Дополнительно: пользовательские события
События отмечают в записи важные для вас действия: оплату, отправку заявки, нажатие «Купить». Они появятся на таймлайне плеера, и по ним можно фильтровать сессии (например, «все, кто начал оформлять заказ, но не оплатил»). Доступно с тарифа «Рост».
Вызывайте в коде сайта в момент действия. Обязателен только action:
// клик по кнопке «Купить»
window.Broux.sendCustomEvent({ action: "click_buy" });
// успешная отправка формы подписки
window.Broux.sendCustomEvent({ action: "form_submit", type: "newsletter", value: 1 });
#Что сделать дальше
- Приватность. В «Основных настройках» оставьте режим «Маскировать все текстовые поля» и добавьте IP офиса и QA в «Исключение внутреннего трафика».
- Уведомления. В «Уведомлениях» подключите Email, Telegram или Макс и включите как минимум «Новая ошибка обнаружена» и «Скрипт перестал получать данные».
- Команда. Пригласите коллег в «Команде и доступах» и выдайте им доступ к нужным проектам.
#Дашборд
Дашборд — стартовая страница: за минуту показывает, как чувствует себя продукт и какие проблемы чинить первыми. Период переключается кнопками «24 часа», «7 дней», «30 дней» или «Период» (произвольные даты); рядом с каждой метрикой — изменение к прошлому периоду.
| Блок | Что показывает | Как использовать |
|---|---|---|
| Сессии | Число записанных визитов и срок хранения записей | Контроль трафика и расхода лимита |
| Доля сессий с ошибкой | % визитов хотя бы с одной ошибкой | Главный показатель стабильности; рост после релиза — сигнал регрессии |
| Пострадавшие пользователи | Идентифицированные пользователи, столкнувшиеся с ошибками, и всего посетителей | Оценка масштаба проблем |
| UX-паттерны | Сигналы фрустрации (rage/dead click, брошенные формы) | Качество интерфейса |
| Требует внимания | Топ-5 ошибок и топ-5 UX-паттернов по числу пострадавших | Клик по строке открывает карточку; «Все ошибки» / «Все паттерны» ведут в раздел |
| Быстродействие | Зависания интерфейса, медленные переходы и 5 самых массовых проблем с p95 | «Открыть отчёт» ведёт в раздел «Быстродействие» |
| Статусы проблем | Распределение ошибок и паттернов по статусам, «Без движения > 7 дней» и «Возврат проблем» | Контроль того, как команда разбирает проблемы |
#Сессии
Сессия — запись одного визита на сайт. Раздел нужен, чтобы найти нужный визит (по пользователю, ошибкам, UTM, устройству) и посмотреть, что именно делал человек.
#Список сессий
Столбцы: Пользователь (имя из userIdentity или анонимный ID), Устройство (ОС, браузер, версия), Дата и время, Длительность, число UX-паттернов и ошибок (красный бейдж = есть ошибки). В столбце «Действие»: ♡ — в избранное, ▶ — открыть плеер, «поделиться» — ссылка на запись (доступ по ссылке задаётся в «Основных настройках»). Сортировка — по дате, UX-паттернам и ошибкам; список разбит по 20 строк.
Кнопки над таблицей:
- Период — диапазон дат (по умолчанию текущий месяц).
- Фильтры — см. таблицу ниже.
- ⚙ Столбцы — скрыть или показать столбцы таблицы.
- ⤓ Экспорт — выгрузка текущего списка в CSV или Excel.
#Фильтры сессий
| Группа | Фильтры |
|---|---|
| Сессия | Только избранные; наличие ошибок (Все / Есть / Нет); размер сессии от–до, сек; количество событий от–до; количество ошибок от–до; наличие UX-паттерна (Rage click, Dead click, Thrashed Cursor, Quick Back, Scroll burst, Abandoned form) |
| Пользователь | Тип: идентифицирован / аноним; условия по полям userIdentity() (id, name, email, phone, env, roles и ключи customFields) с операторами =, ≠, <, >; несколько условий объединяются по «И» |
| Устройство и гео | Тип устройства (Desktop / Mobile / Tablet), браузер, ОС, страна, город — в списках только значения из сессий за выбранный период |
| Поведение и UTM | Кастомное событие (из sendCustomEvent); UTM-метки — можно добавить несколько, например source и medium |
#Плеер сессии
Кнопка ▶ в списке открывает плеер: слева воспроизведение визита, справа технические данные, синхронизированные со временем записи. Длинные сессии грузятся порциями («батчами») — прогресс виден на экране.
- Управление: назад/вперёд на 5 секунд, пуск, пауза, стоп, таймлайн с метками событий, скорость 0.5x–4x.
- Логи — консоль браузера посетителя с фильтрами Errors, Warnings, Info, Log, Exceptions, Debug.
- Сеть — запросы XHR, Fetch, Beacon, Other: время, статус, метод, URL, длительность; поиск по URL и методу; строка раскрывается для деталей.
- Пользовательские события — события, отправленные сайтом через sendCustomEvent.
- Поведение — UX-паттерны в этой сессии с моментом, страницей и элементом (например, «Быстрый назад»).
- В избранное / Скопировать ссылку — в шапке плеера.
Вкладка «Поведение» в плеере перечисляет UX-паттерны, зафиксированные в этой сессии (например, «Листание» — так в плеере называется Scroll Burst, «Rage click», «Брошенная форма»), с временем события. Клик по строке перематывает запись к моменту паттерна.
Кнопка «О визите» открывает панель с паспортом сессии:
- Сводка: номер визита, ID клиента, домен, устройство, длительность, число событий, размер экрана, время старта, объём логов и сети.
- Профиль: данные из userIdentity() и ссылка «Все сессии пользователя».
- Вход и выход: первая и последняя страницы визита.
- Атрибуция: источник, канал, кампания, ключевое слово, GCLID, YCLID, реферер, лендинг.
- Страницы: все страницы визита по порядку.
Ниже в панели «О визите» — список посещённых страниц в порядке просмотра и атрибуция визита: источник, реферер и UTM-метки. По ним видно, откуда пришёл пользователь и каким путём дошёл до проблемы.
#Ошибки
Раздел собирает ошибки с сайта и группирует одинаковые в одну строку, чтобы вы чинили причину, а не разбирали тысячи событий. По умолчанию показаны статусы «Активно» и «Вновь активно», сортировка — по числу пользователей.
Вверху — 4 метрики: всего ошибок за 24 ч, новых ошибок за 24 ч, пользователей затронуто за 24 ч и активных групп.
| Столбец | Значение |
|---|---|
| Ошибка / сообщение | Текст ошибки и место в коде или адрес ресурса |
| Тип | JAVASCRIPT — исключения в коде; NETWORK — неуспешные запросы (статус 0, 4xx, 5xx); RESOURCE — не загрузились картинки, скрипты, стили |
| Впервые / Последний раз | Когда ошибка появилась и когда повторилась последний раз |
| Пользователи / Сессий / События | Масштаб: сколько людей, визитов и случаев |
| Тренд | Растёт (красная стрелка вверх), падает или стабильно |
| Статус | Этап работы над ошибкой (см. «Статусы проблем») |
#Фильтры ошибок
| Группа | Фильтры |
|---|---|
| Избранное | Только избранные ошибки |
| Даты | Период последнего и первого обнаружения |
| Ошибка | Тип (JavaScript, Network, Resource), статус, тренд (Растёт / Падает / Стабильно) |
| Контекст | Браузер, устройство, ОС, страница возникновения |
| Пользователь | Идентифицирован / аноним, условия по полям userIdentity() |
| Метрики | Затронуто пользователей от–до, процент сессий за 7 дней от–до |
#Карточка ошибки
Клик по строке открывает карточку справа. В шапке — статус, ♡ (в избранное) и «Поделиться» (публичная ссылка на ошибку).
- Stack trace — стек вызовов, строка с местом ошибки подсвечена.
- Влияние — затронуто пользователей, % сессий за 7 дней, тренд, даты первого и последнего появления.
- Страницы — где возникает ошибка и какая доля случаев на каждой.
- Действия — «Посмотреть сессии» и «Посмотреть пользователей» открывают списки, отфильтрованные по этой ошибке.
- Недавние вхождения — кто и когда столкнулся с ошибкой: браузер, номер визита, окружение, страница и ссылка «Открыть сессию».
- Статус — выпадающий список и кнопка «Применить» в конце карточки.
Блок «Недавние вхождения» показывает последние сессии, в которых произошла ошибка: пользователь, время, браузер и кнопка перехода к записи — плеер откроется сразу на моменте ошибки.
Статус меняется в конце карточки: выберите значение и нажмите «Применить» (подробнее — в разделе «Статусы проблем»).
При переводе в «Игнорируется» Broux просит указать причину: например, ошибка стороннего скрипта или расширения браузера, ожидаемое поведение, не воспроизводится, неактуально. Причина сохраняется в карточке и помогает команде не разбирать одну и ту же ошибку повторно.
#Поведение (UX-паттерны)
«Поведение» показывает, где посетители раздражаются или застревают: трекер распознаёт типовые паттерны и группирует их по элементу и странице. Устроен так же, как «Ошибки»: метрики за 24 ч, фильтры, таблица групп и карточка.
| Паттерн | Что означает | Что проверить |
|---|---|---|
| Rage click | Много быстрых кликов по одному элементу | Элемент не реагирует или реагирует медленно |
| Dead click | Клик, после которого ничего не происходит | Элемент выглядит кликабельным, но им не является |
| Thrashed Cursor | Хаотичное движение курсора | Пользователь не находит нужное или страница зависла |
| Quick Back | Быстрый возврат на предыдущую страницу | Страница не соответствует ожиданиям или открыта по ошибке |
| Scroll burst | Резкая бессистемная прокрутка | Пользователь ищет информацию и не находит |
| Abandoned form | Форму начали заполнять и бросили | Какое поле отпугивает (блок «Заполняемость полей») |
В таблице столбец «Элемент» содержит заголовок страницы или подпись элемента и CSS-селектор (например, form#auth-form) — по нему разработчик найдёт элемент в коде. Фильтры: избранное, даты обнаружения, тип паттерна, статус, тренд, страница, устройство, браузер, ОС, элемент и параметры пользователя.
#Карточка паттерна
Карточка повторяет карточку ошибки (влияние, страницы, действия, недавние вхождения, статус). Для «Abandoned form» добавляется блок «Заполняемость полей»: доля брошенных заполнений, в которых поле было заполнено. Низкий процент означает, что на этом поле люди чаще всего уходят.
#Быстродействие
Раздел показывает, где сайт тормозит у реальных пользователей. События сгруппированы в проблемы по странице или компоненту, а не показаны сырым потоком.
Фильтры над таблицей сужают список по типу проблемы, статусу, странице, устройству и браузеру; отдельный переключатель показывает только избранные проблемы (звёздочка в строке).
- Frozen UI (зависание интерфейса) — длинная задача блокировала страницу дольше порога (по умолчанию 300 мс).
- Slow Navigation (медленный переход) — переход между страницами дольше порога (по умолчанию 3000 мс); в столбце «Где» — маршрут «откуда → куда».
- По странице / по компоненту — способ группировки проблемы. Динамические части адреса заменяются на
:id. - p95 — длительность, которую не превышают 95% случаев. Ориентируйтесь на него: именно тяжёлые случаи доходят до поддержки.
#Карточка проблемы
| Блок | Содержание |
|---|---|
| Влияние | Пользователей затронуто, случаев, тренд, сколько случаев шло сериями, даты первого и последнего случая |
| Распределение | p50, p75, p95, p99 и гистограмма длительности случаев |
| Динамика по дням | Случаев в день и p95 по дням — видно, помог ли фикс |
| Что блокировало поток | Доля причин: пользовательский колбэк, загрузка скрипта, обработчик события, разрешение промиса, не определён |
| Настройки проблемы | Ответственный из участников команды; собственный порог в мс (не ниже порога проекта) |
| Действия | «Посмотреть сессии» |
| Недавние случаи | Пользователь, браузер, скрипт-виновник, длительность и ссылка «Открыть сессию на этом моменте» |
Когда поднимать порог: если на этой странице тяжёлая работа — норма (большие отчёты, графики), случаи ниже нового порога перестанут попадать в отчёт. Настройка действует вперёд, уже записанные случаи остаются.
#Пользователи
Раздел показывает посетителей, которых сайт идентифицировал через window.Broux.userIdentity(), и позволяет быстро открыть все его сессии — например, когда клиент пишет в поддержку.
- Столбцы: ID, имя, email, окружение (env), число сессий, последняя активность. Сортировка по ID, сессиям и активности.
- Поиск — по имени, email или телефону.
- Действия: ♡ — в избранное; иконка киноплёнки — «Сессии пользователя»: открывает раздел «Сессии» с фильтром по этому человеку.
- ⚙ и ⤓ — настройка столбцов и экспорт списка, как в «Сессиях».
| Группа фильтров | Что можно задать |
|---|---|
| Избранное | Только избранные пользователи |
| Активность | Дата последней и первой активности |
| Профиль | Наличие ошибок; условия по id, name, email, phone, env, roles и ключам customFields (=, ≠, <, >) |
| Устройство и гео | Устройство, браузер, ОС, страна, город |
| Поведение | UTM-метки, UX-паттерн в сессиях, кастомное событие (например, checkout_started) |
| Метрики | Количество сессий от–до |
#Карты кликов и скроллов
Карты накладывают действия всех посетителей за период на снимок одной страницы. Карта кликов показывает, куда нажимают; карта скроллов — до какого места дочитывают.
Как построить карту:
- Выберите период (по умолчанию последние 7 дней).
- В списке «Страница» выберите URL (можно начать вводить адрес для поиска) — в нём только страницы, по которым есть сессии за период.
- Выберите экран: Десктоп, Мобильный или Планшет — переключение мгновенное, без перезагрузки карты.
- При необходимости сузьте выборку фильтрами и дождитесь загрузки (большие выборки грузятся порциями).
Снимок страницы под картой выбирается автоматически: из последних снимков берётся лучший — снятый после полной загрузки, без открытых окон и прелоадеров, свежий и с самой частой у посетителей шириной экрана. Если снимок битый (открыт попап, страница не догрузилась), нажмите «Плохой снимок» рядом с выбором экрана — он удалится, карта покажет другой сохранённый снимок, а новый появится автоматически с новыми сессиями.
Фильтры карт: наличие ошибок и UX-паттернов в сессии; тип и параметры пользователя; браузер, ОС, страна. Тип устройства выбирается переключателем «Экран» над картой.
На карте скроллов над снимком — строка статистики: число сессий, средняя и максимальная глубина, сколько сессий дошли до 25/50/75/100%. Галочка «Линия первого экрана» отмечает границу видимой без прокрутки области. Если сессий меньше 10, система предупредит, что данных недостаточно — расширьте период или смените вьюпорт.
#Статусы проблем и совместная работа
Ошибки, UX-паттерны и проблемы быстродействия ведутся как задачи с одним набором статусов. Статус меняется в конце карточки: выберите значение и нажмите «Применить».
| Статус | Когда ставить | Что происходит дальше |
|---|---|---|
| Активно | Ставится автоматически при первом появлении | Показывается в списках по умолчанию |
| В работе | Команда взяла проблему в исправление | Исчезает из фильтра по умолчанию, видна по фильтру статуса |
| Решено | Исправление выкачено | При новом вхождении автоматически станет «Вновь активно» |
| Вновь активно | Ставится автоматически — решённая проблема вернулась (регрессия) | Можно получать уведомление «Ошибка снова активна» |
| Игнорируется | Шум, который не нужно чинить (сторонние скрипты, блокировщики рекламы) | Убирается из списков и блока «Требует внимания» |
Инструменты для команды:
- Поделиться — ссылка на сессию, ошибку или UX-сигнал для разработчика или тикета. Кто может её открыть и сколько она живёт, задаётся в «Основных настройках → Публичный шеринг».
- Ответственный — назначается в карточке проблемы быстродействия.
- Избранное — личный список для наблюдения.
- Дашборд → Статусы проблем — сколько проблем в каждом статусе и сколько лежат без движения более 7 дней.
#Настройки: основные параметры проекта
Здесь задаются свойства проекта, правила сбора данных и доступ по ссылкам. Изменения вступают в силу после кнопки «Сохранить изменения» внизу страницы; «Отменить» сбрасывает правки.
| Блок | Поле | Как настроить |
|---|---|---|
| Основное | Название проекта* | Имя в переключателе проектов |
| Основное | URL сайта* | Можно без протокола — https:// подставится; по нему проверяется установка скрипта |
| Основное | Часовой пояс* | От UTC+2 (Калининград) до UTC+10 (Владивосток) или UTC; влияет на отчёты, дайджесты и расписания |
| Приватность | Режим маскирования | «Маскировать все текстовые поля» (рекомендуется, 152-ФЗ) или «Собирать всё». Маскирование идёт в браузере посетителя |
| Приватность | Исключения из маскирования | Поля, которые собираются открыто в режиме «Маскировать всё»: CSS-селектор или data-атрибут; класс .brx-enable работает всегда |
| Приватность | Принудительная маскировка | Любые элементы (поля ввода, блоки текста, ответы чата), которые нужно скрыть: CSS-селектор или data-атрибут, например .class_name_1. Весь текст внутри элемента маскируется до отправки. Класс .brx-disable работает всегда. Доступно в обоих режимах |
| Приватность | Исключение внутреннего трафика | IP, диапазон CIDR или часть User-Agent — визиты сотрудников и QA не попадут в аналитику |
| Быстродействие | Порог зависания, мс | По умолчанию 300, минимум 50. Имеет смысл только повышать |
| Быстродействие | Порог медленного перехода, мс | По умолчанию 3000; в отчёт попадают только переходы дольше |
| Публичный шеринг | Кому доступен просмотр | «Всем, у кого есть ссылка» или «Только участникам команды» (нужен вход) |
| Публичный шеринг | Срок жизни ссылки | 24 часа, 7 дней, 30 дней или бессрочно; действует для новых ссылок |
| Опасная зона | Очистить все данные проекта | Удаляет все сессии, ошибки и карты. Настройки и подписка сохраняются, лимит не сбрасывается. Необратимо |
#Настройки: скрипт на сайт и отправка данных
Без скрипта данные не собираются; без «Отправки данных» все посетители анонимны и события сайта не видны в плеере.
#Скрипт на сайт
- Нажмите «Копировать» — в коде уже есть идентификатор вашего проекта (
window.__BROUX_USER_ID__). - Вставьте код перед закрывающим тегом
</head>во всех шаблонах сайта. Скрипт грузится асинхронно и не замедляет страницу. - Нажмите «Проверить сейчас». Блок «Проверка установки» покажет дату, проверенный URL и статус «Скрипт найден» / «Не найден»; ниже — история проверок.
- В консоли браузера на сайте должны появиться строки «Broux tracking script loaded»; «Failed to load…» значит, что скрипт заблокирован (CSP, блокировщик).
#Отправка данных
Данные пользователя связывают сессию с человеком. Вызывайте после входа или регистрации. Обязательны id и name.
window.Broux.userIdentity({
id: "user_123",
name: "Иван Иванов",
email: "ivan@example.com",
phone: "+79991234567",
env: "production",
roles: ["admin", "manager"],
customFields: { tariff: "pro", age: 30 }
});
| Поле | Зачем |
|---|---|
| id, name | Обязательные; показываются в списках сессий и пользователей |
| email, phone | Поиск в разделе «Пользователи» |
| env | Разделение prod / staging в фильтрах |
| roles | Фильтр по ролям (админ, менеджер и т. п.) |
| customFields | Любые свои поля (тариф, ID компании) — доступны в фильтрах «Параметры userIdentity()» |
Пользовательские события появляются в плеере (таймлайн и вкладка «Пользовательские события») и в фильтрах «Кастомное событие». Обязателен action, type и value — по желанию.
window.Broux.sendCustomEvent({ action: "form_submit", type: "newsletter", value: 1 });
#Настройки: уведомления
Уведомления настраиваются в два шага: сначала получатель и его каналы, затем — какие события в какой канал ему слать. Текст сообщений системный.
#Шаг 1. Получатели
- Нажмите «Добавить получателя» — получатель создаётся сразу и открывается форма. У существующего получателя форма открывается карандашом.
- Укажите имя и роль (Администратор или Пользователь).
- Введите email и нажмите «Сохранить».
- Для Telegram или Макс нажмите «Подключить» — откроется бот. «Копировать ссылку» позволяет переслать её другому человеку, чтобы он подключил свой чат.
- Нажмите «Применить». «Удалить» убирает получателя после подтверждения.
#Шаг 2. Типы уведомлений
Выберите получателя чипом сверху и включите переключатели Email / Telegram / Макс напротив нужных событий. «Порог срабатывания» — сколько уникальных пользователей должны столкнуться с проблемой, чтобы пришло уведомление (защита от шума). Внизу счётчик активных подписок по каналам.
| Группа | Событие |
|---|---|
| Ошибки и поведение | Новая ошибка обнаружена; Ошибка снова активна; Новый UX-паттерн обнаружен; Паттерн снова активен; Новая проблема быстродействия; Проблема быстродействия снова активна |
| Аудитория и данные | Новый идентифицированный пользователь |
| Мониторинг сайта | Скрипт перестал получать данные (нет сессий за N часов при обычном трафике) |
| Тариф и оплата | Скоро продление; Лимит сессий 80%; Лимит исчерпан; Оплата прошла; Не удалось списать оплату — у администратора включены всегда |
#Настройки: API и Webhook
Страница связывает Broux с вашими системами: вебхуки присылают события (новая ошибка, новая группа ошибок) во внешний сервис, а API даёт доступ к данным проекта по ключу.
- Webhook — «Добавить webhook», укажите URL приёмника. Broux отправляет POST с JSON и подписью в заголовке
X-Broux-Signature— проверяйте её на своей стороне. Количество вебхуков не ограничено. Примеры: создать задачу в таск-трекере или сообщение в рабочий чат. - API — «Сгенерировать ключ» создаёт ключ; запросы передают его в заголовке
Authorization: Bearer <key>, проект определяется ключом. Кнопка «Документация» ведёт на описание методов (broux.ru/docs). Храните ключ как пароль.
API и Webhook доступны начиная с тарифа «Рост».
#Настройки: оплата и подписка
Здесь видны текущий тариф, расход лимита сессий, дата следующего платежа и история счетов. Лимит обновляется раз в месяц — дата указана под шкалой.
- Оплатить — оплата текущего тарифа.
- Сменить тариф / Сравнить тарифы — окно с планами (см. таблицу).
- История платежей — дата, тариф и период, сумма, статус (например, «Ожидает оплаты») и ссылка на счёт. Реквизиты для счетов и УПД заполняются в «Профиле».
#Тарифы и цены
| Тариф | Сессий в месяц | За год, ₽/мес | За 6 мес., ₽/мес | Помесячно, ₽/мес |
|---|---|---|---|---|
| Бесплатно | 1 000 | 0 (без карты, бессрочно) | — | — |
| Старт | от 10 000 | 5 000 | 5 625 | 6 250 |
| Рост (рекомендуем) | от 50 000 | 20 000 | 22 500 | 25 000 |
| Масштаб | от 200 000 | 50 000 | 56 250 | 62 500 |
| Enterprise | индивидуально | по запросу | по запросу | по запросу |
- Скидка −10% при оплате за 6 месяцев и −20% при оплате за год (уже учтены в таблице). НДС 5% включён в цену.
- «От» — минимальный объём тарифа. Точный объём выбирается слайдером или полем при первой оплате или смене тарифа: Старт — 10 000–40 000 (шаг 1 000), Рост — 50 000–150 000 (шаг 5 000), Масштаб — 200 000–500 000 (шаг 10 000). При обычном продлении оплачивается уже выбранный объём.
- Дополнительные 1 000 сессий при оплате за год: Старт — 500 ₽/мес, Рост — 400 ₽/мес, Масштаб — 250 ₽/мес (за 6 месяцев и помесячно — дороже на 10% и 25% соответственно). Когда объём подходит к максимуму тарифа, кабинет подсказывает, что выгоднее перейти на следующий.
- Доплаты за превышение (overage) нет: весь объём оплачивается заранее. Когда лимит месяца исчерпан, новые сессии не записываются до обновления лимита или увеличения объёма. О том, что израсходовано 80% и 100%, приходят уведомления.
- Способы оплаты: картой онлайн (Visa, Mastercard, Мир, СБП) или по счёту для юрлиц и ИП с УПД и актами. Для счёта заполните реквизиты в «Профиле».
- Пробный период: новый аккаунт получает тариф «Рост» на 14 дней или 10 000 сессий — что наступит раньше. После этого нужно выбрать платный тариф, иначе аккаунт автоматически перейдёт на «Бесплатно».
#Что входит в тарифы
| Возможность | Бесплатно | Старт | Рост | Масштаб | Enterprise |
|---|---|---|---|---|---|
| Проектов | 1 | 3 | 10 | без ограничений | без ограничений |
| Участников команды | 5 | 10 | 30 | без ограничений | без ограничений |
| Хранение записей и карт | 14 дней | 30 дней | 90 дней | 180 дней | по договору |
| Запись сессий, плеер, консоль, сеть, stack trace | ✓ | ✓ | ✓ | ✓ | ✓ |
| Поиск по пользователю, шеринг по ссылке | ✓ | ✓ | ✓ | ✓ | ✓ |
| Группировка ошибок | ✓ | ✓ | ✓ | ✓ | ✓ |
| Карты кликов и скролла | — | ✓ | ✓ | ✓ | ✓ |
| Уведомления: критичные по email | ✓ | ✓ | ✓ | ✓ | ✓ |
| Уведомления: настраиваемые, Telegram | — | ✓ | ✓ | ✓ | ✓ |
| Уведомления по ролям получателей | — | — | ✓ | ✓ | ✓ |
| UX-паттерны («Поведение») | — | — | ✓ | ✓ | ✓ |
| «Быстродействие» | — | — | ✓ | ✓ | ✓ |
| Пользовательские (кастомные) события | — | — | ✓ | ✓ | ✓ |
| API и Webhook | — | — | ✓ | ✓ | ✓ |
| Self-hosted / on-premise, SLA, персональный менеджер, индивидуальный DPA | — | — | — | — | ✓ |
#Смена тарифа и объёма
- Откройте «Сменить тариф» — в окне виден текущий лимит и кнопка «Изменить».
- Выберите, когда применить изменение: «С текущего периода» или «Со следующего периода».
- Для текущего периода укажите новый объём. Кнопка «Только текущий период» увеличивает лимит только до конца оплаченного цикла.
- Доплата = (дополнительные сессии / 1 000) × ставка тарифа × число оставшихся месяцев (неполный месяц считается целым).
Переход на более дорогой тариф возможен сразу или со следующего периода, на более дешёвый — только со следующего расчётного периода. При переходе на тариф с меньшим сроком хранения данные старше нового срока удаляются не сразу: есть 30 дней, чтобы их выгрузить.
Для индивидуального объёма и корпоративных требований есть Enterprise (ссылка внизу окна тарифов или кнопка «Связаться» на broux.ru/pricing). Цены — на 30.09.2026.
#Настройки: команда и доступы; профиль
#Команда и доступы
Страница управляет сотрудниками аккаунта: кто видит какие проекты, кто меняет настройки и кто управляет командой. У каждого участника видны его права (чипы) и число проектов; карандаш — редактировать, корзина — удалить.
Как добавить сотрудника:
- Нажмите «Добавить пользователя».
- Укажите имя, email и пароль.
- Включите нужные права (таблица ниже).
- В блоке «Доступ к проектам» выберите уровень для каждого проекта и нажмите «Сохранить».
| Право | Что даёт |
|---|---|
| Доступ к настройкам аккаунта | Скрипт, уведомления, оплата |
| Может управлять командой | Доступ к странице «Команда и доступы» |
| Администратор | Видит историю входов всех пользователей аккаунта |
| Наблюдатель (на проект) | Только просмотр данных проекта |
| Редактор данных (на проект) | Просмотр и изменение данных (статусы, избранное и т. п.) |
| Нет доступа (на проект) | Проект скрыт |
История входов внизу страницы показывает пользователя, IP и город, браузер, время входа и статус сессии (Текущая / Активна / Истекла). Фильтр по пользователю сверху; «Разлогинить» завершает активную сессию — полезно, если сотрудник ушёл или вход подозрителен.
#Профиль
Профиль открывается из правого верхнего угла. Здесь же кнопка «Выйти».
- Аккаунт — email для входа; «Изменить» меняет его. Если стоит метка «Не подтверждён», перейдите по ссылке из письма или нажмите «Отправить письмо повторно».
- Реквизиты клиента — для счетов и УПД. Выберите тип плательщика. Для юрлица или ИП введите ИНН и нажмите «Найти по ИНН» — наименование, КПП, ОГРН, адрес, директор и ОКВЭД подтянутся из реестра (или «Ввести вручную»). Банковские реквизиты необязательны. Затем «Сохранить реквизиты».
- Смена пароля — текущий пароль, новый и повтор, затем «Сменить пароль».
- История входов — ваши сессии в кабинете с IP, устройством и кнопкой «Разлогинить».
Если в истории входов есть сеанс, который вы не открывали, нажмите «Разлогинить», смените пароль и напишите в поддержку.
#Типовые сценарии
Клиент пишет в поддержку: «у меня не работает»
- «Пользователи» → поиск по имени, email или телефону.
- Иконка «Сессии пользователя» → выберите сессию по времени обращения.
- В плеере посмотрите запись, вкладки «Логи» (Errors) и «Сеть» (ответы 4xx/5xx).
- «Скопировать ссылку» и приложите её к задаче для разработчика.
После релиза выросла доля сессий с ошибкой
- «Дашборд», период «24 часа» — проверьте динамику метрики.
- «Ошибки» → фильтры: «Первое обнаружение» = день релиза, тренд «Растёт», статус «Вновь активно».
- В карточке ошибки — стек и страницы; «Посмотреть сессии» покажет воспроизведение.
- Поставьте статус «В работе», после фикса — «Решено». Если ошибка вернётся, статус сам станет «Вновь активно».
Падает конверсия формы заявки
- «Поведение» → фильтр типа «Abandoned form», найдите селектор формы.
- В карточке — «Заполняемость полей»: поле с низким процентом — кандидат на упрощение.
- Сравните с «Картой скроллов»: доходят ли посетители до формы вообще.
- Посмотрите 3–5 сессий из «Недавних вхождений».
Сайт «тормозит»
- «Быстродействие» → сортировка по пользователям или p95.
- В карточке — «Что блокировало поток» и скрипт-виновник в «Недавних случаях».
- Назначьте ответственного; после фикса следите за графиком «p95 по дням».
Данные перестали поступать
- «Скрипт на сайт» → «Проверить сейчас».
- Проверьте лимит тарифа (левый нижний угол или «Оплата и подписка»).
- На будущее включите уведомление «Скрипт перестал получать данные».
#Данные, приватность и безопасность
#Что считается сессией
Сессия — один визит посетителя на сайт в одном браузере. Она заканчивается после 30 минут бездействия; следующий заход будет новой сессией. Переходы между страницами внутри визита не создают новую сессию. Каждая сессия списывается из месячного лимита тарифа. Визиты из «Исключения внутреннего трафика» не записываются.
#Сколько хранятся данные
| Данные | Срок хранения |
|---|---|
| Запись сессии (воспроизведение в плеере) | По тарифу: 14 / 30 / 90 / 180 дней |
| Карты кликов и скролла | По тарифу |
| Логи консоли, сетевые запросы, stack trace | Дольше срока тарифа |
| Группы ошибок, их тренд и влияние на пользователей | Дольше срока тарифа |
| UX-паттерны, пользовательские события | Дольше срока тарифа |
| Профиль пользователя (данные из userIdentity) | Дольше срока тарифа |
После истечения срока хранения запись удаляется, но история ошибок и паттернов по этой сессии остаётся — тренды и счётчики не «обнуляются». Чтобы удалить все данные проекта сразу, используйте «Основные настройки → Опасная зона → Очистить все данные проекта».
#Маскирование персональных данных
- Пароли и поля платёжных данных (номер карты, CVC) маскируются всегда, независимо от настроек.
- Режим «Маскировать все текстовые поля» (рекомендуется) заменяет ввод в любые поля звёздочками. Открыть отдельные поля можно через «Исключения из маскирования» или класс
brx-enableна элементе. Текст на странице вне полей (ответы чата, блоки контента) по умолчанию записывается как есть. - Режим «Собирать всё» записывает ввод как есть (кроме паролей и платёжных полей).
- Чтобы скрыть текст внутри любого элемента (не только input) — «Принудительная маскировка» по CSS-селектору или классу, например
.sb-prose, либо классbrx-disableна элементе. Правило действует в обоих режимах: маскируется весь текст внутри элемента и его потомков, в том числе подгружаемый позже. - Маскирование происходит в браузере посетителя: скрытый текст не передаётся в Broux и не может быть восстановлен. Новые правила применяются к новым сессиям.
- Данные, которые вы передаёте в
userIdentity(имя, email, телефон), — персональные данные. Передавайте только то, что нужно для работы, и упомяните сервис в политике обработки ПДн своего сайта.
#Доступ к данным
- Права сотрудников задаются по проектам (Наблюдатель, Редактор данных, Нет доступа) в «Команда и доступы».
- Публичные ссылки на сессии и ошибки можно ограничить участниками команды и сроком жизни.
- История входов показывает, кто и откуда входил в кабинет; любой активный сеанс можно завершить.
#Развёртывание и Enterprise
- Облако Broux. Данные хранятся на серверах в России, в соответствии с 152-ФЗ. Подходит большинству клиентов, ничего устанавливать не нужно, кроме скрипта.
- Self-hosted / on-premise. Broux разворачивается в инфраструктуре клиента, данные не покидают его контур. Доступно в рамках Enterprise.
- Enterprise включает всё из «Масштаба», индивидуальный объём и срок хранения, self-hosted или выделенное облако, SLA, персонального менеджера и индивидуальный договор об обработке данных (DPA). Состав (в том числе SSO/SAML и журнал аудита) согласуется индивидуально. Заявка — кнопка «Связаться» на broux.ru/pricing: имя, контакт, ожидаемый объём сессий, комментарий.
#Возможности и ограничения
Чтобы не обещать лишнего: ниже перечислено, чего в Broux сейчас нет, и чем это можно заменить.
| Запрос | Сейчас | Чем заменить |
|---|---|---|
| Интеграция с Jira, YouTrack, Битрикс и другими трекерами | Готовых интеграций нет | Webhook на ваш обработчик, создающий задачу; ссылка «Поделиться» в тикете |
| Уведомления в Slack | Нет | Email, Telegram, Макс или Webhook |
| Source maps (читаемый стек для минифицированного кода) | Не поддерживаются | Стек показывается в том виде, в каком он в браузере |
| Анализ путей и воронок | Нет | Фильтры сессий по посещённым страницам и пользовательским событиям |
| Автоматическое AI-резюме сессии | Нет | Вкладки плеера «Логи», «Сеть», «Поведение» и метки на таймлайне |
| Автоматическое тестирование сайта ботом по сценарию | В разработке, пока недоступно | Уведомления о новых ошибках и остановке сбора данных |
| Нативные мобильные приложения (iOS, Android) | Не записываются | Записывается мобильная версия сайта в браузере |
#Глоссарий
| Термин | Значение |
|---|---|
| Проект | Один сайт или приложение со своим скриптом, настройками и данными. Лимит сессий тарифа общий на аккаунт |
| Сессия | Визит посетителя; заканчивается после 30 минут бездействия |
| Идентифицированный пользователь | Посетитель, для которого сайт вызвал window.Broux.userIdentity(). Остальные отображаются как «Аноним» |
| Пользовательское (кастомное) событие | Событие сайта, отправленное через window.Broux.sendCustomEvent(): оплата, отправка формы и т. п. |
| Группа ошибок | Одинаковые ошибки из разных сессий, объединённые в одну строку с общим счётчиком и трендом |
| Вхождение | Один случай ошибки, паттерна или проблемы быстродействия в конкретной сессии |
| Влияние | Сколько уникальных пользователей и сессий столкнулись с проблемой |
| JS-ошибка | Исключение в JavaScript-коде страницы |
| Сетевая ошибка | Запрос к серверу, вернувший 4xx/5xx или не выполнившийся |
| Ошибка ресурса | Не загрузился файл: скрипт, стиль, картинка, шрифт |
| Rage click | Много быстрых кликов по одному месту — элемент не реагирует или реагирует слишком медленно |
| Dead click | Клик, после которого на странице ничего не произошло — элемент выглядит кликабельным, но не работает |
| Thrashed cursor | Хаотичные движения курсора — пользователь растерян или раздражён |
| Quick back | Быстрый возврат на предыдущую страницу — попал не туда или не нашёл нужного |
| Scroll burst (в плеере — «Листание») | Резкая быстрая прокрутка вверх-вниз — пользователь ищет и не находит |
| Abandoned form (брошенная форма) | Пользователь начал заполнять форму, но не отправил её |
| Frozen UI (зависание) | Интерфейс не отвечал на действия дольше порога (по умолчанию 300 мс), обычно из-за тяжёлого скрипта |
| Slow navigation (медленный переход) | Переход между страницами длился дольше порога (по умолчанию 3 000 мс) |
| p50 / p95 | Медиана и 95-й перцентиль длительности: «типичный случай» и «худшие 5%» |
| Эталон страницы | Снимок страницы, поверх которого строится карта кликов или скроллов |
| Регрессия («Вновь активно») | Проблема со статусом «Решено» появилась снова |
| Порог срабатывания | Минимальное число затронутых пользователей, после которого приходит уведомление |
#Частые вопросы
#Установка и сбор данных
Как подключить сайт? «Настройки → Скрипт на сайт» → «Копировать» → вставьте код перед </head> на всех страницах → «Проверить сейчас». Первые сессии появятся после визитов на сайт.
Можно ли установить через Google Tag Manager или CMS? Да, если код попадает на все страницы в неизменном виде. Проверьте установку кнопкой «Проверить сейчас» и в консоли браузера.
Проверка пишет «Скрипт не найден». Убедитесь, что в «Основных настройках» указан правильный URL, код опубликован на боевом сайте (не только на тестовом), а CSP сайта разрешает загрузку скрипта и отправку данных на broux.ru.
Замедляет ли скрипт сайт? Скрипт загружается асинхронно и не блокирует отрисовку страницы.
Сессии перестали появляться. Проверьте установку скрипта, остаток лимита сессий (счётчик в левом нижнем углу или «Оплата и подписка») и не попадаете ли вы под «Исключение внутреннего трафика». Также убедитесь, что в списке сессий не стоит фильтр или слишком узкий период.
Почему все посетители «Аноним»? Сайт не вызывает window.Broux.userIdentity(). Вызовите его после входа или регистрации с обязательными полями id и name (см. «Отправка данных»).
Как не записывать визиты сотрудников? «Основные настройки → Исключение внутреннего трафика»: добавьте IP, диапазон CIDR или фрагмент User-Agent.
Как разделить продакшен и тестовый стенд? Создайте отдельный проект для стенда или передавайте поле env в userIdentity и фильтруйте по нему.
#Работа с данными
Как найти сессию конкретного клиента? «Пользователи» → поиск по имени, email или телефону → иконка «Сессии пользователя». Или «Сессии» → фильтр по полям userIdentity.
Как поделиться сессией или ошибкой с разработчиком? Кнопка «Поделиться» / «Скопировать ссылку» в плеере или карточке. Кто может открыть ссылку и сколько она живёт — в «Основных настройках → Публичный шеринг».
Почему в записи вместо текста звёздочки? Включено маскирование. Нужные нечувствительные поля можно открыть через «Исключения из маскирования» или класс brx-enable. Уже записанные сессии раскрыть нельзя.
Карта кликов пустая или смещена. Проверьте тариф (карты доступны со «Старта»), период и тип устройства. Если вёрстка страницы менялась или снимок битый, нажмите над картой «Плохой снимок» — покажем следующий.
Что значит «Ожидаем данные с вашего сайта»? За выбранные период и фильтры данных нет. Сбросьте фильтры или расширьте период; если пусто и без фильтров — проверьте установку скрипта.
Почему нет разделов «Поведение» или «Быстродействие» / не работают карты? Эти функции зависят от тарифа: карты — со «Старта», UX-паттерны, «Быстродействие», пользовательские события, API и Webhook — с «Роста».
Как скрыть шумную ошибку (расширение браузера, сторонний виджет)? Переведите её в статус «Игнорируется» и укажите причину — она исчезнет из списков и блока «Требует внимания».
Можно ли выгрузить данные? Данные проекта доступны через API (с тарифа «Рост»), описание методов — на broux.ru/docs.
#Уведомления и интеграции
Как получать уведомления в Telegram? «Уведомления» → откройте получателя → «Подключить» у Telegram → запустите бота → во вкладке типов включите переключатель Telegram напротив нужных событий. Доступно с тарифа «Старт». Так же подключается мессенджер Макс.
Приходит слишком много уведомлений. Поднимите «Порог срабатывания», отключите лишние типы и переведите шумные ошибки в «Игнорируется».
Есть ли интеграция с Jira / Slack? Готовых интеграций нет. Используйте Webhook (с «Роста»), чтобы создавать задачи или сообщения в своих системах.
Как проверить, что вебхук пришёл от Broux? Проверяйте подпись в заголовке X-Broux-Signature.
#Тарифы и оплата
Есть ли бесплатный тариф? Да: 1 000 сессий в месяц, хранение 14 дней, 1 проект, до 5 участников, без привязки карты и без ограничения по времени.
Что будет после пробного периода? Пробный «Рост» действует 14 дней или до 10 000 сессий. Затем выберите платный тариф — иначе аккаунт перейдёт на «Бесплатно».
Что будет, если закончились сессии? Доплаты за превышение нет. Новые сессии не записываются до обновления лимита (дата указана в «Оплате и подписке»). Чтобы продолжить сразу, увеличьте объём «С текущего периода» или перейдите на старший тариф. Уведомления приходят при 80% и 100% расхода.
Как оплатить по счёту? Заполните «Профиль → Реквизиты клиента» (по ИНН подтянутся данные компании), затем выберите тариф в «Оплате и подписке». Счёт появится в «Истории платежей»; закрывающие документы — УПД и акты.
Включён ли НДС? Да, НДС 5% уже включён в цену.
Что с данными при переходе на тариф дешевле? Смена вступит в силу со следующего периода. Записи старше нового срока хранения удалятся через 30 дней — успейте выгрузить нужное. История ошибок, паттернов и профили пользователей сохраняются.
Как добавить ещё один сайт? Меню проектов в верхней панели → создать проект. Число проектов зависит от тарифа: 1 / 3 / 10 / без ограничений.
#Данные и безопасность
Где хранятся данные? В облаке Broux на серверах в России (152-ФЗ). Для полного контроля есть self-hosted в рамках Enterprise.
Записываются ли пароли и номера карт? Нет. Пароли и платёжные поля маскируются всегда, в браузере посетителя, и не передаются в Broux.
Как удалить данные? Все данные проекта — «Основные настройки → Опасная зона → Очистить все данные проекта» (необратимо, лимит не восстанавливается). Для удаления данных отдельного человека по его запросу напишите в поддержку.
Как забрать доступ у уволенного сотрудника? «Команда и доступы» → удалите пользователя (корзина) и в «Истории входов» завершите его активные сеансы кнопкой «Разлогинить». При необходимости отзовите API-ключи, к которым он имел доступ.
Чем Broux отличается от Яндекс Метрики с Вебвизором или Hotjar? Каждая сессия привязана к конкретному пользователю сайта (email, роль, тариф и другие параметры), а к записи добавлены консоль, сетевые запросы, стек ошибок, UX-паттерны и быстродействие. Broux — инструмент диагностики продукта: он отвечает не только «что делал посетитель», но и «почему у него не получилось и сколько ещё людей с этим столкнулись».