Field note · January 2026
Event names that survive a reorg
A tracking plan is a political document. After a reorg it becomes an archaeological site. Taxonomy is how you keep digging without inventing a new civilisation every quarter.
The failure mode is always the same. Growth adds checkout_ok from the landing page. Product already had order_completed in the app. A CDP migration introduces OrderCompleted because someone followed a vendor example. Finance builds a dashboard on whichever event was easiest to find. Six months later nobody can reconcile revenue to “completed orders,” and a new PM inherits three truths.
Names are for humans who do not remember the war
We teach object_action in lowercase with underscores: order_completed, kyc_submitted, seat_invited. CamelCase looks tidy in a JavaScript snippet and hostile in a warehouse. Marketing-flavoured names (mega_funnel_win) age like campaign codes: nobody knows what they meant after the campaign owner leaves.
Properties carry the nuance. The event name should still make sense if you delete every property. If you need the property to know what happened, you named the event after a dashboard tile, not after a fact in the world.
One owner, written down
Ownership is not “the analytics team.” It is a named person or a named role that can accept a pull request changing the trigger. In Event Taxonomy Architecture we reject dictionaries where the owner column says “shared.” Shared means orphaned.
Deprecation needs a date and a replacement. Silent dual-firing “for safety” is how you get two revenue numbers. During Observatory quarters we usually pick a kill date six weeks out and make the old event fail CI after that. Teams that cannot get CI involved stay in dual-fire limbo; we say so in the readout rather than pretending a spreadsheet policy will hold.
What we mark in red
Duplicate triggers. Events fired from both client and server for the same user action without a dedupe key. Properties that change type. Names that include a version number (signup_v3) instead of a changelog. Anything called click without an object.
We also mark vendor default events that you never intended to keep. Most CDPs arrive with a gift shop of page views and “identify” calls. If they are not in the contract, they are noise wearing a licence.
After the reorg
Do not freeze all tracking for a quarter. Freeze new events for two weeks while you appoint owners for the core twenty. Core means activation, the paid conversion you actually recognise, and the expansion moment you claim. Everything else can wait. This triage is the same move we use for Series A instrumentation debt.
If you want the markup conventions we use in laboratory critiques, they ship with Desk Trace. The principle is free: a future teammate should be able to find the truth without calling someone who left.