Документация данных Salesfocus
Дашборд

Live-debug дашборд

Live-debug дашборд - это QA-инструмент оператора для одной сессии и site-level диагностики rejected/transport. Он должен показывать поток событий без раскрытия приватных значений.

Контракт окон

  • Каждое окно получает уже нормализованные строки из GET /v1/sites/{site_id}/debug/sessions/{session_id}.
  • Лента сессии отсортирована по timestamp события и event_index.
  • Rejected и transport строки относятся к уровню сайта, потому что их ClickHouse-таблицы не содержат session_id.
  • Строки должны показывать ссылки на документацию из backend metadata, а не угадывать маршруты в браузере.

sdk-health

Экран: Состояние SDK
События/данные: sdk_init, sdk_config_loaded, sdk_disabled, sdk_error

Зачем QA: Понять, запустился ли SDK и какая версия config/mapping.

Что показывать: Версия SDK, config, enabled collectors, disabled reasons, errors.

Ожидания по ссылкам на документацию: типы событий, derived-типы, reason codes и ключевые поля в этом окне должны открывать Nextra-документацию, если backend вернул doc_path, reason_doc_path или field_docs.

pages-routes

Экран: Страницы и маршруты
События/данные: page_view + page_sequence_computed

Зачем QA: Проверять маршруты и page_code.

Что показывать: Лента переходов, path_sanitized, page_code, unknown pages.

Ожидания по ссылкам на документацию: типы событий, derived-типы, reason codes и ключевые поля в этом окне должны открывать Nextra-документацию, если backend вернул doc_path, reason_doc_path или field_docs.

session-timeline

Экран: Лента сессии
События/данные: Все события в порядке event_index

Зачем QA: Пройти сайт и видеть полный путь пользователя.

Что показывать: Событие, время, page/block/element/group codes, status.

Ожидания по ссылкам на документацию: типы событий, derived-типы, reason codes и ключевые поля в этом окне должны открывать Nextra-документацию, если backend вернул doc_path, reason_doc_path или field_docs.

activity-visibility

Экран: Активность и видимость
События/данные: first_activity, activity_checkpoint, page_visibility_changed

Зачем QA: Понять active/idle и реальные просмотры.

Что показывать: Active ms, idle ms, hidden state и first activity.

Ожидания по ссылкам на документацию: типы событий, derived-типы, reason codes и ключевые поля в этом окне должны открывать Nextra-документацию, если backend вернул doc_path, reason_doc_path или field_docs.

scroll

Экран: Скролл
События/данные: first_scroll, scroll_checkpoint, scroll_pattern_features

Зачем QA: Проверить глубину, дистанцию, возвраты вверх.

Что показывать: Depth %, distance down/up, speed, direction changes.

Ожидания по ссылкам на документацию: типы событий, derived-типы, reason codes и ключевые поля в этом окне должны открывать Nextra-документацию, если backend вернул doc_path, reason_doc_path или field_docs.

pointer-hover

Экран: Указатель и hover
События/данные: pointer_activity_checkpoint, hover_qualified, exit_intent

Зачем QA: Проверить hover/exit intent без raw trajectory.

Что показывать: Hover events, pointer aggregate, exit intent.

Ожидания по ссылкам на документацию: типы событий, derived-типы, reason codes и ключевые поля в этом окне должны открывать Nextra-документацию, если backend вернул doc_path, reason_doc_path или field_docs.

blocks-mapping

Экран: Видимость объектов
События/данные: object_visibility_checkpoint, object_visibility_features

Зачем QA: Проверить время просмотра блоков/элементов/групп.

Что показывать: visible_ms, object_code, return_count, unknown object.

Ожидания по ссылкам на документацию: типы событий, derived-типы, reason codes и ключевые поля в этом окне должны открывать Nextra-документацию, если backend вернул doc_path, reason_doc_path или field_docs.

groups

Экран: Группы / повторяющиеся элементы
События/данные: group_interaction_checkpoint, group_features

Зачем QA: Проверить карточки/списки/повторяющиеся элементы.

Что показывать: group_code, item count, clicked positions.

Ожидания по ссылкам на документацию: типы событий, derived-типы, reason codes и ключевые поля в этом окне должны открывать Nextra-документацию, если backend вернул doc_path, reason_doc_path или field_docs.

clicks

Экран: Клики и взаимодействия
События/данные: click, click_features_by_code

Зачем QA: Проверить, что клики получают правильные element_code.

Что показывать: Поток кликов, mapping_status и unknown clicks.

Ожидания по ссылкам на документацию: типы событий, derived-типы, reason codes и ключевые поля в этом окне должны открывать Nextra-документацию, если backend вернул doc_path, reason_doc_path или field_docs.

forms

Экран: Формы
События/данные: form_* + form_progress_features

Зачем QA: Проверить формы без ПДн.

Что показывать: field_type, touched count, submit attempts, validation.

Ожидания по ссылкам на документацию: типы событий, derived-типы, reason codes и ключевые поля в этом окне должны открывать Nextra-документацию, если backend вернул doc_path, reason_doc_path или field_docs.

content-copy

Экран: Контент и копирование
События/данные: content_select, copy

Зачем QA: Проверить выделение/копирование без текста.

