Продуктовая аналитика на вашем сервере

Rockstat собирает события с сайтов и приложений в ваш ClickHouse и показывает их в панели: воронки, пути, запись сессий, Web Vitals и AI-ассистент. Сырые данные остаются у вас.

Панель Rockstat: обзор проекта с ключевыми метриками, графиком посещаемости и разбивками по страницам и источникам
Обзор проекта в панели Rockstat. Цифры и адреса на снимках скрыты режимом secret, который встроен в панель для демонстраций.

Зачем своя аналитика

Что меняется, когда данные остаются у вас

  1. 01

    Данные принадлежат вам

    События пишутся в ClickHouse на вашем сервере. К сырым данным можно подключить SQL-клиент, Grafana или Jupyter — без лимитов на выгрузку и чужих API.

  2. 02

    Отчёты по сырым событиям

    Без семплирования и задержек поступления данных. Панель читает узкие таблицы, которые наполняют материализованные представления, поэтому отчёты строятся быстро даже на миллионах событий в сутки.

  3. 03

    Сбор со своего домена

    Web-SDK загружается с вашего сервера, cookie ставятся на домен сайта. Блокировщики рекламы библиотеку не трогают, а идентификатор посетителя общий для всех поддоменов.

Возможности

Панель, в которой виден весь путь пользователя

От общей картины по проекту до записи конкретной сессии. Все экраны работают с одним периодом и общими фильтрами по любому измерению.

Найдите шаг, на котором уходят пользователи

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

  • Шаги по пути страницы или по значению свойства события
  • Подсчёт по пользователям или по сессиям, окно между первым и последним шагом
  • Пути от двух до восьми шагов, выход из сессии — отдельным узлом
Раздел «Воронки»: три шага от просмотра главной страницы до успешной регистрации

Разберите сессию до отдельного клика

Каждая сессия разворачивается в ленту событий с задержками и свойствами. Нужно увидеть происходившее глазами посетителя — включите запись.

  • Город, устройство, источник, первая страница и длительность по каждой сессии
  • Плеер с перемоткой и пропуском бездействия
  • Поля ввода маскируются ещё в браузере посетителя
Раздел «Сессии»: список сессий с развёрнутой лентой событий

Соберите свой экран метрик

Несколько дашбордов на проект, виджеты двигаются и растягиваются. Период и фильтры хранятся в адресе страницы, поэтому любой отчёт можно отправить ссылкой.

  • Числа со спарклайном, графики с разбивкой, доли, топ-значений, сохранённые воронки
  • До восьми событий на одном графике для сравнения динамики
  • Клик по строке любой разбивки добавляет её в фильтр
Раздел «Дашборды»: сетка виджетов с метриками, графиком сессий по типам трафика и долями устройств

Измеряйте скорость у реальных посетителей

Web Vitals собираются Web-SDK в поле, а не в лаборатории: видно, как сайт работает на настоящих устройствах и сетях.

  • LCP, CLS, INP, FCP и TTFB
  • 75-й перцентиль, распределение по зонам и динамика по каждой метрике
  • Разбивка по страницам, устройствам, браузерам, ОС и странам
Раздел «Производительность»: карточки Web Vitals с перцентилями и распределением по зонам

AI-ассистент

Задайте вопрос данным обычными словами

Не нужно собирать отчёт вручную, чтобы проверить догадку. Ассистент сам сходит в базу, а вы увидите и ответ, и запрос, которым он получен.

  • Отвечает в контексте открытого отчёта: проект, период и фильтры уже учтены
  • Сам выполняет запросы к данным и показывает их вместе с ответом
  • Даёт ссылки на экраны панели, где можно продолжить разбор
  • История разговора хранится только в вашем браузере
Ask AIuses the current range and filters

Сколько вчера было пользователей из Бангладеш?

Запрос к ClickHouse
SELECT uniq(uid) AS users
FROM stats_ui.events
WHERE date = yesterday()
  AND country = 'BD'

Вчера из Бангладеш пришло 412 пользователей — это на 18% больше, чем днём ранее.

Основной источник — партнёрский трафик. Подробности по страницам входа есть в обзоре с фильтром по стране.

Ask a question…
Пример диалога. Цифры в ответе условные.

Сбор данных

Один сниппет на сайте — и события уже в вашей базе

Библиотека лежит на вашем домене и работает сама. Всё, что не покрывает сайт, приходит по HTTP, через пиксель или вебхуки.

