AnthonyHughes
DragonPass 2026 Case study

A shared language for behaviour: the cross-platform analytics taxonomy

How I translated a legacy analytics spec into a FullStory-aligned tracking convention that product, design, and engineering could all actually read.

449interactions defined
118screens covered
88%handled by simple element tagging
11custom events (down from chaos)
A shared language for behaviour: the cross-platform analytics taxonomy — project imagery (placeholder)

Problem

The DragonPass app's event tracking was specified in a legacy Google Analytics format: events stored as columns rather than rows, dynamic variables buried inside event names, cryptic prefixes, and an ambiguous split between module and component naming. The result was a spec nobody could confidently query, duplicated and inconsistent event definitions, and a product team that couldn't trust — or even navigate — its own behavioural data.

As we moved to FullStory, porting the mess across would have squandered the opportunity.

Objective

Create a single, FullStory-aligned event tracking convention for the entire app — one that PMs, designers, and developers could all read, that survives cross-platform analysis across web and native, and that could serve as the instrumentation source of truth going forward.

What I did

  • Normalised the legacy spec. Extracted every interaction from 14 feature sheets in the old spec, de-duplicating 508 raw rows into 449 distinct interactions across 118 screens.
  • Reoriented the model. Moved from events-as-columns to the industry-standard events-as-rows tracking plan format used by Segment and Amplitude — filterable, maintainable, familiar.
  • Designed the naming architecture. Hierarchical page names with no dynamic variables baked in (extracted as typed attributes instead); one readable element identifier replacing the ambiguous module/component split; and an object-action, past-tense convention for custom events.
  • Minimised engineering cost. Identified that 361 of 449 interactions are native clicks needing only front-end element tagging — reserving custom instrumentation for just 11 enrichment events where server-confirmed state genuinely matters.
  • Built the reference workbook. A six-tab workbook — conventions guide, legend, event tracking plan, page dictionary, custom events, and a 38-attribute dictionary with consistent naming to stop cross-event analysis breaking.
  • Designed for cross-platform parity. The same element names and property schemas apply across web, iOS, and Android — unified analysis with no parallel taxonomies.

Outcome

88% of interactions handled through simple element tagging rather than custom development — dramatically reducing implementation cost.

One instrumentation standard replacing an unusable legacy spec, adopted as the shared tracking language across product, design, and engineering.