Записи сессий
Как найти нужную запись сессии, что показывает плеер, сколько записи хранятся, что в них попадает, а что не записывается никогда, и каким атрибутом исключить блок страницы.
На этой странице
Запись сессии — это воспроизведение того, что происходило в браузере пользователя: разметка страницы и её изменения, перемещения курсора, прокрутка, клики. Смотреть записи подряд бесполезно. Они работают тогда, когда у вас уже есть вопрос: «почему на этом шаге воронки уходит половина» или «что видел человек, который написал в поддержку».
Поведение → Записи действий.
Как найти нужную запись
Экран показывает список сессий, а не только записанных. У сессии без записи в последней колонке будет «Нет записи» — это нормально: события собираются всегда, а запись ведётся только для выбранной доли сессий.
Фильтры на экране ровно такие:
| Фильтр | Что делает |
|---|---|
| Период | по умолчанию последние 7 календарных дней; максимум 90 дней |
| URL содержит | подстрока в любом адресе внутри сессии, до 2048 байт |
| Actor ID | идентификатор человека, до 256 байт |
| Наличие записи | Любое / Есть запись / Нет записи |
| Rage click | Любой / Есть / Нет |
Про фильтры стоит знать три вещи.
URL — это подстрока, а не точное совпадение. Значение /pricing найдёт и
/pricing, и /ru/pricing/enterprise. Сессия попадает в список, если хотя бы
одно её событие содержит эту подстроку в адресе.
Actor ID ищет по всем идентификаторам человека. Значение сопоставляется с
каноническим идентификатором, с user_id и с анонимным идентификатором, а
связанные идентификаторы разворачиваются: если вы подставите user_id, найдутся
и сессии, которые человек провёл анонимно до входа.
Период ограничен 90 днями. Это предел одного запроса, а не срок хранения. Более длинный период интерфейс не отправит и покажет ошибку валидации.
Колонки списка: Последняя активность, Актор, URL, Длительность, События, Сигналы (значки «Запись» и «Rage») и ссылка «Смотреть запись». Сортировка — по последней активности, новые сверху; страница — 50 сессий, дальше «Загрузить ещё».
Приходите из отчёта, а не из списка
Список сессий отвечает на вопрос «покажи все сессии за период». На практике полезнее приходить из отчёта, где уже видна проблема:
- карточка человека → у сессии с записью есть ссылка «Смотреть запись»;
- воронка, разбор отвалившихся на переходе → «Сессии отвалившихся»;
- удержание, список людей ячейки → «Смотреть сессии».
Такие переходы сами подставляют фильтры и период, поэтому вы попадаете сразу в нужную выборку. Ссылки появляются, если разбор по людям входит в тариф, а период исходного отчёта укладывается в 90 дней.
Что видно в плеере
Плеер открывается по ссылке из списка. Управление:
- «Воспроизвести» / «Пауза»;
- скорость — ровно 1×, 2× и 4×;
- «Пропускать паузы» — по умолчанию выключено; включайте, когда сессия длинная, а интересуют только действия;
- ползунок позиции с шагом 100 мс и текущим временем в формате
м:сс.
Над ползунком нанесены маркеры — четыре вида, других нет:
| Маркер | Что означает |
|---|---|
| Клик | нажатие |
| Rage click | серия быстрых кликов в одно место |
| Dead click | клик, после которого на странице ничего не изменилось |
| JS error | ошибка JavaScript в этот момент |
Под ползунком — легенда со счётчиком по каждому виду, а ниже список маркеров: нажатие на строку перематывает запись к этому моменту. Именно так удобно смотреть запись — не с начала, а от проблемного места.
Маркеры не несут никакой дополнительной информации: в запись переносится только факт события. Ни селектор, ни адрес, ни текст ошибки в тело записи не попадают — их видно в отчётах «Поведение» и «Диагностика».
Если запись не сохранилась или её срок хранения истёк, вместо плеера появится «Запись недоступна». События этой сессии при этом остаются доступны в карточке человека — стирается запись, а не история событий.
Сколько хранятся записи
Срок хранения записей задаётся тарифом и составляет от 7 дней до 90 дней. Записи старше срока удаляются, а не скрываются: истёкшие части стираются из хранилища ежедневной задачей очистки. Сверху действует общий предел в 90 дней — дольше записи не хранятся ни при каких условиях.
Отдельного месячного лимита на число записанных сессий в тарифах нет: расход ограничен сроком хранения, долей записываемых сессий и пределами одной сессии.
Пределы одной записи зафиксированы в трекере:
| Предел | Значение |
|---|---|
| Длительность записи | 60 минут |
| Объём записи за сессию | 10 МиБ в сжатом виде |
| Размер одной части | 512 КиБ |
| Отправка накопленного | каждые 5 секунд |
При достижении любого предела запись останавливается, буфер отбрасывается и в эту
сессию больше не возобновляется. Факт остановки фиксируется отдельным событием
pp.replay_capped с причиной — его видно в реестре событий. Сессия длиннее часа
в запись целиком не попадёт: это осознанный компромисс в пользу предсказуемого
объёма данных.
Что записывается и что не записывается
Запись — это не видео экрана, а поток изменений разметки, который плеер воспроизводит заново. Поэтому список «не записывается» короткий и жёсткий.
Режим текста задаётся на проект в Настройки → Сбор и приватность → Записи сессий → «Текст на странице»:
- Строгий — маскировать весь текст (по умолчанию): текста страницы в записи нет вообще, видна только структура и поведение;
- Стандартный — маскировать ввод и пароли: текст виден, поля ввода по-прежнему замаскированы.
Перемещения курсора и прокрутка записываются с прореживанием (50 мс и 150 мс соответственно) — этого достаточно, чтобы движение читалось, и заметно меньше данных, чем поток «как есть».
Подробный разбор приватности записей — что именно маскируется, как записи дополнительно обезвреживаются при воспроизведении и что писать в политику конфиденциальности — в статье приватность записей сессий.
Как исключить элемент или замаскировать содержимое
Здесь важно не перепутать два похожих атрибута. Мы специально называем точное поведение каждого.
| Атрибут | Автосбор поведения | Записи сессий |
|---|---|---|
data-pp-block |
исключает элемент и всё внутри | исключает элемент и всё внутри |
data-pp-ignore |
исключает элемент и всё внутри | не влияет |
<!-- В запись не попадёт: ни разметка, ни содержимое -->
<section data-pp-block>
<h3>Медицинская карта</h3>
<p>Диагноз: …</p>
</section>
<!-- Из отчёта «Поведение» уйдёт, но в записи останется видно -->
<div data-pp-ignore>
<button>Служебная кнопка</button>
</div>
Отдельного атрибута для маскирования содержимого — вида data-pp-mask — в
продукте нет. Маскирование управляется двумя механизмами, и оба работают на
весь проект: поля ввода маскируются всегда, а весь остальной текст — в строгом
режиме. Если нужно скрыть конкретный фрагмент, а остальной текст оставить
видимым, оберните фрагмент в data-pp-block.
Маскирование и блокировка не зависят от тарифа: их нельзя отключить платной возможностью и нельзя ослабить настройкой проекта.
Кто может смотреть и что фиксируется
Список сессий и плеер требуют роли «Аналитик» или выше. Чтение ограничено 120 запросами в минуту на пользователя, проект и экран.
Каждый просмотр записи фиксируется в журнале аудита продукта, и запись в журнал делается до выдачи данных: если зафиксировать просмотр не удалось, данные не отдаются. В плеере об этом прямо сказано в блоке «Приватность записи».
В журнал попадает только производный отпечаток идентификатора сессии, привязанный к проекту, — ни сам идентификатор, ни содержимое записи там не хранятся. Отдельно фиксируются успешный просмотр, неудачное чтение и настоящий отказ по правам: отсутствующая или повреждённая запись никогда не выглядит в журнале как запрет доступа.
Включение записи
Записи выключены по умолчанию. Включаются в Настройки → Сбор и приватность → Записи сессий:
- Включите «Записывать выбранную долю сессий».
- Задайте «Доля записей» — от 0 до 100% с шагом 5.
Менять эти настройки могут «Владелец» и «Админ», видеть — все участники проекта.
Доля решается один раз на сессию: жребий бросается при старте сессии и держится до её конца, поэтому запись не может оборваться на середине из-за семплирования. Трекеры подхватывают новую конфигурацию в течение минуты, и изменения действуют только для новых сессий — история задним числом не заполняется.
Начинайте с небольшой доли. Записи нужны выборочно, а объём данных растёт линейно.
Если записей нет
| Симптом | Что проверить |
|---|---|
| Все сессии с пометкой «Нет записи» | включён ли переключатель записей и не равна ли доля нулю |
| Раздел закрыт заглушкой о тарифе | записи не входят в текущий тариф или лицензию on-prem |
| Раздел закрыт сообщением о правах | у вас роль «Наблюдатель» — нужна «Аналитик» или выше |
| Записи не появляются только на части сайта | политика безопасности сайта не разрешает worker-src blob: — без этого отказывают только записи, остальной сбор продолжается |
| Записи не появились сразу после включения | конфигурация обновляется в течение минуты и применяется к новым сессиям |
| Сессия оборвалась на середине | сработал предел длительности или объёма, см. pp.replay_capped |
| Ничего не собирается до согласия | при data-consent="required" запись не стартует, пока согласие не выдано |
| В демо-проекте записей нет | публичное демо не записывает посетителей — это не поломка |
| Запись открывалась, а теперь «Запись недоступна» | истёк срок хранения по тарифу |