
The anatomy of a .track()’ call
Being able to maintain a clean and easy to use consistent naming convention is great but being able to send a ‘.track()’ call is even better as it can step up your monetization efforts enormously. It helps you create funnels and understand cohorts as you explore your data. You’ll also leave a smaller code footprint when using a tracking plan which is easier to maintain.
Event based data monetization
Most marketing and data monetization automation tools available are event based. When a customer does something on your app or website, the resulting action is an event such as video played or sign up and each time an event happens, it is recorded in your database. Most tools use a .track() to record an action and if you are consistent about what you add to your .track() calls, you can have a powerful and flexible monetization.
What is a ‘.track()’ call?
.track() call is used to get the smallest bits of data in your monetization database. There is a representation a unique row where the actions a user performs on your site are shown with more contextual information like where, when and when the action was taken. These records can help you better understand your funnels, product usage and trends. You can also trigger sending personalized messages using your email tool. .track() calls capture much more than the event name, it also gets contextual specific like the user performing the action and the timestamp.
Every .track() call has the following:
UserId
event
properties and
timestamp
UserId: this is the unique way of identifying a user. It also serves as a means of tying events back to a particular events and following them over time to get useful data and cohorts.
Event: you can make usage reports and trends based on the event names which is why It’s important to have a consistent naming convention and stick to it so carrying out monetization would be easy without wondering whether you have the right event or not.
Properties: these are the values and keys that give more context to an event like specifying what video was played. The values are key to giving more dimension to events which you can use to dice and slice your data so they’re great for getting specifics.
Sent_at (timestamp): this is used to represent when an event was not explicitly sent but your libraries will record and send it automatically. This comes in handy when ordering events chronologically or examining events over time.
Do’s and Don’ts of tracking
Below are a few do’s and don’ts for .track() calls.
Consolidate events
For single events names DO consolidate events with multiple values in the properties
DON’T have multiple specific event names.
No nested properties
DON’T share nested properties
DO share flat properties
A lot of the time fewer event names can be used to answer the same question. It’s even better if you include relevant data within its properties. This helps you make your implementation easier while you learn more about your customers.

Get lessons like this one delivered to your inbox!
Enter your email below and we’ll send Analytics Academy lessons directly to you so you can learn at your own pace.
Choosing the right data
Next lesson:
Get every lesson delivered to your inbox
Enter your email below and we’ll send Academy lessons directly to you so you can learn at your own pace.


Get every lesson delivered to your inbox
Enter your email below and we’ll send Academy lessons directly to you so you can learn at your own pace.