Field note · September 2025
Instrumenting first-session events without flooding the warehouse
Teams arriving at Activation Event Taxonomy often bring eighty first-session events and still cannot answer why accounts go quiet. Volume is not instrumentation. Onboarding Drop-Off Analytics needs a short list you can defend in a privacy review and still argue about in a critique.
A list we keep returning to
We do not pretend this is universal. It is a starting inventory for a first hour:
- session_started — with app version and locale, not a marketing channel fairy tale.
- identity_started and identity_succeeded — never a single “kyc_done” if retries exist.
- permission_prompted and permission_granted — especially camera and notifications.
- first_value_attempted and first_value_completed — named after the actual value, not “onboarding_step_4.”
- help_opened — support, chatbot, or human; do not collapse them if the paths differ.
- session_ended — even if it is approximate. Silence after a crash is not the same as silence after a successful export.
What to leave out on purpose
Hover events. Tooltip impressions. Every screen view in a five-step carousel. They make heatmaps pretty and drop-off arguments muddy. If a designer needs them, park them in a separate product-analytics property that does not feed the activation claim.
Thailand privacy, said plainly
If an event payload includes ID images, full national ID numbers, or precise location beyond what the feature needs, stop. Our atelier includes language for PDPA-minded reviews: purpose, retention, and who can query. A tracking plan that cannot survive that conversation is not “being data driven.” It is being careless.
Version the names
When you retire a vanity event, do not reuse the name. Suffix a version. Dashboards that quietly change meaning are how activation rates become folklore. This is dull work. It is also how Mirror Desk teams stop fighting about whether last quarter is comparable.
If your engineering freeze lasts a quarter, you can still write the inventory and mark what is missing. Diagnosis without new events is slower, not useless. We would rather you know the gap than invent coverage.