Measuring user engagement at a granular level is a critical pre-requisite to making data-driven optimizations and to evaluate adoption and performance of features.
Any action the user takes within an app (app opens, account registration, navigation between screens, button presses, content shares, purchases, etc.), as well as things that happen within the app programmatically (e.g. an enemy spaceship is destroyed, level is complete, account successfully created, etc.) is a candidate for tracking as an ‘Event’ as part of the analytics implementation. The analytics SDK will typically transmit these events along with any additional metadata relating to this occurrence of the event (typically referred to as ‘Event Properties’) to a server when network conditions allow.
Aggregating and storing event data sever-side for analysis in a web-based dashboard is by now common practice and many analytics tools exist to simplify this task. Such quantitative event data shows how users are interacting with the app/game, which features are most/least used, can help identify bugs (e.g. if event counts suddenly nosedive, the feature associated with the event may be broken) and allow the visualization of engagement funnels for key user paths. Additionally, sever-generated marketing campaigns or activity notifications can be triggered by events and possibly personalized with event property data.