Instrumentation model

Recommended core events: session_started, session_heartbeat, session_ended, screen_view, screen_leave, onboarding_step_view, onboarding_step_complete, premium_purchase.

  • Always send sessionId for session lifecycle events.
  • Include userId for all user-level conversion analysis.
  • For screen_leave, include properties.duration_ms when available.
  • For onboarding events, include properties.step with a stable slug.
  • For purchases, include stable revenue fields such as properties.amount and properties.currency.
Practical tip: avoid sending highly-cardinal free text (full URLs, random IDs) as top-level report properties unless you truly need them. Keep dashboards readable and query costs predictable.

Next step

Use Event taxonomy to formalize naming/property rules for your whole team.