Skip to main content

Session Replay

Mixpanel Session Replay provides the fastest way to gain a comprehensive understanding of your customers and make informed product decisions by combining both quantitative and qualitative insights. While analyzing customer journeys using Mixpanel’s analytics, you can identify where customers drop off. Now, with Mixpanel Session Replay, you can quickly follow up by exploring why customers drop off.

Plan Availability

Session Replay is available for customers on Free, Growth, and Enterprise plans. Customers must be on the latest Mixpanel plans to access free replays. Free replays reset monthly, and do not rollover to subsequent months.
PlanReplay AllowanceHow to Access
Free10k free Replays per monthSwitch to the latest Free plan (includes 1M monthly events + 10k replays) via the pricing page.
Growth20k free Replays per monthYou’re on the latest plan if you purchased or edited your plan after April 2024.
Enterprise20k free Replays per monthContact your Account Manager to determine your plan status.
By default, replays are stored for 30 days after the time of ingestion. Once a replay is expired, there is no way to view that replay. Enterprise plan customers with the paid session replay add-on can customize this retention period between 7 days and 360 days.

Implementation

Session Replay is supported on four primary platforms: Web, iOS, Android, and React Native. You can use Session Replay with CDPs (e.g., Segment and mParticle) on both Web and Mobile. We also support Electron desktop apps. See our developer guides on implementing Session Replay for these platforms:

Watching Replays

Session Replay is particularly valuable for understanding user frustration and identifying problematic user experiences. To find relevant replays, you can focus on:
  • Interesting users (power users, purchases)
  • Interesting trends (KPIs spikes or dips)
  • Replays where certain events or sentiment signals (like dead clicks/rage clicks) occur
To start using Session Replay, select Session Replay from the side navigation in your Mixpanel project. Here, you’ll see your most recent replays and can easily filter them by events, properties, or custom time ranges.

From Mixpanel Reports

Click any point on a chart for Event, Funnel, and User Profile, and select “View Replays” to view replays that show that event being fired. From here, you will be taken to our Replay Player.
Reports entry point is currently supported for Event, Funnel, and User Profile metrics only.

From User Profile Page

In any user’s profile page, click the “View Replays” button to watch replays from that user. From here, you will be taken to our Replay Player.

Replay Player Features

The Replay Player allows you to:
  • Expand the player to full-screen
  • Copy a URL with or without a timestamp to share with your teammates
  • Change the playback speed
  • Automatically skip periods of the replay where user is inactive
  • See events in the replay timeline
  • Jump to different parts of the replay by clicking in the timeline
The Replay Feed on the left of the player also allows you to:
  • Sort replays by recency, activity, or duration
  • Search for replays by user’s name / email, replay date, user ID, or the name of an event in the replay
  • See a feed of events that occurred during each replay
  • Display properties and their values within the event feed

Best Practices

Session Replay is a powerful way to understand and debug user behavior by showing exactly what users see on their screens. This visibility is core to its value—but also introduces inherent privacy and security risks, especially when sensitive information appears in the UI.

Key Considerations

Key ConsiderationsWhy It Matters
IndustriesApps in healthcare, fintech, or other regulated spaces carry higher compliance risk.
Sensitive ScreensCheckout, payment, and profile screens often contain sensitive user data.
Embedded WebviewsEmbedded web views may require additional review to ensure expected behavior.
Uncommon App ArchitecturesCustom or non-standard implementations may require additional testing and configuration.
To ensure successful implementation, we recommend:
1

Defensive Programming

Include safe initialization, graceful error handling (try/catch), and sensible fallback behavior.
2

Thorough QA

Test across device types and sensitive screens to ensure data privacy and proper functionality.
3

Staged Rollout

Use feature flags to safely test and enable or disable Session Replay as needed.
Session Replay is a powerful feature that should be implemented with care. Following best practices can help you gain valuable insights into user behavior. We recommend thorough testing in your development environment before deploying to production.

Performance Considerations

Our Session Replay SDKs are designed with performance in mind, utilizing optimized capture algorithms that reduce CPU and memory usage. However, as with any SDK integration, there may still be some risk of performance impacts. We recommend thorough testing and monitoring your app’s performance during initial deployment.

Incident Handling

If you encounter an unexpected or urgent issue, please reach out to our support team promptly. Examples of situations that require immediate attention include:
  • Performance / stability issues with the SR SDK
  • Accidental ingestion of sensitive user data
For these cases, submit a request to our Support team and include the following information: If you’re experiencing performance / stability issues:
  • Whether your issue is with Web, iOS, Android, or multiple platforms
  • Your Session Replay (SR) code snippet
  • Where you initialize the Session Replay SDK
  • Any relevant logs or performance metrics
If you accidentally ingested sensitive user data:
  • Whether your issue is with Web, iOS, Android, or multiple platforms
  • Affected user IDs (if known)
  • Time range of the incident (if known)

Frequently Asked Questions

What happens when I reach my Session Replay limit? Customers who have purchased the Session Replay add-on will be billed for replays ingested beyond the purchased amount at your per-unit rate. Customers using Session Replay without purchasing the add-on will be unable to view replays once they reach the data allowance, unless they upgrade. How soon are Replays available for viewing after a session begins? Replays are available for viewing in Mixpanel ~1 minute after the recording is captured. How long are replays stored? By default, replays are stored for 30 days after the time of ingestion. Once a replay is expired, there is no way to view that replay. Enterprise plan customers with the paid session replay add-on can customize this retention period between 7 days and 360 days. Why does it say the player failed to load? To maintain a high level of security, Mixpanel runs your session replays in an isolated domain through an iframe. Occasionally, this domain may be blocked by an ad blocker or specific browser settings. We recommend disabling any ad blockers, or whitelisting the Mixpanel domain. For extensions like uBlock, go to “My Filters” in the extension settings and add the following custom filter:
@@||mxpnl.com^$domain=mxpnl.com
Can I use Session Replay with a CDP? You can use Session Replay with CDPs (e.g., Segment and mParticle) on both web and mobile.
PlatformGuidance
WebYour app must include the Mixpanel Javascript SDK, with Session Replay enabled.
iOSWorks with CDPs, but you must install the Mixpanel Session Replay SDK in your app.
AndroidWorks with CDPs, but you must install the Mixpanel Session Replay SDK in your app.
How does Session Replay work differently on web versus mobile?
  • Web: Captures DOM changes to reconstruct user interactions, tracking elements, clicks, and navigation. This provides an event-based replay of user activity.
  • Mobile: Captures actual screen pixels since native apps don’t use a DOM. This visual approach records all on-screen activity as it appears to users, including scrolls, carousels, and auto-scrolling elements.
Am I able to sample our Session Replay collection rate? Yes, you can configure the percentage of total replays that our SDK will capture as a sampling rate or manually trigger/end replay capture.

Build docs developers (and LLMs) love