Session Replay lets you watch playbacks of visitor interactions with your web apps. It provides insights into user behavior through both visual and data lenses, helping UX researchers, product managers, and support teams understand user actions and identify issues.
How we capture replay data
Session Replay begins capturing visitor interactions only after a subscription admin activates it for the application and the visitor meets the segment criteria defined in an app's Replay settings.
For both web and mobile apps, privacy settings apply at the moment of capture. Text is masked or elements are blocked on the device before any data is compressed or sent to Pendo, ensuring that sensitive content never leaves the visitor’s device.
- On web apps, the web SDK captures elements of the Document Object Model (DOM), including mouse movements, clicks, and form submissions. These events are compressed in the browser and transmitted to Pendo, where they’re stitched into a visual replay.
- On mobile apps, the mobile SDK captures screen views, taps, scrolls, and other supported interactions. This data is similarly compressed and sent to Pendo to create replay sessions that can be viewed in the replay library.
For more information about potential performance impacts on your application, see Replay performance impacts.
How we select visitors to capture
Session Replay offers unlimited replays, meaning there's no limit to the amount of replays you can capture, and allows you to choose specific visitors to capture using segmentation.
On the Replay Settings page, a subscription admin can create a segment based on visitor or account attributes to determine which visitors Session Replay captures. Update this segment as needed to match the audience you want to capture.
We re-evaluate visitor eligibility on each page load and only capture a visitor's interactions if they meet the segment criteria.
Note: Segments used for Session Replay follow the same eligibility rules as guide targeting. Rules based on counts (for example, "number of page views") aren't compatible with Replay capture and make the segment ineligible. For more details on compatible segment rules, see Segments ineligible for guide targeting.
How privacy settings apply
Your chosen privacy settings related to masking text or blocking elements are applied on the client side when the replay event is captured. This means that the data you've masked or blocked is never sent to Pendo.
Tip: If you want to see an example of the events being captured, you can use the Pendo debugger tool. When you enable the debugger, use the Event Monitoring option to enable event logging and look at the "Recording" event types. While they might be difficult to interpret as individual events, using the event logging in the debugger allows you to confirm that the appropriate text masking and blocking rules apply to the events before they're sent to Pendo.
For more information on the privacy settings available for Session Replay, see Session Replay privacy.
Where replays aren't captured
Session Replay isn't supported for Cordova apps or canvas elements, meaning we don't capture interactions within canvas elements. Session Replay also doesn't support capturing images and fonts located on disk in Electron apps.
For web apps that use iframes, Session Replay captures interactions differently based on origin and web SDK configuration:
- Inner frames of the same origin appear as a single replay.
- Inner frames of a different origin are only captured if the Pendo Web SDK is installed in the frame.
- If multiple Pendo SDKs with different API keys are running in the same window, the replay is assigned to the application from the top frame, where event capture occurs.
Content Security Policy (CSP) settings could prevent Session Replay from capturing interactions as expected in your app. To determine if you have the correct CSP configuration required for Session Replay, see Content Security Policy (CSP).
Replay tools and workflows
Session Replay includes several tools to help you collaborate, share insights, and take action on what you observe in a replay.
- Save clips. While viewing a replay, select the option to create a clip of an important moment. Clips are retained for up to one year, even after the original replay expires. For more information, see Create replay clips.
- Create playlists. Group related clips into playlists to highlight workflows, usability issues, or onboarding moments. Playlists help you tell a more complete story across multiple visitors or sessions. For more information, see Create replay playlists.
- File issues. Create an issue directly from a replay clip. Pendo automatically fills in the issue title, description, and steps based on the captured replay. For more information, see Create an issue from a replay.
To access the replay library and use these tools, you must be a subscription admin or have the Replay User permission assigned to your role. This permission grants access to the Replay option in the left-side menu and allows you to view replays in Pendo. For more information, see Watch replays.
How we handle retention
Replays are stored in the replay library for 30 days by default. If your subscription includes 90-day replay retention, replays are available for 90 days from the time of capture. If you need to delete replays containing sensitive data before they expire, contact Pendo Support for assistance.
Saving a replay clip extends its availability to one year from the time of capture. If you delete a clip from an expired replay, it's permanently removed and can't be recovered. Favoriting a replay using the star icon doesn't affect its availability duration.
Captured replay data is stored using the same infrastructure and security standards as other Pendo product data. For details about data storage, encryption, and compliance certifications, see Data collection and compliance.
Supported mobile frameworks
The following table shows which mobile frameworks currently support Session Replay.
| Framework | Session Replay support |
|---|---|
| UIKit | Supported (v3.9.0+) ✅ |
| SwiftUI | Supported (v3.11.0+) ✅ |
| Android View | Supported (v3.9.0+) ✅ |
| Jetpack Compose | Not supported* ❌ |
| React Native | Supported (v3.9.0+) ✅ |
| MAUI | Supported (v3.9.0+) ✅ |
| Flutter | Supported (v3.9.0+) ✅ |
| Xamarin Forms | Not supported ❌ |
*Support is planned or in development.
Platform differences
This table outlines key differences in Session Replay functionality across web and mobile applications.
| Feature | Web apps | Mobile apps |
|---|---|---|
| Privacy configurations | Maximum, Inputs Only, Minimum | Maximum, Inputs Only |
| Selector rules | Supported ✅ | Not supported ❌ |
| Guide interactions | Captured and rendered ✅ | Captured, but not visually rendered ❌ |
| Frustration indicators | Supported ✅ | Not supported ❌ |
| Developer tools | Console and network logs ✅ | Not supported ❌ |
| Replay filters | All filters | Limited (no frustration filters) |
| Replay timeout | Configurable (30 minutes to 24 hours) | Fixed at 30 minutes |
| Page tagging from replays | Available ✅ | Not available ❌ |
| Multi-tab support | Supported ✅ | Not applicable ❌ |