index.htmlWeb-SDK 5.2
<!-- загрузчик: создаёт rstat4 и очередь вызовов -->
<script>
  rstat4('configure', { server: 'stat.example.com' });
  rstat4('page');

  // свои события — одной функцией
  rstat4('event', 'add_to_cart', { id: '2342344' });
  rstat4('identify', 42, { plan: 'pro' });
</script>

Rockstat не требует отказываться от привычных счётчиков: Web-SDK автоматически подхватывает client id Google Analytics 4 и Яндекс Метрики и добавляет их к каждому событию, чтобы данные можно было сводить между системами.

Документация по Web-SDK
Web-SDK
Просмотры, клики, формы, активность, прокрутка и переключение вкладок собираются автоматически.
HTTP
Мобильные приложения и серверы отправляют события обычными GET- и POST-запросами.
Пиксель 1×1
Для писем, AMP-страниц и любых мест, где нельзя выполнить JavaScript.
Вебхуки и постбэки
Данные из внешних сервисов, например установки из Yandex AppMetrica.
Редиректы
Ссылка считает переход и отправляет пользователя по назначению.

Мобильные приложения

SDK для Android, iOS и Flutter

Приложения пишут события в ту же базу, что и сайт, и связываются с веб-сессиями по user_id — путь пользователя виден целиком, от рекламы до действий в приложении.

Android

Kotlin · Java

Нативный SDK для приложений и Android TV: экраны, события и сбои уходят в ваш же сервер.

iOS

Swift

SDK для iPhone и iPad с фоновой отправкой и буфером на случай обрыва сети.

Flutter

Dart

Один пакет для Android и iOS сразу — удобно, когда приложение собирается из общего кода.

Данные со всех платформ складываются в единый ClickHouse: воронки, пути и записи сессий учитывают и сайт, и приложения. Подключаем мобильные SDK индивидуально — напишите в чат, подскажем под вашу платформу.

Спросить в чате

Под капотом

Данных больше, чем в обычном счётчике

Rockstat собирает то, что остальные теряют, проверяет источник событий и сводит веб, мобильные приложения и внешние сервисы в одну базу.

Данные устройства и браузера

Батарея и сеть
Заряд, статус зарядки, тип соединения — Wi-Fi или сотовая — там, где браузер их отдаёт.
Client Hints
Браузеры прячут полную версию в User-Agent — Web-SDK дозапрашивает её отдельно.
Web Vitals
LCP, CLS, INP, FCP и TTFB с реальных посетителей, а не из лаборатории.
Отпечатки браузера и TLS
Отпечаток браузера и SSL/TLS-отпечаток соединения; глубокие браузерные отпечатки — отдельным сервисом.

Честность данных

Цифровая подпись запросов
События подписываются, поэтому в базу не попадают подделанные обращения.
Обнаружение мультиаккаунтинга
Отпечатки и идентификаторы помогают связать несколько аккаунтов одного устройства.
Свои гео-базы
Подключите собственные базы геолокации, чтобы регион в аналитике совпадал с данными заказов.

Источники и каналы

Больше типов сессий
Кроме обычных источников — отдельные partner (CPA), internal и webview.
Любые вебхуки
Приём постбэков и событий со сторонних сервисов прямо в ваш поток.
Трекинг-редиректы
Короткие ссылки как у bit.ly, но с отслеживанием дальнейших действий. Плюс пиксель 1×1 — там, где нельзя выполнить JavaScript.

Как устроено

Прозрачный конвейер от запроса до отчёта

Каждое событие проходит один и тот же путь, и в любой точке его можно обогатить, обработать или отправить во внешнюю систему.

  1. Источники

    Сайты и приложения

    Web-SDK, HTTP-запросы, пиксель, вебхуки

  2. Приём

    Front

    Принимает запрос и присваивает событию ключ маршрутизации

  3. Обогащение

    Обогатители

    Регион по IP, разбор User-Agent, ваша логика

  4. Хранение

    ClickHouse

    chwriter пишет события; свои поля добавляются в конфигурации

  5. Анализ

    Панель и SQL

    Панель Rockstat, Grafana, Jupyter, любой SQL-клиент

Расширяется вашими сервисами

