Skip to main content
The Browser RUM SDK makes a sampling decision during session creation. The decision remains stable for that browser-tab session.

Configure sampling rates

Both values are percentages from 0 through 100:
  • sessionSampleRate controls whether the SDK reports a session and associated RUM events. The default is 100.
  • sessionReplaySampleRate applies only after the session is sampled. The default is 0.
The effective replay rate is the product of both decisions. In the example, approximately 25% of sessions report RUM data and approximately 5% of all sessions record replay (25% × 20%).
Calling startSessionReplayRecording() can enable replay for the current sampled session, but the method cannot promote a session excluded by sessionSampleRate.

Choose initial values

These are starting points, not universal defaults. Estimate event volume, object storage, retention, and the number of sessions needed for each browser and release before rollout.

Session boundaries

The SDK stores the decision in sessionStorage. A new session starts after either boundary:
  • sessionInactivityTimeout: 30 minutes by default;
  • maxSessionDuration: 4 hours by default.
Both values accept milliseconds. The allowed range is one minute through 24 hours.
Changing a sampling option does not change the decision already stored for the current session. Use a new tab or clear the molesignal_rum_session_<applicationId> session-storage entry when testing a new configuration.

Bound client-side volume

Use transport controls to keep memory and request sizes predictable:
Monitor intake rate, replay storage, browser overhead, and investigation coverage after each change. Roll out sampling changes gradually by application and release.

Browser RUM SDK

Review all initialization options.

Session replay

Configure replay collection and storage-sensitive options.
Last modified on August 9, 2026