Enabling recording

Last updated:

Session Recording allows you to record users navigating through your website and play back the individual sessions to watch how real users use your product.

Enabling session recording

Recordings can only be used with our JavaScript library and requires the feature to be enabled in PostHog's Project Settings (/project/settings). Once enabled, the JS library will start recording sessions by default.

Session Recording does not work if you send data using Segment's SDK as this data is not collected. If you use Segment, you may want to add the PostHog library too (make sure to only send regular event data from one source).

Recordings can be toggled on and off in the JS library by appropriately setting the config. Users who opt out of event capturing will not have their sessions recorded.

To watch recordings, you can either visit the 'Recordings' page or click on any data point in an insight and from the list of persons related to that data point. This is specially useful in funnels, where you can drill down and watch recordings of users who converted or dropped off.

When watching recordings, you can change the speed as well as select the option 'skip inactive' - this will skip chunks of the recording where the user was inactive on the page.

Ignoring sensitive elements

To avoid recording passwords or other sensitive information, the default PostHog settings do not capture any user input fields in recordings (the text is replaced by '*'s). This setting can be adjusted by using the recording configurations.

If your application displays sensitive user information outside of input fields, you need to update your codebase to prevent PostHog from capturing this information during session recordings.

To do so, you should add the CSS class name [ph-no-capture](https://posthog.com/tutorials/fewer-unwanted-events#adding-the-no-capture-class) to elements which should not be recorded. This will lead to the element being replaced with a block of the same size when you play back the recordings. Make sure everyone who watches recordings in your team is aware of this, so that they don't think your product is broken when something doesn't show up!


Was this page useful?

Next article

Configure recording collection

There are some configurations that can be used to adjust how recordings are captured. Attribute Description maskAllInputs Type: Boolean Default: true When true , all data from user input fields will be replaced by ' * 's. maskInputOptions Type: Object Default: {} Only takes effect if maskAllInputs is false . It determines which specific input field types should be masked. An example value might be { password: true } . Options are: password , textarea , select , color , date…

Read next article