Перейти к содержанию

Аналитика и воронка

Результат

Вы будете знать, какую продуктовую аналитику собирает Threadory, как события вошедшего пользователя связываются без хранения того, кто это, и где операторы платформы читают воронку от визита до оплаты.

Что собирается

Threadory считает своё использование в собственной базе. Сторонних аналитических скриптов и аналитических cookie нет, ничего не уходит аналитическим вендорам.

  • Просмотры страниц и шаги регистрации. Какая страница или шаг, сайт, с которого пришёл посетитель (только домен), параметры кампании из ссылки и случайный идентификатор в session storage браузера на время одного визита. Сам по себе идентификатор не связан ни с каким аккаунтом.
  • Солёный хэш пользователя. Пока пользователь вошёл, каждое событие, которое сообщает его браузер (на сайте и внутри приложения), и событие старта триала от сервера также несёт хэш его id. Исключение одно — отправка формы обратной связи (lead_submitted): она хранится без хэша, идентификатора визита, реферера и параметров кампании. Хэш — это первые 32 символа sha256(соль + id пользователя). Соль — секрет, существующий только в окружении развёртывания (PRODUCT_EVENT_HASH_SALT), поэтому по одной базе нельзя восстановить ни id, ни личность. Хэш нужен, чтобы понять, что человек, зарегистрировавшийся, — тот же, кто позже подключил инструмент. Если соль не задана, хэш не пишется вовсе.
  • События сервера. Начало триала, его окончание, первое опубликованное ревью проекта и смену тарифа через самостоятельную оплату (её пишет вебхук Stripe: прежний и новый тариф, больше ничего) пишет сервер. В них нет имени и e-mail пользователя; хэш пользователя есть только у старта триала. Строка первого ревью несёт внутренний id проекта — на нём же держится её единственность на проект.

Не хранится: IP-адреса, user agent браузера, имена, e-mail и полный адрес страницы, с которой пришли. Строки удаляются через 180 дней (PRODUCT_EVENT_RETENTION_DAYS).

Читать воронку

Операторы платформы открывают /admin/funnel. Страница показывает для диапазона дат в UTC (по умолчанию — последние 30 дней):

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

Шаги, которые пока никто не отправляет, показывают ноль: сейчас это подтверждение почты. Достижение лимитов тарифа, начало и завершение оплаты появляются, когда включена самостоятельная оплата (ADR-0053); без настроек Stripe они, как и смены тарифа, остаются нулевыми. Клики по кнопкам приходят с лендинга, а также с /pricing, страниц задач, двух страниц сравнения и /changelog, а шаг визитов и таблицы источников считают только корень лендинга и его языковые версии, поэтому шаг кликов может оказаться больше шага визитов. Сервер записывает только старт триала, первое ревью и смену тарифа; остальные шаги сообщает браузер посетителя через публичную точку приёма, поэтому считайте их ориентировочными, а не проверенными.

Добавить оператора

Задайте на API OPS_ADMIN_EMAILS — список e-mail операторов через запятую. E-mail вызывающего должен быть подтверждён. При пустом значении GET /admin/funnel отвечает 403 всем, включая владельцев организаций, а страница показывает сообщение об отказе в доступе.

Задайте PRODUCT_EVENT_HASH_SALT одинаковым на веб-сервисе и API. Если изменить его позже, новые события перестанут связываться со старыми.