The Definitive Guide to Analytics Tracking Plans
Tags: analytics, productdevelopment, datascience, product
Published: 2020-07-27 12:50:06

In the wise words of Sherlock Holmes: “It’s a capital mistake to theorize before one has data.”

And for product managers to get data in the first place, they need a tracking plan.

When you create and maintain a tracking plan, you give your company, teams, and developers a single source of data truth with which they can solve strategic mysteries. This plan documents the key stages and events of your customer life cycle and gives you a measurable way to see how you are—or aren’t—making progress toward your goals.

Through your tracking plan, you can focus on what data does for your company, not how it weighs you down. Now, let’s uncover what a tracking plan is, why you need one, and how you can create and implement one for your company.


##What is a tracking plan?##
A tracking plan is a document that defines the key stages of your customer life cycle and codifies a single source of truth for the data that supports it. Through this plan, you standardize your data management and capture better and cleaner data (truly, the dream).

But it’s not just a one-and-done kind of doc. Instead, you should give your tracking plan life and nurture it as your company grows so it matures alongside your goals. If done well, this standardized plan will help you keep your analytics well-structured and your stakeholders informed for years to come.

At a high-level, your plan should do three main things:

1. Clarify the events and properties that are relevant to your goals and customer journey
2. Explain the location in the codebase that your analytics should be added to make your developers’ lives easier
3. Summarize the reason for tracking each event and property and how they’ll be used to measure your progress

In an ideal world, these three things—and your tracking plan in totality—should be stored as a central, shareable document that your team can update together, such as a Google Doc or Wiki.


##Why you need a tracking plan##
Your company needs a tracking plan so that you can measure metrics to gain trust in your data and learn from it to make good business decisions.

Now, before we get into all the shiny, amazing benefits of having a tracking plan, we need to talk about the consequences of not having one in place.

In the short term, it may seem like you can get away with ad hoc data management and tracking. But the reality is that most companies can’t trust their data or how they track it. In fact, only 3% of companies have data that meets basic quality standards, and Gartner estimates that bad data can cost you $15 million annually. You read that right.

Unfortunately, all the shiny tracking tools and charts won’t save you that money—or your sanity—if your underlying data is dirty or you can’t make heads or tails of what's going on (as they say, garbage in = garbage out).

The (partial) solution? A well-thought-out and well-maintained tracking plan. We say “partial” because a tracking plan alone won’t fix all of your data woes (see our recent data governance article for another piece to the “good data” puzzle), but it will help you make substantial progress toward the mythical Garden of Good Analytics.

When you develop and enforce a tracking plan, you create a central resource that lets everyone on your team know what data is being tracked, why, and how. This makes reporting easier and more accurate, meaning no more missed events because of messy naming conventions or frustrated developers.

Speaking of developers, your tracking plan makes their jobs much easier by making it possible to edit data before code is written (reducing the amount of backward engineering needed).

And, ultimately, it just makes life easier for everyone involved. From engineering to marketing to product and analytics teams, a tracking plan streamlines how to collect and use data for good.

##How to create a tracking plan##
To create a tracking plan, you need to look closely at the customer experiences and events that drive the most business value and then build a strategy that measures them. From there, you can drill down to establish naming conventions, processes, events, and properties to measure progress toward your goals.

First, let’s clarify what we mean by events and properties: Events are things the user does, such as signing up for a demo, or something that happens to them, such as getting their credit card validated. Properties contain the metadata attached to each event (like a user’s email).

Depending on your industry, what events and properties you track will vary, but the underlying method for identifying them will remain the same.

To uncover the events and properties you should measure, and to ensure that they’re measured consistently, you should:

* Audit the current state of your tracking with your analytics team. It’s important that you front-load this work so you know what’s already been done and what needs to be standardized moving forward.
* Map out your customer life cycle with your sales, marketing, and engineering teams. This will paint the big picture of how customers get from point A to point B.
* Ask questions to narrow down what you want to learn and measure to help shape the events that drive the most business value.
* Identify the events and properties that make the most sense to track based on your business goals and customer life cycle.
* Create and enforce a schema for standardization to give your developers the information they need to implement analytics consistently across the board.

To see what this looks like in practice, let’s consider a fictional company: Airwavr. In the Avo Universe, Airwavr is a new-to-market B2B SaaS company offering video conferencing tools for small, remote teams. We’ll walk through each of the five stages of tracking plan development using Airwavr as an example.

