Instrumentation specification template
An instrumentation specification describes how measurement should be implemented in the product.
It translates product questions, workflows, events, properties, and metrics into clear requirements that engineering and analytics teams can build, test, and maintain.
The specification is not just a list of event names. It should explain what behaviour needs to be captured, when each event should fire, what context is required, and how the event will be used.
What this is
This is a copyable template for turning measurement design into implementation detail. Use it when tracking needs to be built, changed, tested, or reviewed.
Acceptance criteria are the most important part. Without them, tracking can look implemented but still fail to produce trustworthy evidence.
When to use it
Use an instrumentation specification when a team is adding, changing, or reviewing product tracking.
It is useful when teams need to:
- implement new workflow events
- update tracking after a product change
- define event fire conditions
- specify required properties
- connect events to metrics
- test whether tracking works as expected
- reduce ambiguity between product, engineering, and analytics
A specification is especially useful before a release, when instrumentation needs to be treated as part of delivery rather than added afterwards.
What an instrumentation specification should include
A useful specification should give enough detail for teams to understand and test the tracking.
At minimum, include:
- product question
- related workflow
- workflow step
- event name
- event description
- fire condition
- conditions where the event should not fire
- required properties
- related metrics
- acceptance criteria
- owner or reviewer
- implementation status
These fields help the team connect implementation details back to the measurement purpose.
Template
Product question:
[What question this tracking helps answer]
Related workflow:
[Workflow name]
Workflow step:
[Meaningful step the event relates to]
Event name:
[event.name]
Event description:
[Plain-language description of what happened]
Purpose:
[Why this event is needed]
Fire when:
[Exact condition that should trigger the event]
Do not fire when:
[Conditions where the event should not be captured]
Required properties:
- [property_name]: [description and expected values]
- [property_name]: [description and expected values]
Optional properties:
- [property_name]: [description and expected values]
Related metrics:
- [Metric name]
- [Metric name]
Acceptance criteria:
- [How the event should be tested]
- [What must be true for the implementation to be accepted]
Owner or reviewer:
[Person, role, or team]
Implementation status:
[Not started / planned / implemented / tested / needs review / retired]
Notes:
[Any useful context, assumptions, dependencies, or known issues]
The format can be adapted for a ticket, spreadsheet, product requirements document, analytics workspace, or documentation site. The important thing is that the specification is clear enough to implement and test.
Example: registration form submitted
Product question:
Are users able to create an account and access the product without unnecessary friction?
Related workflow:
Register for an account
Workflow step:
Submit form
Event name:
registration.form_submitted
Event description:
The user submitted the registration form.
Purpose:
Show that the user attempted to submit their registration details.
Fire when:
The user submits the registration form and the submission request is sent.
Do not fire when:
The user clicks submit but client-side validation prevents submission.
Required properties:
- entry_point: where the user started registration
- device_type: device category used by the user
- workflow_version: version of the registration workflow
Optional properties:
- organisation_id: organisation associated with the user, where applicable
Related metrics:
- Form submission rate
- Drop-off before email verification
- Time to complete registration
Acceptance criteria:
- Event fires once per valid submission attempt.
- Event does not fire when client-side validation blocks submission.
- Required properties are present.
- Property values match agreed formats.
- Event appears in the analytics environment.
- Event can be associated with the relevant user or session identifier.
Owner or reviewer:
Account access product team and analytics reviewer
Implementation status:
Planned
Notes:
This event captures submission attempt, not successful account creation.
This example keeps the event connected to the workflow, metric logic, and testing criteria.
How to use the template
Start with the product question and workflow before defining the event.
Then work through the specification in this order:
- define the workflow step
- name the event
- describe the behaviour being captured
- specify when the event should and should not fire
- list required properties
- connect the event to metrics
- define acceptance criteria
- assign an owner or reviewer
This order helps prevent teams from naming events before they have agreed what behaviour needs to be captured.
Common mistakes
Common mistakes include:
- starting with event names before defining the workflow
- omitting fire conditions
- failing to say when an event should not fire
- adding properties without explaining how they will be used
- missing acceptance criteria
- treating tracking as complete before it has been tested
- failing to update the specification when the product changes
- leaving ownership unclear
These mistakes make events harder to trust and metrics harder to explain.
How to maintain it
An instrumentation specification should be updated when the workflow, event, properties, or related metrics change.
Review the specification when:
- a workflow step is redesigned
- an event changes meaning
- a property is added, removed, or renamed
- a related metric becomes important
- a dashboard depends on the event
- confidence in the tracking drops
- implementation differs from the original requirement
The specification should not become a one-off delivery document. It should remain part of the measurement system’s operating record.
Related articles
- Writing instrumentation requirements
- What makes a good event?
- Event naming convention examples
Key takeaway
An instrumentation specification turns measurement design into testable implementation detail.
It connects product questions, workflow steps, events, properties, metrics, and acceptance criteria so teams can capture reliable evidence and maintain confidence in the measurement system.