Что показывать: selection_len_bucket, source_code.

Ожидания по ссылкам на документацию: типы событий, derived-типы, reason codes и ключевые поля в этом окне должны открывать Nextra-документацию, если backend вернул doc_path, reason_doc_path или field_docs.

semantic-actions

Экран: Семантические действия
События/данные: semantic_action_derived, funnel_step_derived

Зачем QA: Видеть серверный смысл, который вывелся из raw events.

Что показывать: source_event_id, action_code, step_code.

Ожидания по ссылкам на документацию: типы событий, derived-типы, reason codes и ключевые поля в этом окне должны открывать Nextra-документацию, если backend вернул doc_path, reason_doc_path или field_docs.

goals-conversions

Экран: Цели и конверсии
События/данные: goal_signal_derived, conversion_signal_normalized

Зачем QA: Проверить target labels для ML.

Что показывать: goal/conversion code, source, confidence.

Ожидания по ссылкам на документацию: типы событий, derived-типы, reason codes и ключевые поля в этом окне должны открывать Nextra-документацию, если backend вернул doc_path, reason_doc_path или field_docs.

bot-detection

Экран: Детекция ботов
События/данные: bot_score_updated, bot_suspect_detected

Зачем QA: Проверять человек/бот сигналы.

Что показывать: bot_score, reason_codes, confidence.

Ожидания по ссылкам на документацию: типы событий, derived-типы, reason codes и ключевые поля в этом окне должны открывать Nextra-документацию, если backend вернул doc_path, reason_doc_path или field_docs.

transport

Экран: Transport
События/данные: batch_flush_attempt, batch_result

Зачем QA: Проверять доставку событий.

Что показывать: batch status, retries, accepted/rejected.

Ожидания по ссылкам на документацию: типы событий, derived-типы, reason codes и ключевые поля в этом окне должны открывать Nextra-документацию, если backend вернул doc_path, reason_doc_path или field_docs.

errors-rejected

Экран: Ошибки и отклоненные события
События/данные: sdk_error, sdk_disabled, rejected rows, transport errors.

Зачем QA: Explain why an event or batch did not enter the accepted source stream.

Что показывать: reason_code, safe_detail, payload shape, transport status, and docs links for the reason and affected fields.

Ожидания по ссылкам на документацию: rejection reasons should open privacy or event-contract docs, and field chips should open /fields#....

privacy-guard

Экран: Privacy Guard
События/данные: privacy_guard_violation, forbidden data stats

Зачем QA: Доказать, что ПДн/DOM не утекают.

Что показывать: Dropped fields, violation_type, collector.

Ожидания по ссылкам на документацию: типы событий, derived-типы, reason codes и ключевые поля в этом окне должны открывать Nextra-документацию, если backend вернул doc_path, reason_doc_path или field_docs.

unknown-suspect-mapping

Экран: Неизвестный / сомнительный mapping
События/данные: unknown_mapping_detected

Зачем QA: Искать дыры в разметке.

Что показывать: Счетчики unknown page/block/element/group, hash и page_code.

Ожидания по ссылкам на документацию: типы событий, derived-типы, reason codes и ключевые поля в этом окне должны открывать Nextra-документацию, если backend вернул doc_path, reason_doc_path или field_docs.

bot-detection-checklist

Bot detection is a dashboard interpretation layer, not a fingerprinting feature.

  • too_many_events_per_sec: Событий в секунду слишком много from event_ts,event_index,batch events; if missing, confidence low, не обвинять без других сигналов.
  • too_fast_page_sequence: Слишком быстрый путь по страницам from page_view sequence; if missing, partial если page events missing.
  • clicks_without_active_time: Нулевое active time при кликах from activity_checkpoint + click; if missing, not_available если activity disabled.
  • regular_intervals: Регулярные интервалы между событиями from event_ts gaps; if missing, нужен минимум N событий.
  • many_clicks_no_scroll_pointer: Нет скролла/мыши, но много кликов from scroll/pointer/click; if missing, на mobile pointer может быть not_available.
  • form_fill_too_fast: Слишком быстрое заполнение формы from form_focus/change/submit; if missing, если field changes disabled — использовать focus/submit.
  • webdriver_true: webdriver flag from session_start context; if missing, не единственный критерий.
  • impossible_viewability: Нереалистичная видимость объектов from object_visibility_checkpoint; if missing, учесть layout/viewport.
  • repeated_identical_clicks: Повторяющиеся одинаковые клики from click; if missing, нужен dedupe.
  • transport_anomaly: Transport anomalies from batch_result; if missing, не основной сигнал.

performance-checklist

  • Keep row rendering virtualized or scroll-contained for long sessions.
  • Avoid loading full payload history until a session is selected.
  • Show counts per window before rendering detailed payload JSON.
  • Keep payload previews scroll-contained and capped.
  • Do not fetch docs content inline; use links to Nextra routes.

privacy-checklist

  • Never display raw form values, cookies, raw query strings, raw text, or full DOM.
  • Rejected rows show reason and shape only.
  • Copy/select windows show hash/length/code metadata only.
  • Transport rows show safe status and counts, not raw request bodies.
  • Mapping QA uses codes and rule ids, not HTML snippets.
Обновлено