Using LogRocket Filters

Detailed explanation for all LogRocket filters

LogRocket has many powerful filters that allow you to filter over sessions with a wide variety of properties.

User Identification Filters

Email - match sessions with identified users that were identified with the given email address.

Name - match sessions with identified users that were identified with the given name.

Signed up status - match only sessions with identified users.

User Trait - match sessions where identified users has a given value for a user trait.

User First Seen - match sessions with users that were first seen within the given time period. This may include sessions outside of the given time period.

User ID - match sessions with users that were identified with the given user ID. Anonymous users also have user IDs.

User Last Seen- match sessions with users that were last seen within the given time period. This may include sessions outside of the given time period.

User Session Count - list all sessions for users that meet a criteria based on how many sessions they have recorded.

User Time on Site - list all sessions for users that have a total accumulative session time within the given range.

NPS (pro) - match sessions in which an NPS score has been submitted matching the given value. This filter is only available for Professional plan users and currently only supports Wootric and Delighted.

City - match sessions based on the city in which the user was located.

Country - match sessions based on the country in which the user was located.

State/Region - match sessions based on the state or region in which the user was located.

IP Address - match sessions based on the user's IP address.

🚧

A Note on Location

LogRocket uses IP reverse-lookup to determine a user City and Country. If you have disabled IP addresses from being sent to LogRocket, these filters will not be available as the data will not exist within the session

Session Metadata Filters

These filters are all about data about sessions, with the exception of user-related metadata. There is always only one piece of data returned by these filters for the entire session.

Browser - match sessions where the user visited from a specific browser.

Device - match sessions by device type. Devices will be identified as either Desktop, Mobile, or Tablet.

OS - match sessions by operating system.

Release - match sessions by what release they happened in. This is provided to LogRocket via the release option of LogRocket.init(). See the SDK documentation for more details.

Duration - match sessions that have a duration above or below a certain amount of time.

Event Count - match sessions by total event count. An event is defined as any user action taken within the session (e.g., clicks or navigation).

Viewport Size - match session based on the size of the user's browser. You can search based on pixel size of width or height of the browser.

UTM Tracking - match session based on value of UTM parameter for Medium, Source, or Campaign.

Session Activity Filters

These filters are all about data within a session, such as user activity clicks or app-related data. There can be multiple pieces of data returned by these filters for each session.

Clicked - match sessions where the user clicked on a piece of text or a specific element. Please note that if any element clicked is hidden from LogRocket then it will not appear in the search as hidden data is not sent to LogRocket.

Text Input - match sessions based on values that a user inputs to text fields. You can specify text input to any field, or narrow it down to specific fields based on selector or component type.

Visited URL - match sessions where the user visited a given URL. You can optionally specify a duration criteria for time spent on a given URL.

📘

Using the LIKE operator for the 'Visited URL' filter

If you are looking for a more specific way to choose URLs to filter on, try using our LIKE operator. This supports searching with wildcards (entered as asterisks) as part of the query. For example, you could search for something like https://app.logrocket.com/*/*

Dead Clicked - match sessions where a user recorded a "dead click" somewhere on your site. A dead click is defined as a click that did not result in a DOM change.

Rage Clicked - match sessions that have "rage clicks". A rage click is defined as a series of rapid, repeated clicks on the same element.

Scroll Depth - matches sessions that have scrolled to a certain pixel depth within the specified URL

Custom Event - matches sessions that had a custom event triggered during the session. These are triggered by LogRocket.track(). See the SDK documentation for more details.

Redux Action Type - matches sessions that had the given Redux action. This filter is only available if you set up Redux integration with LogRocket. See the SDK documentation for more details.

These filters are only available in our Professional plan:

Network Request - match sessions that contain a network request with the given parameters. You can filter by URL, status code, method, duration, request and response body text. For each parameter you can specify multiple values.

Element Visible or Element Not Visible - match sessions that either rendered or did not render a specific DOM element. DOM elements can be specified by either its ID, CSS class, tag name, or inner text.

Error Message - match sessions where a specific error occurred.

Log Message - match sessions where a specific console message occurred.

📘

Filter Options

