Короткий ответ
Минимальная схема должна позволять идентифицировать действие, время, пользователя или устройство, сессию и контекст. Уникальный event_id нужен для дедупликации.
Как это работает подробнее
Идентификатор пользователя связывает события между сессиями, а anonymous ID сохраняет путь до авторизации. Версия схемы помогает безопасно развивать формат и расследовать несовместимые изменения.
- Идентификация.
event_id,user_idилиanonymous_id,session_id. - Контекст.
event_name, UTC-время, свойства, платформа и версия приложения.
Пример кода
checkout_completed.json
{
"event_id": "e_902",
"event_name": "checkout_completed",
"timestamp": "2024-05-01T10:15:00Z",
"user_id": "u_1029",
"session_id": "s_552",
"schema_version": 2,
"properties": {"order_amount": 1200, "currency": "RUB"}
}Что использовать на практике
- Сформулируйте обязательность и формат каждого поля в tracking plan.
- Проверяйте схему на клиенте и сервере, а ошибочные события направляйте в карантин.
Подводные камни
- Локальное время. Timestamp без зоны создаёт неоднозначность на границах суток.
- Только user_id. События до авторизации потеряются без устойчивого anonymous ID.