← Назад к вопросам
Нужно ли передавать идентификатор события в push?
2.0 Middle🔥 151 комментариев
#Аналитика мобильных приложений#Метрики продукта
Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Передавать ли идентификатор события в push: ДА, обязательно
Краткий ответ
Да, нужно передавать ID события в push-уведомление. Это один из ключевых параметров для отслеживания конверсии, анализа эффективности и понимания пути пользователя.
Архитектура передачи ID события
В push-уведомлении должны быть:
{
"event_id": "evt_xyz123",
"event_type": "order_shipped",
"timestamp": "2026-03-26T14:30:00Z",
"user_id": "usr_abc456",
"message": "Ваш заказ отправлен",
"deep_link": "/orders/order_xyz/track",
"attributes": {
"order_id": "ord_123",
"tracking_number": "TRK12345"
}
}
Почему это критически важно?
1. Отслеживание конверсии (Click Attribution)
Когда пользователь нажимает на push:
- Мы регистрируем push_click-событие с event_id
- Связываем это с исходным событием (event_id из push)
- Видим цепочку: order_shipped → push_click → order_viewed_details → review_left
SELECT
push.event_id,
COUNT(CASE WHEN click.event_id IS NOT NULL THEN 1 END) as clicks,
COUNT(CASE WHEN action.event_id IS NOT NULL THEN 1 END) as conversions,
ROUND(100.0 * COUNT(action.event_id) / COUNT(push.event_id), 2) as ctr
FROM events push
LEFT JOIN events click ON push.event_id = click.related_event_id
AND click.event_type = push_clicked
LEFT JOIN events action ON click.event_id = action.related_event_id
WHERE push.event_type = push_sent
GROUP BY push.event_id;
2. Дебаг и Quality Assurance
- Если push не пришёл, мы видим по event_id, на каком этапе произошёл сбой
- Можем отследить: event создано → push queued → push delivered → push clicked
- Находим узкие места в системе отправок
3. Когортный анализ
- Группируем пользователей по типу события в push (order_shipped vs account_created)
- Сравниваем CTR, retention, revenue в зависимости от типа события
- Видим, какие события генерируют более лояльных пользователей
4. Персонализация в будущем
- История event_id позволяет ML-модели учить, какие пользователи реагируют на какие события
- Вероятностная модель: "Пользователь типа X с 60% вероятностью нажмёт на push с event_type = order_shipped"
Практические рекомендации
Формат ID события:
- Используй UUID или snowflake ID для уникальности
- Префикс для типа: evt_order, evt_review, evt_promo
- Пример: evt_order_xyz123_20260326_143000
Передача в push:
{
"notification": {
"title": "Заказ отправлен",
"body": "Ваш заказ #123 готов к отправке"
},
"data": {
"event_id": "evt_order_xyz123",
"event_timestamp": "1711353000",
"deep_link": "/orders/xyz123/track",
"analytics_label": "order_shipped"
},
"android": {
"priority": "high",
"ttl": "86400s"
}
}
Логирование на клиенте:
Когда пользователь нажимает на push, клиент отправляет:
event = {
"event_type": "push_clicked",
"event_id": "evt_click_abc789",
"related_event_id": "evt_order_xyz123", # ID из push
"user_id": "usr_456",
"timestamp": "2026-03-26T14:35:00Z",
"platform": "iOS",
"session_id": "sess_xyz"
}
Риски без ID события
- Потеря данных: не сможешь связать push_sent с push_clicked
- Неполная аналитика: не поймёшь, какие события ведут к конверсии
- Сложный дебаг: если что-то сломалось, не найдёшь проблему
- Невозможность optimizации: не сможешь улучшать based на данных
Итог
Передача event_id в push — это baseline для профессиональной аналитики. Без неё ты работаешь вслепую. С ней — ты видишь полную картину пути пользователя и можешь оптимизировать.