Subscribe to get a new lesson each week!

How to Create a Tracking Plan

When adding tracking to their products, the most successful teams front-load the planning by building a tracking plan. A tracking plan (also known as an implementation spec) helps clarify what events to track, where those events need to go in the code base, and why those events are necessary from a business perspective.

This post will define a simple approach to creating a tracking plan to help minimize the time and resources necessary to get analytics setup.

What do you want to know?

Adding analytics is instrumental in both the “Measure” and “Learn” steps of the Build-Measure-Learn process we mentioned in the first lesson.

So, the best approach to speccing out analytics is to figure out what exactly you want to learn about your product or business in the form of a question, goal, or key metric. Asking a question encourages a more targeted and structured approach to separating meaningful events from the noise. Tracking Clicked Red Button probably isn’t going to help you figure what marketing channels are moving the needle.

If this is your first time adding analytics to your product, here are some broad questions that you can ask to help you get started:

  • Acquisition: what channels are best for getting new users?
  • Activation funnel: where are people dropping off in our product?
  • Retention: how do we reduce churn?

Questions can also be more targeted, which will create a narrower set of events to track:

  • Will this variant of the pricing page drive more sign ups?
  • What is our customer lifetime value?
  • How can we improve our activation funnel?

After coming up with the question, the next step is to create a list of metrics that need to be measured to help answer your question. Ultimately, defining these metrics will dictate what data needs to be tracked.

To maintain focus, it is critical for you to determine the One True Metric that Matters for your business in its current stage. The idea here is two fold: to monitor on one metric at a time (which can change as your business evolves) and to create and encourage focus.

You could have a million questions and a million metrics, but what’s most important right now?

What metrics can help you answer your question?

While the necessary metrics can vary greatly from question to question, here are some examples to help you get an idea of how they work together:


  • growth rate of new users
  • user attribution (knowing where the user came from)


  • total users
  • user activation rate
  • active users


  • churn rate
  • user satisfaction (NPS)
  • engagement

What is our customer LTV?

  • average revenue per customer
  • frequency of purchase per customer
  • time to payback customer acquisition costs

Will this variant of the pricing page drive more sign ups?

  • Pricing page view to signup conversion rate

..and so on.

The metrics help answer your question and generate a set of events that you’ll need to track. Win, win!

As an exercise, let’s cover ‘activation rate’ first to see how we can extract the set of events to send.

Example: Activation rate

Activation, or the process of turning a new user into an engaged user, is a key step in the conversion funnel. The activation rate, therefore, is the % of users that become activated or engaged.

To get the activation rate, we need to divide “active” users by total users. “Active” here depends on your business, but should suggest that the user is engaged and on his or her way to becoming a paid user.

We can break down the definition of “active” by understanding the key customer behaviors that indicate when a user gains considerable value from your product.

For example, for community forums, some activation events can be “Voted” or “Commented,” as they indicate participation from the user in the forum rather than “lurkerdom.” Here’s an awesomely detailed article from GrowthHackers about the events they track and why.

For Segment, one of our key activation events is “Data Sent”, because it means people have actually integrated our product—the first step towards getting value. Here’s more information about how we came up with our core activation funnel events.

Now, it’s time for you to answer: What is a key event that indicates your users are gaining considerable value from your product?

GrowthHacker's set of user engagement events

This is Charlene Li’s set of user engagement events for communities.

What events should you track?

Let’s turn those data points into events. If you haven’t added any tracking events, now is a good time to discuss naming conventions. Similar to style guides in programming, a consistent naming convention will make it super easy to jump in later and understand exactly what an event you’re tracking in an end tool means.

We like the Object-Action framework, but there are tons out there.

Using the Object-Action framework, our events then become:

  • “Account Created”
  • “Data Sent”

Almost done!

What properties should you Include?

Each .track() call can accept an optional dictionary of properties, which can contain any key-value pair you want. These properties act as “dimensions”) that allow your end tool to group, filter, and analyze the events. They help give you additional detail on broad-based events.

Again, though you could conceivably throw anything you want in there, it is best to err on the side of less. Wait until you have a question that requires grouping or filtering out a subset of the customer data before adding the necessary property.

In our example, for the “Account Created” event, let’s say we also want to analyze how activation changes by marketing channel. We can answer that by passing this parameter in the .track() call:

analytics.track('Account Created', {
  referral_url: '',
  referral_utm_source: 'ycombinator'

Then, in the end tool, you’ll be able to group all users who came in from different URLs when Account Created was triggered.

For the “Data Sent” event, we might want to know which libraries are the most popular and how having different numbers of libraries and integrations affects activation.

analytics.track('Data Sent', {
  library_slug: 'Analytics.js, node',
  library_number: 2,
  api_calls_per_week: 892,
  integration_slug: ', Intercom, Google Analytics',
  integration_number: 3

By tracking these two events, we can really easily measure activation, and also find out more context about what affects activation based on the properties.

Most customer data tools support the notion of passing a dictionary of properties with a track event. This is what it looks like in Segment code, but most tools like Mixpanel,, and more have similar schemas.

Now it’s your turn. Write down the top 3 questions you have. Develop a list of events you need to answer those questions. Add in the properties.

Nice work! But keeping this good info to yourself won’t do you much good.

How to create a tracking plan

To help everybody stay on the same page on the tracking implementation, it helps to have something sharable and editable by multiple stakeholders that details the things you just decided. We’ve found using Google Sheets to be great for this.

Here is an example Google Sheet for Segment’s own tracking plan.

The sheet serves the below purposes:

  • summarize which events and properties need to be added
  • detail where in the code base they need to be added
  • inform stakeholders of progress/completion
  • justify why they need to be tracked

Segment's Tracking Plan

Tracking plan taken from Diana Smith’s wonderful talk on measuring B2B engagement.

After creating the tracking plan, you can start implementing the tracking code and get your questions answered!

Get your questions answered

Don’t say we didn’t warn you. Tracking events willy nilly will make it really hard to manage your tools down the road. Remember, garbage in, garbage out— if inaccurate or inconsistent data clutters your customer data tools, then you might as well go back to committing code directly to master, ya dingus!

This approach will help you focus on the metrics that matter to you, as well as tightly scoping the implementation. Since you derived the set of events to add from a question, you’ll have a clear idea of your company’s or product’s direction based on the metrics over time.

Next article

Navigating the Sea of Customer Data Tools

Start your free email course today!