This section discusses what kinds of events are tracked by Smartlook, how they are made available in the dashboard, how they relate to user privacy, and how to control the level of tracked events.
Smartlook tracks two interconnected types of events. User interaction events, i.e., finger touches, gestures, UI element focus and such, and analytics events, by which Smartlook understands button clicks, navigation between screens and similar events that initialize an action in the application.
More info about how user navigation is tracked could be found in Recording Navigation.
There are no known performance issues related to event tracking. Tracked events, however, especially those that are visualised during the session playback, can compromise sensitive user data.
Smartlook tracks user interactions with the application UI, like taps and gestures, in order to visualise them during recording playback. These records are also the data for creating user interaction heatmaps.
To protect user privacy, user interaction with virtual keyboards (i.e., events in the area where the keyboard is on the screen) is not recorded. When the application uses a custom input views (e.g., a custom PIN-pad) that the system does not recognize as a system virtual keyboard (and thus Smartlook records interaction events in the area), using one of the event tracking modes to suppress user interaction tracking temporarily should be considered. An example is provided in Secure Custom Keyboard cookbook.
Blacklisting such a view is not enough, as user interaction is tracked on blacklisted views. Blacklisting and event tracking are controlled independently. Handling Sensitive Events chapter offers mode in-depth text on how to handle events that could reveal sensitive user information.
Rage Clicks Event is a specific kind of event that flags screens in the app where user repeatedly fast taps the screen. This behaviour typically occurrs when the user is frustrated with the UI, does not understand what are the interactive elements of the UI and what are just graphic atrtifacts. The rage click events can be reviewed along the other events in the player.
In some apps such games, however, is fast user interaction expected. For these apps, or their sections, rage click events could be ignored by setting the
ignoreRageClickEvents event tracking mode. More info about event tracking modes is in the Event Tracking Modes section of this document.
Besides direct tracking user interaction at the basic level of touches and gestures, Smartlook also tracks how these events are understood by the application code. These events track what UI element has been tapped and how the application reacted to it. All these events are visible in the player timeline. If an analytic event is related to a UI element, the element is highlighted in the screen recording.
Most importantly, these analytics events could be used with Smartlook analytics.
Smartlook aims to track the relevant events automatically. It is, however, not fully possible on all platforms. Also, there are use cases when the automated tracking might not provide enough information for analytics purposes. If this is the case in your application, Smartlook offers are some handy methods for manual event tracking.
The events created by these methods are treated by Smartlook exactly the way automatically acquired events of the corresponding type.
Custom events are identified by a name, and can also have additional optional properties. The additional properties can be used in funnels and any other filtering. Technical details could be found in the API Reference.
For use-cases where duration of some time-sensitive or long-running actions in the application is an important metrics, Smartlook offers timed events. Nothing is tracked upon starting such an event, the application just remembers the event reference and uses it once the event is finished or cancelled. Technical details could be found in the API Reference.
All events described in this document are traked by default. In some case, it is desired to ignore some kind of them, however. Such cases include
- rage clicks in games, when fast repeated user interaction is normal
- touch events over custom keyboards or similar controls, that may reveal sensitive information
- detected navigation events in apps generated by tools like React Native, where generated screen idenitifers make not obvious sense and repeat themselves
Smartlook offers several event tracking modes that can be combined:
- Full tracking: this a default state. SDK tracks all automatically detected events along with all user defined events.
- Ignore User Interaction: disables automatically detected selector (click on a
View), focus, touch, gesture and keyboard events.
- Ignore Navigation Interaction: disables automatically detected navigation events. User defined ones are still being sent.
- Ignore Rage ClicksEvents: disables automatic detection and tracking of rage click events.
- No Tracking: no automatically detected events are tracked. Only user defined events are still tracked.