Trektik
Назад к документации

Гайд по фичам

Как устроены основные возможности Тректика и когда использовать каждую.

Дашборды

Дашборд — набор виджетов (графики, таблицы, KPI), собранных в сетке с drag-and-drop. Виджеты тянут данные из сохранённых отчётов (сегментация событий, воронки, удержание, пути пользователей) или кастомных метрик.

  • Глобальный фильтр по дате — в шапке дашборда. Меняет период для всех виджетов сразу. Отдельные виджеты можно «запинить» на свой период (иконка булавки). URL хранит выбранный период ?from=...&to=....
  • Автообновление — выпадающий список (выкл/1м/5м/10м/30м) рядом с кнопкой обновления. Состояние сохраняется для каждого дашборда.
  • Подписки — ежедневные и еженедельные отчёты на почту или Telegram, PNG-скриншот плюс краткая сводка.
  • Публичное встраивание — любой виджет можно поделиться JWT-токеном, встроить в Notion/блог через iframe (см. раздел «Встраивание»).
  • Шаблоны — готовые пресеты (обзор продукта, привлечение, удержание) создаются в один клик.

Аналитика событий

Раздел «События» в дашборде — базовый способ построить любой график: тренды, разрез по свойствам, сравнение сегментов, уникальные пользователи, медиана / сумма / среднее по числовым свойствам.

Под капотом — запрос к POST /v1/query/events. Поддерживает интервалы (час, день, неделя, месяц), фильтры, разбивки, до 5 серий на одном графике.

Воронки

Воронка — упорядоченная последовательность событий (до 15 шагов). Показывает конверсию шаг-за-шагом и время между шагами.

  • Окно конверсии: от минуты до 30 дней
  • Фильтры на уровне воронки и отдельных шагов
  • Сравнение сегментов
  • Проваливание в детали: список пользователей, застрявших на шаге (POST /v1/query/funnels/users)

Удержание

Когортные матрицы возвращаемости: по дням, накопительные и интервальные. Базовое событие и возвращающее событие настраиваются.

Пути пользователей

Диаграмма Санки для путей пользователей между событиями. Показывает основные маршруты к конверсии или оттоку. Поддерживает сравнение сегментов и проваливание до списка пользователей.

Сегменты

Сегменты бывают трёх типов:

  • Поведенческие — по событиям (делал X в последние 7 дней)
  • По свойствам — по свойствам пользователя (plan = pro)
  • Комбинированные — комбинация правил

Сегменты динамические (пересчитываются по расписанию) — используются в алертах, экспортах, сравнениях.

Выручка

Отчёты по выручке: общая выручка, выручка на пользователя, когортная ценность клиента, топ плательщиков и атрибуция выручки. Основаны на событиях $revenue и материализованных представлениях ClickHouse.

Кастомные метрики (формулы)

В разделе Настройки → Кастомные метрики можно создать метрику через формулу:

CTR = count(click) / count(impression)
ARPDAU = sum(revenue) / uniq(user_id)
P95 Load = percentile(0.95, load_time)

Поддерживаемые агрегаты: count(), sum(prop), uniq(prop), avg(prop), percentile(q, prop). Арифметика + - * / и скобки. Формула валидируется (strict identifier regex), SQL генерируется с параметризованными плейсхолдерами — никакой SQL-инъекции через свойства.

Готовые метрики доступны как виджет на любом дашборде. Вычисление доступно с ролью analyst и выше (viewer не может триггерить).

A/B эксперименты

Эксперименты на флагах функций. Поддерживается три стратегии:

  • Фиксированное деление — классический A/B с фиксированным процентом
  • Последовательное тестирование (mSPRT) — always-valid инференс: воркер пересчитывает e-value каждые 15 минут, статус меняется на значимый автоматически при достижении порога 1/α без раздувания p-value
  • Многорукий бандит — выборка Томпсона с бета-распределением; воркер обновляет α/β каждый час из ClickHouse; закрепление варианта через Redis

Статистика: Welch's t-test и CUPED (вычитание ковариаты за 14 дней до старта — снижает дисперсию на 20%+ при высокой корреляции с Y_pre). Расчёт минимальной выборки (MDE + мощности теста + базового уровня) доступен до запуска.

Назначение варианта детерминированное (хэш user_id + experiment_key). Для контрольной-группы поддерживается стабильное исключение по бакетам через mutex-группы.

Флаги функций

Управление флагами с историей изменений, kill-switch, аудиторией по сегменту, распределением по процентам. Локальная оценка — через серверные SDK (Go, Node, Python, Java): polling-кэш обновляется раз в 30 секунд.

Progressive Rollout: для флага задаётся план этапов, например:

[
  { percentage: 1,   delay_hours: 0  },
  { percentage: 25,  delay_hours: 24 },
  { percentage: 100, delay_hours: 72 }
]

Воркер каждые 5 минут двигает allocation согласно плану. Можно привязать pause_on_alert_id — при срабатывании алерта рoллаут ставится на паузу.

Mutex-группы

Несколько экспериментов в одной группе — пользователь попадает только в один из них. Предотвращает конфликты между параллельными экспериментами в одной области продукта.

Алерты

Триггеры на аномалии и пороги: событийные (резкий спад / рост), на метрики воронок и удержания, на ошибки сбора данных. Каналы: email, Telegram, Slack, вебхуки. История срабатываний и возможность ИИ-анализа причины.

Записи сессий

Запись сессий через rrweb. Чанки попадают в S3, метаданные — в ClickHouse. Контроль приватности: маскировка input, блок-листы селекторов, семплирование (per-project replay_sample_rate). Срок хранения по умолчанию 90 дней, настраивается.

Тепловые карты

