Ecommerce that sets you apart. It's a beautiful thing.


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:



          properties and 


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:

lesson 7

Tracking plans for B2B companies

For businesses that sell their services or products to other business, they have differing needs to businesses that sell to consumers when it comes to marketing and monetization. These businesses must learn to understand their customers on company level as well as user levels like understanding where their workspaces that have more than one users are at or where users are getting stuck in the funnel. This lesson takes a close look at how to set up tracking for more complex business relationships.

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.