Updated: Apr 6
⚡Flash quiz⚡What’s the best way to optimize your website’s or product’s experience and conversion rate? Is it….
Obsessive A/B Testing
Customer Journey Mapping and UX
Segmentation and personalization
None of the above, because I’m wicked smart and read the title of this article
If you answered D, congratulations - you know that no amount of analytics magic is going to help you if the underlying data is poor quality! And the key to good quality data? Purposeful and systematic data collection, the backbone of which are 🥁 … tracking plans!
What is a tracking plan, and why bother with it?
A tracking plan can look a bit like the qualas.io generated tracking plan above. It is your single source of truth when it comes to data tracking, and it details the specifics of what user data you want to collect. It is especially relevant if you are using event-based platforms like Mixpanel, Amplitude and Segment, as well as your standard Google Analytics. It may live in an excel sheet or in an interactive tool like the Qualas Figma plugin.
Crucially, good tracking plans can help you with:
Alignment: It provides a space where Marketing, Product Management and Data Analysts can agree on requirements that are both necessary and feasible.
Comprehensiveness: Taking an ad-hoc approach to data tracking is bound to leave you tracking the wrong things at the wrong time. By the time you analyze your data and figure out you’re missing important information, you will have already wasted weeks!
Managing complexity: As your business evolves, so will your tracking. Regularly updating your tracking plan will allow you and new members of the team to understand what is being measured at all times, and will ensure that new additions are in line with previously established conventions.
All of this is just a more complex way of saying: “garbage in, garbage out”! So, stop bothering your developer on slack with random tracking requests, and start working on that clean, lean and pristine tracking plan!
Without further ado, these are some best practices you should consider when creating your tracking plan!
1. Define your main goal and KPIs 🎯
Before you write anything down, think carefully about what your business, product or website aims to achieve, and how you plan to measure success and diagnose failure. Break that data into relevant metrics, meaning the user actions that are most closely tied to captured value. A streaming service, for example, maybe predominantly interested in the time you spend on their platform or the kind of content you consume above all else.
Understanding your goals will allow you to be both comprehensive and concise so you can track all you need, but refrain from tracking everything! Tracking too much is the #1 mistake novices make, and it only causes you and your team to work more on gathering data you won’t need, but that will slow you down when you clean and analyze it.
2. Define User Interactions 🧑💻
Once you understand what questions you want to answer, go through the relevant user journey step by step, and pinpoint those interactions that you want to track in your analytics. A great place to do this is Figma, where your entire organization can clearly see how steps in the user journey relate to each other.
The key at this step is, once again, being clear and succinct. You want enough information for your developer to quickly understand what interactions you want to be tracked, and crucially where they are located. You can describe all of these through comments. As a bonus, you may want to keep a category column that allows you to categorize interactions for sorting and analysis. You may classify interactions as part of the “happy” or “unhappy path” (i.e. your main user journey and unwanted deviations from it), or be more granular in your approach (e.g. “checkout flow”, “sign in flow”, “browsing menu”).
Since a picture is worth 1,000 words, Qualas includes clickable screenshots that take viewers directly to the interaction location on the Figma canvas, and allows you to add comments and tags. You can also view every interaction as a label on the canvas, so you can be sure you didn’t skip any important user steps.
3. Agree on naming conventions for your events and properties! 📒
While an interaction is an action your user takes, an event is the data point that defines that interaction, recorded upon a certain trigger. Every event can have multiple properties, which describe information about the event itself.
In order to keep some distinction between these levels and ensure no mix-ups, you may want to agree on naming conventions. For example, when a user signs up on your website, their interaction consists of populating text fields and clicking on the sign up button. This click is your event trigger, which will cause the recording of your event. The event itself might be named “Signed_Up”’ (note the “_” convention for event names), and associated properties might be their “FirstName” (note the no space convention for event properties) as string, their “Age” as a number, and their “Gender” as an enum (i.e. a selection among options). So it may look something like:
Event name: Signed_Up
Trigger: Once the user fills fields and clicks on the “sign up” button at the bottom.
Trigger type: click
Property 1: FirstName:string (e.g. John)
Property 2: Age:number (e.g. 34)
Property 3: Gender:enum (e.g. male)
Keeping your events and properties consistent will not only aid your engineer’s understanding but will ensure that you avoid common tracking mistakes like double tracking (e.g. creating a “UserSignedUp” when “Signed_Up” already existed), especially when new team members come in. For the same reason, you should aim to reuse your events and properties as much as possible across different sections of your product or apps.
4. Define Source and Destination 🔗
This goes without saying, but do take the time to think about where and how you want your tracking to be implemented. Users may switch from native apps to mobile sites and desktop browsing throughout their journey, and you may have touchpoints exclusive to each of these mediums. In addition, you may be using separate platforms to measure different types of events for different end-users in your organization.
What’s often overlooked is the distinction between client-side, server-side and external systems. For example, the “Sign-up” interaction we just mentioned is usually a client-side event, i.e. data on the interaction is recorded using 3rd party cookies on the client’s browser. However, for any interaction which relies on server-side backend processes, like your customer creating a project in your native app, you may use server-side tracking. In addition, you should use server sidetracking for any interaction you need to track with perfect accuracy: Safari and Firefox block all cookie tracking and AdBlockers have become widely used, meaning that up to 30-60% of your data might be lost on the client-side! Lastly, do not forget events external to your systems, such as those from third-party apps. For example, you may want to track the support tickets issued by your customers on services such as Sales Force’s Help Desk.
5. Status and Continuity ✅
Not including the status of your tracking plan is one of the biggest mistakes companies make. As we previously outlined, a perfect tracking plan without proper follow-through is worthless. For your source of truth to be, ahem, truthful, make sure you take the time to go back and note down any changes or status updates that might affect your tracking plan. This includes changes in things like properties, as well as the updates in your status, which may be “drafted”, “implemented but not tested”, “awaiting bug fixes”, “live”, and so on. You may also set 20 minutes aside every couple of weeks to double-check with your team that nothing has changed without documentation.
Now, if all of this sounds like a hassle, remember that there are always tools that you can reach. If you do your tracking in Figma, you can use the Qualas Figma plugin to define all your tracking, send it to Jira and get automated status updates on the implementation, all without ever leaving Figma!