Карты кликов и глубины скролла. Фоновый скриншот страницы снимается сервисом Puppeteer, данные накладываются поверх. Поддерживается сравнение по устройствам (desktop / mobile) и фильтр по сегменту.

Отслеживание фрустрации

Яростные клики, бесполезные клики, клики с ошибками и возвраты назад. Автоматически отправляются браузерным SDK при frustration: true. Используются в отчётах по проблемным страницам.

In-app surveys

Опросы внутри продукта. Тип-in: NPS, CSAT, open text, single / multiple choice. Таргетинг по сегменту и триггерам (событию / URL). Ответы — события $survey_answered, доступны в обычной аналитике.

In-app guides

Туры, тултипы, баннеры. Таргетинг по сегменту, триггерам, порядку. SDK опрашивает GET /v1/decide/guides, клиент рендерит. Все события жизненного цикла уходят в аналитику.

Поддержка в Browser SDK:

  • Пошаговые туры — пошаговые туры с целевыми селекторами (MutationObserver ждёт элемент до 5 секунд), индикатором прогресса 2/5, кнопками Назад/Далее/Пропустить
  • Чек-листы — плавающий виджет с задачами, автозавершение по указанным событиям или ручной чекбокс, прогресс синхронизируется как user_property
  • A/B варианты — гайд может содержать variants: [{flag_variant, content}]; SDK оценивает флаг функции и показывает нужный вариант, в аналитику идёт поле ab_variant
  • XSS-защита — URL для image src и buttonURL проходят белый список схем (http/https/data:image), javascript: и data:text/html блокируются

ИИ-функции

ИИ-функции доступны при соответствующем плане (работает через YandexGPT):

  • Чат — задайте вопрос о данных на естественном языке. ИИ строит контекст из 9 параллельных запросов к ClickHouse (события, источники, страницы, фрустрации, воронки, устройства, география) с 5-секундным таймаутом на каждый, кэшируется в Redis на 5 минут.
  • SQL-песочница в чате — ИИ может сгенерировать ClickHouse SQL и выполнить его в изолированной среде только на чтение: только SELECT, таймаут 30с, лимит 10K строк, обязательный фильтр project_id. Результат показывается таблицей + возможность скачать CSV.
  • Инсайты — автоматические находки (аномалии, корреляции, когорты), воркер прогоняет проекты с concurrency limit (дефолт 3 параллельно).
  • Прогнозы — прогноз оттока / конверсии / ценность клиента. Для каждого пользователя SDK считает оценку 0-100.
  • Качество моделей(/ai/predictions/quality) — валидация прогнозов: воркер раз в сутки сравнивает предсказания ≥7 дней назад с фактическими исходами из ClickHouse; метрики Accuracy, Precision, Recall, AUC-ROC. Если rolling AUC-ROC < 0.6 при ≥5 samples — структурный warning в логах.
  • Alert analysis — при срабатывании алерта AI ищет вероятную причину.

Управление данными

Инструменты для чистоты событий:

  • План трекинга — описание событий и свойств со строгим и нестрогим режимом, импорт/экспорт JSON, версионирование.
  • Переименование и слияние событий — переименование или слияние нескольких событий без потери исторических данных (через таблицу алиасов, движок запросов применяет CASE WHEN event_type IN (...)). Только owner/admin может менять таксономию — операция переписывания затрагивает запросы ретроспективно. При попытке создать дубликат алиаса — HTTP 409.
  • Генерация кода — сгенерировать типизированный SDK-wrapper (TypeScript, Swift, Kotlin) из плана трекинга. Разработчик пишет trackPurchase(amount, ...) вместо track('purchase', ...), опечатки ловятся компилятором.
  • Дашборд качества данных — падения объёма, незапланированные события, отсутствующие обязательные свойства.

Приватность: DSAR и согласие

DSAR (152-ФЗ / GDPR Art. 17) — по запросу удаляем все данные конкретного user_id из PostgreSQL, ClickHouse (events, sessions, revenue_events), Object Storage (replay chunks). Доступно owner/admin через UI или POST /v1/dsar/requests. Асинхронный job, статус проверяется через audit log.

SDK consent management (для сайтов с cookie-banner):

  • При consentRequired: true события буферизуются в памяти до вызова grantConsent()
  • revokeConsent() очищает весь локальный storage SDK, сбрасывает device_id/session_id, выставляет optedOut. Revoke + re-grant в той же сессии требует fresh init()
  • hasConsent() — проверить состояние

Экспорт данных

Экспорт событий, пользователей и когорт в CSV / Parquet / JSON. Разовый и по расписанию. Готовый файл — в S3, скачивается по подписанной ссылке через GET /v1/export/download/{id}. Дополнительно: интеграция с внешним клиентом Kafka и SQL-доступ к ClickHouse только на чтение.

Embeddable виджеты

Любой виджет дашборда можно встроить на внешний сайт через iframe. В карточке виджета — кнопка «Поделиться»: генерируется JWT-токен со сроком жизни (1 день / 7 дней / 30 дней / бессрочно), выдаётся HTML-сниппет с <iframe>.

Публичный эндпоинт GET /v1/embed/:token не требует аутентификации, имеет лимит 120 запросов в минуту на токен, Referrer-Policy: no-referrer (чтобы токен не утекал через заголовок Referer), CSP frame-ancestors * (валидный стандарт вместо устаревшего X-Frame-Options: ALLOWALL).

Отзыв доступа — кнопка в интерфейсе или DELETE-эндпоинт (проверяет, что виджет принадлежит дашборду, чтобы не было межпроектных утечек).

Доступ и роли

Встроенные роли в проекте: owner, admin, analyst, viewer. Плюс кастомные роли с произвольным набором permissions.

SSO (SAML / OIDC), LDAP, SCIM для корпоративного плана. Аудит-лог всех действий.