Spreadsheets + Web Analytics = Pain

How Tracking Plan Spreadsheets Cause Data Issues

While spreadsheets are a common tool for managing tracking plans, they can lead to data inconsistencies as your data and events scale.

One of the most common ways to manage tracking plans is with spreadsheets. They're a familiar tool, flexible enough to handle a variety of use cases, and most analytics platforms (like Amplitude) provide an event tracking plan template that helps teams get started. However, as your data and events scale, spreadsheets can become a source of pain and frustration.

Detachment between events and data models.

Let's say you're looking a user's journey through your app for some conversion tracking. You start by defining a user as the following:

User {
  id: number;
  email: string;
}

Then you define an event, user_signed_up, that tracks when a user signs up:

user_signed_up {
  user_id: number;
  timestamp: Date;
}

Some time passes and the user model is updated such that user.id becomes a string.

User {
  id: string;
  email: string;
}

In addition to this change, we now have 10 events that are referencing the user.id field.

user_signed_up { ... }
user_clicked_product { ... }
user_viewed_image { ... }

...(and so on)

Unfortunately, you now have to go through each event and update the user.id to reflect the new data model. If not, all of your data ends up being inconsistent and potentially unusable!

Never track the wrong data again.

events.win attempts to solve this problem by letting you create one source of truth for your data models whose changes are automatically reflected in your events. This way, you never have to worry about data inconsistencies again.

When you define a data model in events.win, changes are applied instantly! Afterwards, developers can use the @events.win/cli to immediately update the events in their codebase. These events in the code use the types you define and include the descriptions as comments for extra context.

Overall, this approach helps you keep your data consistent and ensures that your events are always up-to-date. No more spreadsheets, just notify your team of the changes and they'll be good to go!