Many session activity filters allow you to specify criteria for where on your application an event occurred. The three options that you will typically see are:

  • on text: matches sessions where a user clicked on an element with the given text. This is capped to 20 characters and is case-insensitive.

  • on selector: matches sessions where a user clicked on the a DOM node identified by the given selector (https://developer.mozilla.org/en-US/docs/Web/API/Document_object_model/Locating_DOM_elements_using_selectors). The supported selector syntax is a simplified version of the official one, containing only IDs, class names, and element names. We also support nth-child pseudo-selectors, but only with number values (odd, even, and variable notation is not supported).

In order to be as accurate as possible we record the node path from the document root to the DOM node the user clicked on. We stop recording the selector after it reaches 250 characters, in which case we discard the highest-level selectors.

  • on component - matches sessions where the user clicked on the given React component. Please note that for this to work you must be using the LogRocket React plugin.

Performance Filters

These filters are available on our Professional plan only.

DOM Complete - match sessions where the time to DOM complete was within the given time frame, for the first real page load that happened in the session. DOM complete measures when all processing on the page is complete and resources have finished downloading.

Time to First Byte - match sessions where the duration from the user or client making an HTTP request to the first byte of the page being received by the client's browser is within the given time frame.

Largest Contentful Paint Time - match sessions with a Largest Contentful Paint time within the given time frame, for the first real page load that happens in the session. LCP reports the render time of the largest image or text block within the viewport, providing a user-focused method for measuring actual time of page load. For more information, see here.

First Input Delay Time - match sessions with a First Input Delay time within the given time frame, for the first real page load that happens in the session. FID measures the time from when a user first interacts with a page to the time when the browser is actually able to begin processing event handlers in response to that interaction. For more information, see here.

Cumulative Layout Shift - match sessions with a Cumulative Layout Shift value within the selected range. This can be specified for a specific URL or can search across all pages. CLS measures individual layout shift scores for every unexpected layout shift that occurs during the lifespan of the page. This may be inaccurate in particular for single-page applications. For more information, see here.

Time Between Events - match sessions based on how much time elapsed between two events. The following event types can be included in this filter:

  • Custom Events added by calling LogRocket.track()
  • Redux Actions
  • Clicked
  • Navigation
  • Network Request
  • Element Visible
  • Log / Error Message

Browser Crash - match sessions where a browser crash occurred. Please note that this feature requires your server to send a Report-To header in the event of a crash.

Average CPU Load - match sessions that observed the average CPU load above or below a specified percentage. This filter optionally supports specifying a URL for more granular filtering. Please note that average CPU load is approximate.

Average Memory Usage - match sessions that observed the average memory above or below a specified size. This filter optionally supports specifying a URL for more granular filtering. Please note that average memory is approximate and can only be measured on sessions within Google Chrome.

Frustrating Network Request - match sessions that observed a user expressing frustration while waiting for an unusually long network request. Types of frustrated user behaviors include scrolling, clicking, and mouse movement.

Filter Markers in the Timeline

The following filters will show up in the timeline as a green marker at the time when the relevant action took place:

  • Clicked
  • Rage Clicked
  • Dead Clicked
  • Visited URL
  • Custom Event
  • Redux Action
  • Element Visible (pro)
  • Network Request (pro)
Example filter markerExample filter marker

Example filter marker

Using Multiple Filters

Multiple filters can be used when searching through sessions. When chaining filters together, AND logic will be used to ensure that all criteria is met in a search.

Saving Filters

Filters can be saved to the dashboard for reusability. Filters can be saved as either a public or private filter.

Public Filters will appear under Team Filters in the dashboard's lefthand navigation.

Creating a public filterCreating a public filter

Creating a public filter

Private Filters will appear under My Filters in the dashboard's lefthand navigation.

Creating a private filterCreating a private filter

Creating a private filter

Non-Retroactive Filters

Some filters can not be applied to historical session data. For these filters, you will only see data moving forward from when the filter is saved.

Any search containing one of these filter types will be considered non-retroactive and thus must be saved before sessions will meet the search criteria:

  • Network Request
  • Time Between Events
  • Log/Error Message
  • Element Not Visible

📘

'Element Visible' filter

The Element Visible filter is partially retroactive. It will need to be saved before showing results, but you will see some historical data start to appear quickly