Field note

Reading a tracking plan against the live data layer

Notebooks and a laptop during a documentation review

Teams hand us a spreadsheet titled “tracking plan — final”. It lists events, properties, and triggers. It is dated. The product is not.

On a recent engagement for a subscription service, the plan still named signup_complete on a URL that had been redirected for fourteen months. The live data layer pushed account_created with a plan_tier property the warehouse had never been told to expect. GA4 was receiving both names from different tags. Mixpanel was receiving only the new one, and only on desktop.

We do not update the spreadsheet first. We instrument a walkthrough of the current journeys — sign-up, upgrade, cancel — and record what the page actually emits. Then we overlay the plan. The overlay is the audit: green where names and types match, amber where a property exists but means something else, red where the plan describes a world the application no longer inhabits.

The useful conversation happens in that overlay. Product owners recognise the journeys. Engineers recognise the payloads. Nobody has to defend a document that stopped being true the day the URL changed.

If a similar mismatch is sitting on your desk, request a briefing.