98e40dac97
CLI Smoke Test / smoke-test-linux (20) (push) Has been cancelled
CLI Smoke Test / smoke-test-linux (24) (push) Has been cancelled
CLI Smoke Test / smoke-test-windows (20) (push) Has been cancelled
CLI Smoke Test / smoke-test-windows (24) (push) Has been cancelled
Expo App TypeScript typecheck / typecheck (push) Has been cancelled
163 lines
3.8 KiB
Markdown
163 lines
3.8 KiB
Markdown
# Product Analytics
|
|
|
|
# [auto]
|
|
|
|
## Navigation
|
|
|
|
- $screen
|
|
- $screen_name
|
|
|
|
## Lifecycle
|
|
|
|
- Application Installed
|
|
- Application Updated
|
|
- previous_version?
|
|
- previous_build?
|
|
- Application Opened
|
|
- url?
|
|
- Application Became Active
|
|
- Application Backgrounded
|
|
|
|
# [explicit]
|
|
|
|
## Auth
|
|
|
|
- account_created
|
|
- account_restored
|
|
- note: this is restore-flow start, not restore success
|
|
|
|
## Core
|
|
|
|
- connect_attempt
|
|
- message_sent
|
|
- source
|
|
- session_agent
|
|
- session_started_source
|
|
- happy_cli_version
|
|
- ota_version
|
|
- ota_runtime_version
|
|
- session_switched
|
|
- session_id
|
|
- session_created_at
|
|
- last_active_at
|
|
- last_updated_at
|
|
|
|
## Voice
|
|
|
|
- voice_permission_response
|
|
- allowed
|
|
- voice_session_started
|
|
- session_id
|
|
- elevenlabs_conversation_id
|
|
- voice_session_error
|
|
- session_id
|
|
- elevenlabs_conversation_id
|
|
- error
|
|
- voice_session_stopped
|
|
- session_id
|
|
- elevenlabs_conversation_id
|
|
- duration_seconds
|
|
|
|
## Paywall
|
|
|
|
all include flow property which customizes the upsell screen shown by revenue cat.
|
|
|
|
- paywall_button_clicked
|
|
- paywall_presented
|
|
- paywall_purchased
|
|
- paywall_restored
|
|
- paywall_cancelled
|
|
- paywall_error
|
|
- error
|
|
|
|
## Review
|
|
|
|
- review_prompt_shown
|
|
- review_prompt_response
|
|
- likes_app
|
|
- review_store_shown
|
|
- review_retry_scheduled
|
|
- days_until_retry
|
|
|
|
## Updates
|
|
|
|
- ota_update_available
|
|
- ota_version
|
|
- ota_runtime_version
|
|
- ota_update_applied
|
|
- ota_version
|
|
- ota_runtime_version
|
|
- whats_new_clicked
|
|
|
|
## GitHub
|
|
|
|
- github_connected
|
|
|
|
## Friends
|
|
|
|
- friends_search
|
|
- friends_profile_view
|
|
- friends_connect
|
|
|
|
# Appendix
|
|
|
|
## Shared SDK Properties
|
|
|
|
- every capture(...) send also includes:
|
|
- $lib
|
|
- $lib_version
|
|
- $session_id
|
|
- $screen_height
|
|
- $screen_width
|
|
- $process_person_profile
|
|
- $is_identified
|
|
- $device_type
|
|
- $app_build?
|
|
- $app_name?
|
|
- $app_namespace?
|
|
- $app_version?
|
|
- $device_manufacturer?
|
|
- $device_name?
|
|
- $os_name?
|
|
- $os_version?
|
|
- $locale?
|
|
- $timezone?
|
|
- $screen_name?
|
|
- event
|
|
- distinct_id
|
|
|
|
## Identity And Control Sends
|
|
|
|
- $identify
|
|
- $set
|
|
- reset
|
|
- optIn
|
|
- optOut
|
|
|
|
## Strong Preferences
|
|
|
|
- Prefer a small number of core events with explicit properties over a growing set of overlapping events.
|
|
- `message_sent` is the canonical outbound send event. Do not add parallel send events for specific surfaces like voice. Add or use `source` instead.
|
|
- If a new analytics question can be answered by extending an existing event, prefer adding a property over inventing a new event.
|
|
- `session_switched` should carry stable identity, not just recency. Keep `session_id` and `session_created_at` on it.
|
|
- OTA context is first-class and should travel with the events that matter. Keep `ota_version` and `ota_runtime_version` on `message_sent`, `ota_update_available`, and `ota_update_applied`.
|
|
- Prefer direct, explicit property objects at capture sites. Do not hide event shape behind generic helper layers that silently add, remove, or filter fields.
|
|
- If we ever care about session-switch entry source, add an explicit `source` property. Do not try to reconstruct it later from navigation context.
|
|
|
|
## Notes
|
|
|
|
- session_switched now includes stable identity (`session_id`, `session_created_at`) plus recency. Entry source is still merged until we add an explicit source property.
|
|
- elevenlabs_conversation_id is the conversation id returned by the ElevenLabs voice session layer.
|
|
- github_connected is a plain event with no GitHub profile data attached.
|
|
|
|
## Relevant Sources
|
|
|
|
- packages/happy-app/sources/track/index.ts
|
|
- packages/happy-app/sources/hooks/useNavigateToSession.ts
|
|
- packages/happy-app/sources/-session/SessionView.tsx
|
|
- packages/happy-app/sources/realtime/RealtimeSession.ts
|
|
- packages/happy-app/sources/components/SettingsView.tsx
|
|
- packages/happy-app/sources/sync/sync.ts
|
|
- packages/happy-app/sources/track/useTrackScreens.ts
|
|
- packages/happy-app/sources/track/tracking.ts
|