Solid write up. Anyone who has worked with product analytics or event tracking to any significant degree goes through a similar epiphany, in my experience.

It usually comes down to context vs consistency - client-side provides more context (IP, referrers, etc) and server-side provide more consistency (data integrity, events always firing, etc).

Pushing for server-side implementation for the events also helps with reducing the number of events, since it forces PMs/ biz/ whoever to identify the activities they care about. Usually it translates directly to engineering work, too, so there is a cost-benefit component to reducing the number of events to a more meaningful number. Also, it allows for "generic" events, where the fundamental event is the same - signed_up, for instance - but the mechanism through which it occurs can have many different flavors

Expand full comment

Perfect extension. Thanks for that, Joe.

From my experience, it comes down to the engineering team. When they are highly motivated and understand the value of the data downstream, they invest to build scalable and testable server-side setups.

And with every WWDC keynote, we get new things that reduce the value of client-side data - at least for Webkit browsers.

Expand full comment