When launching new products, the most successful teams plan out their analytics implementation by creating implementation specs or tracking plans.
In this lesson, we'll share a simple approach to creating a tracking plan that will help minimize the time and resources necessary to get your analytics set up quickly and effectively.
What is data tracking?
Data tracking is the process of collecting, identifying, and categorizing individual data points throughout the data pipeline so they can be used in data analysis. Data tracking encompasses the tools companies use to organize their data as well as the ethical framework they use to protect user privacy and security.
What is a data tracking plan?
A data tracking plan is a strategy that businesses devise to clarify what events they need to track and the tracking methods they’ll use. Data tracking plans will cover details like where events need to go in the code base and why those events are necessary from a business perspective.
Tracking plans not only help everyone stay on the same page during data collection and implementation, but they also make it easy for engineering, product, marketing, and analytics teams to use and understand the data you collect.
Ideally, your tracking plan should be in a format like Google Sheet or Wiki that's easily shared and updated by multiple stakeholders. Alternatively, Segment Protocols allows you to manage and enforce your tracking plan from the Segment app.
A good tracking plan does the following:
Summarizes which events and properties need to be added
Justifies why they need to be tracked
Details where in the code base they need to be added
Informs stakeholders of progress/completion
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 how you track data.
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)
user activation rate
user satisfaction (NPS)
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.
Data tracking 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 percentage of users that become activated or engaged after they sign up.
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."
For Segment, we consider a customer to be active if they are sending data to two or more integrations.
First, the customer must create an account. We use "Account Created" for this event.
From there, one of our key activation events is "Integration Enabled" because it means they have set up an integration using Segment. The other key activation event is "Data Sent" because it means they are successfully using Segment to send data to a different tool—the first step towards getting value.
Now it's time for you to answer: What is a key event that indicates your users are gaining considerable value from your product?
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 lots of options out there.
What properties should you include?
.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 analytics to group, filter, and cohort 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 is more." 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
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 impact activation.
By tracking these two events, we can really easily measure activation, and also find out more context about what impacts 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 Amplitude, Drift, Customer.io, and more have similar schemas.
Ready to get started?
When getting started, follow these rules when creating your tracking plan to keep it neat, tidy, and semantically useful:
Don't create event names dynamically
Don't create events to track lower-level properties
Make sure every event helps you answer a question about your business
Start with your core customer lifecycle to construct your funnel
Only add events as you feel they're missing
Data Tracking Plan Examples
Because tracking plans can be a somewhat new concept for teams to become acquainted with, we've developed sample tracking plans for a variety of industries and use cases.
Basic Tracking Plan
Below is a simplified version of our tracking plan to help get you started. We recommend starting with a plan like this before digging into more complicated tracking.
Data Tracking Plan Template
A data tracking plan helps businesses clarify what events they’re tracking, how they’re tracking them, and why. Use this template to help create your own tracking plan.
Full Tracking Plans
We have also created industry specs to help our customers get started (and also for our own Segment tracking).
This may seem like a lot, but creating a tracking plan is worth it. The more you plan today, the better your data will be in the future!