<!-- PM-Skills | https://github.com/product-on-purpose/pm-skills | Apache 2.0 -->
An instrumentation spec defines what analytics events to track, when to fire them, and what properties to include. It serves as a contract between product and engineering, ensuring consistent data collection that enables accurate measurement. Good instrumentation specs prevent the "we can't answer that question because we didn't track it" problem.
-
Define Analytics Goals
Start with the questions you need to answer. What will you measure? What decisions will this data inform? This prevents over-instrumentation while ensuring nothing important is missed.
-
Identify Events to Track
List each user action or system event that should be tracked. Follow consistent naming conventions (typically
or
in snake_case). Each event should represent a distinct, meaningful action.
-
Specify Event Triggers
For each event, describe exactly when it fires. Be precise: "When user clicks Submit button" vs. "When form is submitted successfully." These are different events with different meanings.
-
Define Event Properties
List the properties (attributes) attached to each event. Include property name, data type, description, and example values. Properties provide context that makes events useful.
-
Document User Properties
Identify persistent user-level attributes that should be associated with all events (e.g., subscription tier, account creation date). These enable segmentation in analysis.
-
Address PII and Privacy
Flag any properties that contain personally identifiable information. Document how PII should be handled . hashing, encryption, or exclusion.
-
Create Testing Checklist
Define how QA should verify that tracking is implemented correctly. Include steps to validate events fire at the right times with correct properties.