🤔 What is a tracking plan?
The companies who have the most success leveraging data have one thing in common: they have a data tracking plan in place. A tracking plan helps codify a single source of truth for what matters to your business. It enables you to standardize data collection by capturing clean, well-structured product analytics data from the start. And it evolves with the changing demands of your business. A tracking plan tries to answer the following:
- What are the metrics we care about as a company?
- What data is needed to answer those metrics?
- How can I ensure the data being captured is trustworthy?
Depending on the stage of your company, you might be starting from scratch or have some analytics in place. If you have analytics in place, we recommend conducting an audit to make sure the data that you are capturing is accurate. Many organizations struggle to maintain reliable data, often leading to teams no longer trusting their data or abandoning it altogether.
"You can have the best charts, analysis, and data exploration tools but without the right data—useful, trustworthy, understandable, and accessible data—you’ll struggle. A well managed taxonomy and lightweight governance are invisible force multipliers."
– Spenser Skates, CEO of Amplitude
🎯 Why create a tracking plan?
The biggest challenges that we see teams facing with their analytics are:
1. Lack of cohesiveness
This often happens when you have two different teams tracking the same event, the iOS team named the event Song Played while the Android team named it Played_song. When your events lack cohesiveness, your team wastes time trying to understand what the events mean instead of making use of them.
2. Garbage in, garbage out
Teams don't know what to capture, so they try to capture everything. Boiling the ocean makes it hard to understand what's important or validate the integrity of your data. We recommend starting small and prioritizing the metrics and events you care about. Think of analytics as a feature, ship the MVP, and then continue to invest over time as the data maturity or your organization grows.
👨💻 How to create a tracking plan?
To avoid the common pitfalls that teams face it's important to codify your analytics strategy into a tracking plan. There are two primary roles to think about when creating your tracking plan, the developer who has to implement tracking and the data consumer who needs to answer questions from the data. It's imperative to keep these folks on the same page. Our top recommendation when creating your tracking plan is to:
1. Establish consistency
Similar to writing code, establishing a set of conventions from day one will make your data easier to understand for everyone at your company.
- Naming convention: (e.g. snake_case, camelCase, Title Case)
- Tense: choose present-tense or past-tense (e.g. song play or song played), we recommend past-tense.
- Object-Action Framework: first choose your objects (e.g. Song) then define actions users perform on that object (e.g. Played, Paused) to construct events like "Song Played" or "Song Paused".
It's important not just for your event names but also for the properties on those events. Properties describe the context of the event; this allows your analysts to be able to group, filter, and cohort events.
2. Determine your goals and metrics
We talked about this in prioritizing outcomes over outputs, but it is important to start with your goals and metrics.
Let's walk through this together, imagine that you have an OKR to improve customer acquisition in Q1. Before you pick your target, you need to know the baseline so that you choose a realistic outcome. This requires you to know what metric you'll be measuring and how you're going to be calculating that metric.
If your primary metric for acquisition is conversion rate, you'll need to make sure that you're measuring the number of sign ups divided by unique visitors. You might need to include additional properties such as campaign or experiment so that you can attribute the effectiveness of your teams work on the metric.
3. Enforce the schema
All of this is a waste of time if there is no process to ensure that the tracking plan is implemented correctly in the product. The best way to do this is to enforce the schema in code so that it's not purposely or accidentally ignored. Iteratively does this by auto-generating an SDK for your development team that gives them autocomplete, inline documentation, and automated testing for analytics.
Another benefit of having your schema in the form of code is that you can now use it to automatically QA your analytics. When a developer refactors the code, you can detect that events have been removed before the change hits production. This allows developers to move fast while making data outages a thing of the past.
📝 Tracking plan examples
There are a variety of ways that you can implement your tracking plan. Most vendors have created their own specific spreadsheet template that you can get started with: Mixpanel, Amplitude, Google Analytics, and Segment or this one from Data-Led Academy. While this works great to get started it doesn't solve the problem of iterating on your analytics overtime or enforcing the schema as part of the developer workflow.
A few other companies like Airtasker, CircleCI, and ezCater have gone further and have built their own internal solution to solve the issue of data integrity. There are some great lessons learned from their experiences.
And finally, we've built Iteratively to help teams solve this problem once and for all. We let analysts define metrics and events consistently, and help developers instrument them reliably. As a result, companies get clean customer data right from the start.
If you're looking for help on your analytics tracking plan, get in touch. We're happy to offer advice and, if it makes sense, get you up and running with Iteratively.