Inactivity timeout setting

The inactivity timeout setting stops recording user interactions for a page after a specified amount of user inactivity on the page.

After initialization, the Web SDK records user interactions that occur on a page until the page unloads or the browser is closed by the user. The library ends the recording if there is an extended period of inactivity where no user interactions are observed. Terminating the recording prevents later POST requests (UI hits) of the library from creating one-hit or orphaned sessions. The termination also prevents any interference or accidental activation of the keep-alive behavior within an application. In order for this setting to be effective, the inactivity timeout threshold should be kept lesser than the session timeout on the server. The timer interval in the queue configuration should also be set to enable the queue to flush after a specific threshold. The threshold to flush the queue should be less than the inactivity timeout. This ensures that any pending data in the queue is flushed long before the inactivity timer expires.

A good model would be to follow this formula:

Server session timeout >= Inactivity timeout + Queue timer interval

For example, if the session timeout is 30 minutes and the queue timer interval is set to 5 minutes, then an appropriate inactivity timeout setting would be 20 - 25 minutes.

Note: The inactivity timer is reset when any event in the default configuration occurs, except for the orientationchange event. The orientationchange event does not reset the inactivity timer because the mobile device might report an orientationchange event when the user is not deliberately interacting with the application. For example, the orientation of the mobile device might change while the device is stored inside a pocket, bag, or carrier.

The default inactivity-timeout setting is configured for 10 minutes. Setting the value to 0 disables the inactivity-timeout feature and allows the library to continue recording user interactions on the page. UI hits continue to POST while the page remains active, regardless of any periods of user inactivity on the page. Disabling the inactivity-timeout feature is not recommended in a production environment.

The value for the inactivity-timeout setting can be configured in the core configuration by changing the value for inactivityTimeout. The value for the inactivityTimeout is specified in milliseconds.

The following snippet shows how to change in the inactivity-timeout setting in the core configuration. This example sets the inactivityTimeout for 8 minutes.

core: {
  // Set the inactivity timeout to 8 minutes (480000 milliseconds)
  inactivityTimeout: 480000,
  modules: {
    performance: {
  ...
},