Сервисы Rockstat — независимые процессы на Node.js, которые общаются через Redis Pub/Sub сообщениями JSON-RPC 2.0. Библиотека rock-me-ts берёт на себя конфигурацию, логи, метрики и RPC — вам остаётся бизнес-логика.

Как написать сервис на TypeScript
Слушатель
Получает поток готовых событий. Так устроены запись в ClickHouse и стриминг в Kafka.
Обогатитель
Дописывает данные к событию до того, как оно попадёт в хранилище.
Обработчик
Отвечает на входящий запрос и формирует HTTP-ответ клиенту.

Open source

Эта платформа — ваша

Никакой привязки к поставщику: код открыт, данные лежат у вас, а стек собран из стандартных компонентов.

Открытый код
Исходники распространяются под лицензией Apache 2.0: платформу можно изучать, дорабатывать и использовать в коммерческих проектах.
Ваш сервер
Rockstat устанавливается на вашу инфраструктуру. События хранятся в вашей базе ClickHouse, а не в чужом облаке.
Бережно к посетителям
Значения полей форм по умолчанию не собираются. В записи сессий поля ввода маскируются в браузере, а при необходимости значения шифруются публичным RSA-ключом.
Знакомые технологии
ClickHouse, Redis, Docker, Node.js и TypeScript. Поток событий можно параллельно отправлять в Kafka.
«Мы используем Рокстат как основной инструмент веб-аналитики — собираем события в свою базу, замеряем результаты экспериментов, настраиваем оповещения.»
Артем Шевченко, Utair
«Мы реализовали сквозную аналитику и свою междоменную модель атрибуции. Благодаря этому мы успешно перераспределяем бюджеты между каналами.»
Константин Подъяков, pride.marketing

Нам доверяют

Компании, которые уже собирают данные в Rockstat

От авиаперевозчика и рекламной сети до продуктовых команд и агентств — все хранят события в своей базе.

Запуск

Три шага до первых событий

  1. 01

    Подготовьте сервер и домен

    Нужен отдельный сервер со свежей ОС — от 2 ядер, 8 ГБ памяти и 60 ГБ SSD — и поддомен вроде rstat.mysite.ru, направленный на него.

    Выбор сервера и настройка DNS
  2. 02

    Разверните платформу

    Сервисы приёма, обогащения и записи событий, ClickHouse и панель ставятся автоматически. Установщик сейчас обновляется под текущий состав сервисов — руководство появится в документации.

    Статус установщика
  3. 03

    Поставьте сниппет на сайт

    Добавьте загрузчик в <head> на всех страницах — просмотры, клики и формы начнут собираться сами, а в панели появятся первые сессии.

    Установка и настройка Web-SDK

Вопросы и ответы

Коротко о главном

Не нашли ответ? Спросите в чате поддержки.

Сколько стоит Rockstat?

Платформа бесплатна и распространяется под лицензией Apache 2.0. Вы платите только за собственный сервер.

Где хранятся данные?

В базе ClickHouse на вашем сервере. Сырые события доступны напрямую: через SQL, Grafana или Jupyter.

Нужно ли отказываться от Google Analytics или Яндекс Метрики?

Нет. Rockstat работает параллельно с ними. Web-SDK автоматически подхватывает client id GA4 и Метрики и добавляет их к каждому событию, поэтому данные можно сводить между системами.

Что собирается без дополнительной настройки?

Просмотры страниц, клики, взаимодействие с формами, активность, прокрутка, переключение вкладок и метрики Web Vitals. Запись сессий включается по запросу. Свои события отправляются одной функцией.

Как защищены данные посетителей?

Значения полей форм по умолчанию не собираются. При записи сессий все поля ввода маскируются ещё в браузере, а отдельные участки страницы исключаются CSS-классами. Если значения полей всё же нужны, их можно шифровать в браузере публичным RSA-ключом — расшифровать сможет только ваш сервер.

Можно ли отправлять данные не только с сайта?

Да. Мобильные приложения и серверы отправляют события по HTTP, для писем и AMP-страниц есть пиксель, для внешних сервисов — вебхуки и постбэки, для ссылок — редиректы.

Можно ли доработать платформу под свои задачи?

Да. Платформа расширяется собственными сервисами на TypeScript: событие можно обогатить, обработать в реальном времени или отправить во внешнюю систему. В документации есть руководство на примере рабочих сервисов.

Аналитика, которая остаётся у вас

Rockstat разворачивается на вашем сервере и показывает продукт по вашим собственным данным.