When Airwavr Product Manager Cindy McPaas decided it was time for the company to get their data in shape, she knew she had to get her mind around the current state of tracking (Step #1). While the company was still in its infancy, someone on the engineering team had set up some basic event tracking using Segment to see how many active users signed up for demos. As new developers joined the team, they each adopted some version of this tracking practice into their own code, albeit nonuniformly (the naming conventions were a mess).

Cindy recorded the details, including the various names for the user sign-up event—new_user_signup, user_signup, and New_Signup—and put a meeting on the calendars of her sales, marketing, and engineering team leads. Once they were all on a call together, Cindy and her team worked together to map out their customer journey from acquisition via Facebook ad all the way to when a user upgraded their demo plan to a paid team plan (Step #2).

In doing so, the Airwavr team developed a 20,000-foot view of the journey their customers took from discovery to conversion. But because they had read the handy guide on tracking plans from Avo, they knew better than to try to track every single metric at once. 😉

So they started asking questions (Step #3) to drill down into what events drove the most business value. After some back-and-forth, they realized there were three main events they needed to start out tracking (Step #4):

* When a user signs up for a demo account
* When a user downloads the Airwavr app
* When a user transitions to a paid plan

Finally, after all this hard work, Cindy and the Airwavr team arrived at Step #5: creating and enforcing a schema for standardization. This is where the team resolves all the messy conventions for naming events currently used and gets rid of any junk, irrelevant events that clog up tracking. Their shiny new schema will also outline processes to keep all future tracking code standardized, no matter who is working on it. To make things easier, Cindy then made the finalized tracking plan available as a central, shareable resource via the Airwavr Wiki so everyone who needed it could access it.

We like Cindy. Be like Cindy (and the Airwavr team). 🎉

##Tracking-plan best practices##
Now, before you finalize your tracking plan, it’s important to make sure that it follows best practices so it stays easy to use and follow.

Your tracking plan should be unique to your business, but there are a handful of key best practices that companies in all industries should weave into their tracking-plan schema:

* Track only the high-level macro conversions that matter most, and drill down from there.
* Establish your naming conventions for events and properties early on so it’s easy to keep track of everything being collected.
* Elect a tracking-plan champion, who will be in charge of defining new events and catching errors to ensure standardization, as well as making sure each person on the team receives the training they need to use data autonomously.
* Include one set of properties across every event to make it easy to gain context on what’s being measured.
* Reuse your event and property names to make it easier for folks to get their bearings as time goes on and to keep things standardized.
* Look for templates for your industry that you can take inspiration from and improve upon.
* Bonus tip: Use a tool like Avo to manage your tracking plan from a single source of truth and seamlessly ensure best practices so you can spend less time managing your data and more time learning from it.

Then, once you have decided on the events and properties that matter most and have put the quality assurance processes in place to track them, it’s time to implement.

##How to implement your tracking plan##

Congrats, now you have the draft of your tracking plan! Now, to implement it, you’ll take the event names, properties, and values you identified in the stage above and add them into your tool of choice (via your tool’s GUI or as a few lines of JavaScript directly in your source code). We’re partial to Avo, so we’ll walk you through our easy implementation journey. 🥑

First, you’ll want to add your events to your app’s tracking plan. In Avo, you do this by clicking “add event” on your tracking-plan dashboard. From there, you’ll add the following:

* A clear and concise event name that describes each event
* A event description that summarizes its timing and other necessary context
* The source(s) that the event’s data should be sent from
* The action(s) associated with the event (such as identifying the user or logging a page view)
* The metric(s) that define if the event was a success or not (such as number of conversions to complete email step of sign-up)
* The category the event falls under to help you group together related events

For our Airwavr example, one of your first events will track “plan upgrade,” which signifies when a user selects a paid plan and when their payment method is validated.

As such, in addition to linking to their Airwavr Python source, you should also track actions, such as logging revenue, updating user properties, and logging an event, to get a full picture of all the changes wrapped up in this one event. From the metrics side, you’ll want to keep an eye on the number of users who complete sign-up and the percentage of daily users who register for the demo account. This event will fall under your “user sign-up” category.

We won’t get into the code-level nitty-gritty of how that’s all done in this article, but if you’re curious, check our documentation for more info.


##Make tracking-plan implementation easier with Avo##
So, what do you do now that you have all this info defined in your Avo tracking plan? You delegate and collaborate.

Avo makes it easy for you to manage your entire tracking plan—and all of the sources your app uses—from one central location and send implementation instructions to your developers.

You can do this by navigating to “implement” on your tracking-plan dashboard, where you’ll see options to send instructions and event documentation to your developer, download the Avo file to place directly into your source code directory and git, and initialize a custom analytics wrapper.

As part of the above instructions, Avo will wrap the SDKs of your current analytics tools together so you only have to run one function for each event (instead of separate functions for each different platform). We’re also excited to announce that, as of July 16, you can collaborate with your team on your branches to create a living record of incremental updates and changes.

This not only saves you and your devs’ time by unlocking seamless communication but also decreases the likelihood of syntax or schema errors during and after tracking implementation. 🙌