How does sampling work in Session Replay?
In Session Replay for Apps, full user sessions are collected randomly, according to the global sampling rate (rate defined in your contract and set during the SDK implementation process). A random number is drawn between 0 and 1 and the session will be collected is the drawn number is below the Replay Sampling rate. For e.g. if the draw is 0.2 and the Sampling rate is 10% (i.e. 0,1) we do not select this session to be collected for Session replay.
Note that the Replay sampling rate can be set from 0% to 100%. The higher the global Replay sampling rate is, the more accurate and illustrative replays you'll get.
Which data is collected to create the Replays in Session Replay?
Events such as view insertion, removal, mutations, as well as images and gestures are collected.
Views collection
For Session Replay, the SDK tracks as events when:
-
a View is inserted in the Views hierarchy
-
a View is removed from the Views hierarchy
-
a View properties change (size, color, position…), i.e. “mutations”.
Note: On mobile apps, each element composing the view hierarchy (similar to the HTLM DOM for the web) is called a "view" (similar to "HTML element").
Image collection
On mobile apps, images can only be collected by the SDK itself, as it cannot know the source (resource stored on your server or embedded in the app). Thanks to a cache system, the same image is sent only once during the same session.
Gesture collection
Specific gestures such as long-press or swipe are not collected in the Session Replay Pipeline. In order to show the user's finger interaction in the Replay, we send the touch events of all fingers as coordinated in the Session Replay pipeline.
Why can I see two screenviews with the same screen name in a row in the screenviews list?
Two screenviews with the same screen name in a row in the screenview list indicate that the user put the app in background (phone call, reading text, other app,...) and returned back to the app before the session renews. This behavior will automatically leverage a new screen view, with the same screen name.
See picture
How does personal data masking implementation work?
By default, Session Replay will mask the content displayed on the UI, text and images, in order to ease implementation of Session Replay and be compliant with Personal Data Blocking regulation.
However, having everything masked by default can make the Replay harder to investigate properly. That is why Digital Experience Analytics Mobile also proposes masking/unmasking methods in order it to be more specific, masking only part that really could convey personal data:
You can mask or unmask specific components either
-
by type (aka the model of the component): all instances of this model will be affected by the same masking/unmasking rule
-
or by instance: only a specific instance of a component will be affected by the rule
Does Session Replay for Apps support webviews?
Yes, it does. Today, the tracking tag is able to collect the session inside the webviews, leveraging existing PII masking methods, and can pass this data to the SDK. This support is critical in understanding user behavior and getting actionable insights given that Webviews can be used in important parts of the journeys: checkout, product page, account, etc.
Note that an additional implementation step is required to enable Webview tracking on the native side. Please refer to the following documentation:
-
Enable WebView tracking on iOS → Technical documentation for iOS
-
Enable WebView tracking on Android → Technical documentation for Android
-
Enable WebView tracking on React Native → Technical documentation for React Native
See what is a webview:
WebViews are native containers embedding web content, most of the time a mobile version of a page from the website.
The content displayed inside the WebView is thus using a different technology than the native app (HTML/CSS/Javascript combo).
Usually, WebViews help reduce cost as these WebViews are often shared with the website (like the checkout funnel) or to avoid having a page and a screen where sensitive data is manipulated, such as personal and payment data.