Встроенная аналитика без третьих сторон

Аналитика в шаблоне полностью first-party: события пишутся в вашу PostgreSQL, дашборд встроен в админку, без сторонних тегов на странице.
Без Google Analytics
Автоматический сбор
React Router instrumentation (сервер + клиент) пишет события без track() в каждом компоненте:
page_view— SSR и клиентские переходыloader/action/fetcher— с именем маршрута и длительностью- Бизнес-события:
signup_completed,checkout_started,payment_succeeded,agent_message_sent
Идентификация посетителя
Два HttpOnly-cookie: analytics_vid (до года) и analytics_sid (сессия 30 мин). После регистрации срабатывает stitch — анонимная история связывается с userId.
Дашборд
На /admin/analytics: DAU, воронка, топ страниц, журнал событий. Агрегаты считает pg-boss — дашборд не сканирует миллионы строк.
Для отладки — песочница /analytics-sandbox.
import { track } from "~/lib/analytics/track.client";
track("pricing_plan_selected", { planId: "pro-month" });
Подробнее: docs/analytics.md и docs/specs/analytics.md.