Session replay

Watch how users experience your app

Session replay helps diagnose issues and understand user behavior in your product or website.

Screenshot of Session Replay in PostHog
  • improved conversion rates by 10-20%

    "We wouldn't have noticed that needed fixing without PostHog's session replays."

    Read the story
  • uses replays and surveys when testing ideas

    "We watch lots of replays when testing a feature, and love how easy it is to launch surveys."

    Read the story
  • reduced back-and-forth in community support

    "Session replay in PostHog is so much better than Smartlook, which we used to use."

    Read the story
  • improved registrations by 20-30%

    "We've improved our whole onboarding flow by about 5% too, which is great."

    Read the story

Features

  • Event timeline

    History of everything that happened in a user's session

  • Console logs

    Debug issues faster by browsing the user's console

  • Network monitor

    Analyze performance and network calls

  • Capture sessions without extra code

    Works with PostHog.js

  • Automatic playlists

    Filter by user behavior or time

  • Web or mobile session recording

    Your choice of web and mobile SDKs

  • Download recordings

    Retain recordings beyond data retention limits

  • Block sensitive data

    Disable capturing data from any DOM element with CSS

Usage-based pricing

Use session replay free. Or enter a credit card for advanced features. Either way, your first 5,000 recordings are free – every month.

Free

No credit card required

All other plans

All features, no limitations

Recordings

5,000/mo

Unlimited

Features

Web recordings
Included
Included
Android recordings

Beta

Beta

iOS recordings

Beta

Beta

React Native recordings

Beta

Beta

Flutter recordings

Beta

Beta

Console logs
Included
Included
Recording playlists

unlimited

Included
Network performance on recordings
Included
Included
Network monitor
Included
Included
Download recording files
Not included
Included
Data retention

1 month

3 months

Block sensitive data
Included
Included
Share and embed
Included
Included
Event timeline
Included
Included
Filter person properties
Included
Included
Filter events
Included
Included
DOM Explorer
Included
Included
Sample recorded sessions
Included
Included
Minimum duration
Included
Included
Record via feature flag
Included
Included

Monthly pricing

First 5k recordings
Free
5-15k
$0.0050/recording
15-50k
$0.0035/recording
50-150k
$0.0020/recording
150-500k
$0.0017/recording
500k+
$0.0015/recording

FAQs

PostHog vs...

Single-page app support
iOS recordings
Android recordings
React Native recordings
Flutter recordings
Identity detection
Target recordings by URL
Target by sample size
Filter recordings by user or event
Rage-click detection
Privacy masking for sensitive content
Export recordings
Recording retention policy
1 month
12 months
24 months
1 month
Up to 3 months

So, what's best for you?

Reasons a competitor may be best for you (for now...)

Reasons to choose

  • Interlinking with feature flags and insights
    • Jump between them easily
  • Collaboration, sharing, and embedding exporting recordings
  • No limits on how many recordings captured

Have questions about PostHog?
Ask the community or book a demo.

Featured tutorials

Visit the tutorials section for more.

  • How to use session replays to get a deeper understanding of user behavior

    In this tutorial, we focus on the connections session replays have with insights and visualizations. These connections enable deeper exploration and understanding of user behavior.

    Read more
  • How to use filters + session replays to understand user friction

    We’ll explain how to use PostHog’s various filters and features to find relevant session replays quickly.

    Read more
  • How to only record the sessions you want

    As you scale, the number of recordings can go beyond what you need. Use PostHog’s configuration options to only record the sessions you want.

    Read more
  • Improve web app performance using PostHog session replays

    Learn the important metrics for measuring page load speed and how to identify opportunities to improve performance.

    Read more

Install & customize

Here are some ways you can fine tune how you implement session replay.

Installation

This is the simplest way to get PostHog up and running. It only takes a few minutes.

Copy the snippet below and replace <ph_project_api_key> and <ph_client_api_host> with your project's values, then add it within the <head> tags at the base of your product - ideally just before the closing </head> tag. This ensures PostHog loads on any page users visit.

You can find the snippet pre-filled with this data in your project settings.

HTML
<script>
!function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.crossOrigin="anonymous",p.async=!0,p.src=s.api_host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="init capture register register_once register_for_session unregister unregister_for_session getFeatureFlag getFeatureFlagPayload isFeatureEnabled reloadFeatureFlags updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures on onFeatureFlags onSessionId getSurveys getActiveMatchingSurveys renderSurvey canRenderSurvey getNextSurveyStep identify setPersonProperties group resetGroups setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags reset get_distinct_id getGroups get_session_id get_session_replay_url alias set_config startSessionRecording stopSessionRecording sessionRecordingStarted captureException loadToolbar get_property getSessionProperty createPersonProfile opt_in_capturing opt_out_capturing has_opted_in_capturing has_opted_out_capturing clear_opt_in_out_capturing debug".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);
posthog.init('<ph_project_api_key>', {api_host: 'https://us.i.posthog.com'})
</script>

Once the snippet is added, PostHog automatically captures $pageview and other events like button clicks. You can then enable other products, such as session replays, within your project settings.


Set up a reverse proxy (recommended)

We recommend setting up a reverse proxy so that events are less likely to be intercepted by tracking blockers. We have our own managed reverse proxy service included in the Teams plan, which routes through our infrastructure and makes setting up your proxy easy.

If you don't want to use our managed service then there are several other options for creating a reverse proxy, including using Cloudflare, AWS Cloudfront, and Vercel.

Include ES5 support (optional)

If you need ES5 support for example to track Internet Explorer 11 replace /static/array.js in the snippet with /static/array.full.es5.js

Explore the docs

Get a more technical overview of how everything works in our docs.

Meet the team

PostHog works in small teams. The Replay team is responsible for building session replay.

(Shockingly, this team prefers their pizza without pineapple.)

Roadmap & changelog

Here’s what the team is up to.

Latest update

Jan 2025

Manually mask widgets in mobile replay

Manoel is at it again, this time improving mobile session replay (there's a beta, you should join it) by adding the option to manually mark a widget for masking using the PostHogMaskWidget call. It's all explained in the docs.

Masking is obviously super important for protecting user privacy, so it's always worth checking the docs to understand your capabilities in this regard.

Up next

Check out the company roadmap to see what we're working on next!

Questions?

See more questions (or ask your own!) in our community forums.

  • Question / Topic

Pairs with...

PostHog products are natively designed to be interoperable using Product OS.

This is the call to action.

If nothing else has sold you on PostHog, hopefully these classic marketing tactics will.

Eco-friendly

PostHog Cloud

Digital download*

PostHog Cloud
People on G2 think we're great

Notendorsed
by Kim K

*PostHog is a web product and cannot be installed by CD.
We did once send some customers a floppy disk but it was a Rickroll.

  • Select your cloud
  • Starts at:
    $0Free>1 left at this price!!

Hurry: Tons of companies signed up . Act now and get $0 off your first order.

PostHog.com doesn't use third party cookies - only a single in-house cookie.

No data is sent to a third party.

Ursula von der Leyen, President of the European Commission