Design and implement an event tracking plan for a real or modelled product, then prove it works. The plan must define the event taxonomy before any code is written, choose the right scope for each custom dimension, and be verified in DebugView before it is called done.
Write the taxonomy before touching GTM. Renaming events later does not backfill history, so an inconsistent name shipped today is a permanent seam in your reporting.
Convention: object_action, snake_case, past tense
✓ checkout_started, plan_selected, trial_converted
✗ StartCheckout, click_button_1, purchase
Custom dimensions:
plan_tier user-scoped (persists across sessions)
checkout_step event-scoped (differs per event)
traffic_medium session-scoped
DebugView verification:
checkout_started { value: 89.00, currency: 'USD',
plan_tier: 'pro', step: 1 } ✓
6 of 6 events verified with parameters.