Originally Published on May 19, 2022
This is part five of the five-part series on and an excerpt from .
Start by asking questions.
To decide which events to track and what data to gather, you need to list down questions you have about your users and their product usage.
You will realize that there’s so much you want to know once you begin listing your questions down. Questions beget more questions, and when that happens, you will probably want to get all the answers at once. Due to how this process makes most people feel, let’s refer to these questions as burning questions.
If you don’t feel that way, you are probably not keen to know much or have a strong conviction in your assumptions. However, don’t let that hold you back from asking questions—you might be pleasantly surprised or utterly disappointed when you find out the answers.
It is much easier to ask questions of data once you’re able to —but this can also be counter-productive if you keep building reports or visualizing data without first asking the burning questions.
Burning questions
can be straightforward like “how many users signed up in the last 7 days?” or complex like “how many users from the signed up in the last 7 days and invited another user to their organization?”
When thinking about burning questions, it helps to start listing down the following actions:
- Actions a user must perform in order to reach the (activation event)
- Actions that indicate that a user is ready to make a purchase or upgrade an account
- Actions that fuel user engagement and keep a user retained
- Actions that signal that a user is not deriving enough value from the product
- Actions that potentially lead to a user getting churned
It’s also a good time to start questioning the product experience and mull over your core offerings. The following questions are applicable to a majority of tech products:
- What is the time to value or how long do users take to reach the ?
- What are the various paths that users take after signing up?
- What are the points of friction in the ?
- What are the features most used by ?
- What are the least-used features by paying users?
- What features lead to the conversion of free users to ?
Events and event properties
Once you have a list of the burning questions (between 5 and 10 is a good number to start), you can move on to the most critical step—defining events and event properties.
This is where you finally start .
Besides the core events, you should also start thinking about the various pieces of data that you would like to gather when a particular event takes place. contains examples of some common events and associated properties that will provide some context into how to think about this process.
There are a few more things covered below that you must know before you start creating a tracking plan.
Clicks, views, and processes
It’s very important to be mindful of the differences between clicks, views, and processes that take place inside your product—every button that is clicked, page that is viewed, or process that is completed can be tracked as a unique event.
Also, in some cases, an event can be tracked as any one of the three—a , a button click, or a process completion.
Let’s take a closer look using a hypothetical sign up flow:
First, the user clicks the sign up button on the homepage to visit the sign up page.
Here, the event performed can either be tracked as a button click (sign up button on the home) or a page view (sign up page).
Next, the user fills up the registration form, clicks the submit button, and lands on the thank you page. If everything goes well, the submission reaches the database and a new row is created.
Here, the event performed can be tracked as a button click (submit button), a page view (thank you page), or a process completion (new row in the database).
Therefore, how you choose to track events completely depends on your use cases, and sometimes, it might even make sense to track a button click as well as a page view or process completion at the same time.
That said, if your objective is to , you should avoid event redundancy by making sure that a user action is not tracked multiple times (sign up button clicked and sign up page viewed).
Page viewed
To track page views, you may specify a unique event for each page such as Sign Up Viewed. However, that will make your event list ridiculously long when you want to track page views for every unique page.
Instead of defining a separate event for each page, you can specify a generic event called Page Viewed with event properties as follows:
Button clicked
Like page views, button clicks should also be tracked via a generic event such as Button Clicked with associated properties as below:
Process completed
Processes take place as a result of an interaction with a database where data is either written (in a specific table) or retrieved (from a table)—if the interaction fails, the process fails.
Hence, tracking the completion of a process is the most reliable way to track events that rely on the completion of an interaction with the database.
Here’s a scenario that is far too common:
A user clicks the submit button after filling up the sign up form only to be presented with a validation error such as “the password must contain a special character.” Here, the user performed the event Button Clicked but actually did not complete the sign up process.
Similarly, if the user clicks the submit button but a server-side error occurs, then the process fails and the user data does not make it to the database. So even though the user submitted the sign up form successfully, the sign up process was left incomplete.
Therefore, it’s crucial to think about the entire process (or the database interaction) that should be completed when an event takes place.
Additionally, you must also know if a user signs up for your product but doesn’t verify their email address—one way to do this is to check if users log in after signing up (which can only happen after the email is verified). But then there could be users who do verify the email but never log in.
Thus, a better approach could be tracking 2 separate events—Signed Up (sign up process completed) and Email Verified (email is verified).
This will also tell you how many people sign up but don’t verify their email, enabling you to resend the verification email after a day or two.
Client-side vs. server-side events
Events such as clicks and views that don’t rely on database interactions (or backend processes) are essentially client-side events.
Client-side events take place exclusively on the client (or the user’s device) and are also referred to as frontend events.
On the other hand, events that rely on backend processes are referred to as server-side events. As the name suggests, server-side events take place on a server when a database interaction is successfully completed.
Server-side events are also referred to as backend events.
Knowing the difference between helps in the instrumentation process as the two types of events are usually implemented by different people in an organization.
It’s always helpful to specify the event source in your tracking plan even if a full-stack developer is tasked with the implementation of .
Event tracking next steps
This brings us to the end of the five-part series on . To start tracking your events today, read , then .