Creating a tracking plan

Why creating a tracking plan is key to your analytics strategy and some tips on how to get started.
Patrick Thompson
August 20, 2019 5 min read

Table of Contents

Introduction to tracking plans

The companies who have the most success leveraging data have one thing in common: they have a 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 data from the start. And it evolves with the changing demands of your business. A tracking plan tries to answer the following:

  1. What are the metrics we care about as a company?
  2. What data is needed to answer those metrics?
  3. 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.

Common pitfalls

The biggest challenges that we see teams facing with their analytics are:

1. Lack of cohesiveness

Data Quality

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.

Best practices

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 analyst 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.

Goal Increase acquisition by 15% in Q1
Metric Conversion Rate = User Signed Up / Unique Visitors
Event User Signed Up
Properties user_id, campaign, experiment, referrer, etc...

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.

Schema

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.

Implementation

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, or Segment. 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.