Skip to content

Analytics Event Catalog

jjoonleo edited this page Jun 26, 2026 · 1 revision

Analytics Event Catalog

This catalog defines the first-release Product Usage Events for OnTime. Events are Workflow Milestone Events only; they must not capture raw user-authored content, direct identifiers, tokens, request bodies, response bodies, raw exception strings, schedule names, notes, place names, or preparation step names.

Common Parameters

All events include:

Parameter Meaning
schema_version Event schema version. First release uses 1.
workflow Product workflow that produced the event.
result Stable result category such as success, failure, allowed, denied, or disabled.
platform Coarse app platform.
app_version App version string.

Optional parameters must be allowlisted per event and limited to stable categories, coarse counts, or coarse durations.

First-Release Events

Event Owner Question Trigger Point Allowed Parameters
analytics_preference_changed How many users keep optional analytics enabled? Analytics Preference update succeeds. enabled, source
onboarding_completed How many users complete first setup? Onboarding use case succeeds. preparation_step_count, spare_time_minutes
sign_up_completed How many users create accounts successfully? Sign-up succeeds. auth_provider
login_completed How many users return successfully? Sign-in succeeds. auth_provider
schedule_create_started Where does schedule creation begin? Schedule create form initializes. source
schedule_created How often do users create schedules? Schedule creation succeeds. preparation_mode, preparation_step_count, minutes_until_schedule
schedule_updated How often do users revise schedules? Schedule update succeeds. preparation_changed, minutes_until_schedule
schedule_deleted How often are schedules removed? Schedule deletion succeeds at a BLoC or use-case workflow boundary. minutes_until_schedule
notification_permission_result How often do users grant notification access? Notification permission flow resolves. permission_result, source
alarm_opened How often do alarms bring users into the preparation flow? Alarm launch payload opens a schedule route. launch_action, provider
alarm_failed Which alarm failures need attention? Alarm status/reporting detects a stable failure category. error_code, provider
schedule_finished How often do users finish preparation on time? Schedule finish succeeds. lateness_bucket, preparation_step_count, started_early

Forbidden Fields

Never include:

  • Email, display name, OAuth identifier, FCM token, access token, or refresh token.
  • Schedule name, schedule note, place name, or preparation step name.
  • User-authored free text.
  • Raw exception message, stack trace, request body, response body, or arbitrary map.
  • Exact location data or any permission-sensitive data not already approved for analytics.

Change Control

  • Event names use stable snake_case.
  • Breaking meaning changes require a new event name or schema_version increment.
  • New events require an owner question and explicit allowed parameters before implementation.
  • First-release failure tracking is limited to alarm_failed; other failure events require stable error categories before implementation.
  • Marketing and personalization events are out of scope until deferred purposes are approved.

Clone this wiki locally