Technical Overview

This article provides a high level overview of how Replay data is captured, compressed, and transferred to DBA Replay servers for processing to create the Replay recordings in Predictive Experience and Digital Behavior Analytics.

SDK Execution

The SDK code is executed in the browser. So the flow of activation starts with the Web SDK running in the browser during the client experience. Relevant recording information and data is stored in cookies, local storage of the browser and optionally in the browsers indexedDB if local buffering mode is active.

If a session qualifies the conditions, captured data like mouse- and keyboard events as well as DOM data is sent continuously via a WebSocket. Additionally some data, mainly used for logging and debugging, is sent via XHR requests.

DBA Replay does not otherwise transmit information to a clients server, nor does DBA Replay need to run anything on a client's infrastructure. The code is loaded on the web page and this is sufficient since all of the capture and transmission logic is in the browser.

Server Connection Triggers

There are multiple ways to trigger the connection to the WebSocket for data transmission.

  • Survey Trigger: The trigger is either an accepted invitation or a feedback badge click
  • Sample Rate Trigger: The user was randomly selected by the sample rate
  • Local Buffer Server Offloading: The local buffer storage hit the limit (the user still needs to trigger a survey for the session to be actually processed)

The XHR requests for logging/debugging don't need any triggers and are sent periodically. Since these requests are so small, this will not be noticeable to the client.

Masking & Asset Collection

All data is masked in the browser for sensitive personal information prior to transmission to DBA Replay servers.

On the server side, most of the data required to reproduce the session is contained in the data sent from the browser directly to Verint's servers. But in order to create a high quality replay, CSS and image assets are needed. These are not sent during the client session, as it would create too much traffic for the client. Instead they are retrieved in the traditional way with HTTP Get requests to your servers from DBA Replay servers. All this information is stored in the cloud.

Recording Creation

DBA Replay recreates the session by processing and enriching the sent session data and making it available to stream in the Web-Player, this includes relevant user event data like clicks and mouse movements as well as DOM mutations. They are rendered inside an iframe that represents the recorded website. So all the DOM content can be inspected via the browser to check HTML Structure, CSS class names and so on. Once the processing is finished, the session can be viewed via Predictive Experience or Digital Behavior Analytics.