# Session Replay Properties

[Session Replay](https://docs.sentry.io/product/explore/session-replay.md) provides a video-like reproduction of user interactions on a site or web app. All user interactions, including page visits, mouse movements, clicks, and scrolls, are captured, helping developers connect the dots between a known issue and how a user experienced it in the UI.

You can search by session replay properties on the **Replay** page.

## [Searchable Properties](https://docs.sentry.io/.md#searchable-properties)

Below is a list of keys and tokens that can be used in the session replay search.

### [`activity`](https://docs.sentry.io/.md#activity)

Replay activity is calculated based on the number of errors, the number of ui events, and the duration of the replay. It's represented as a number from `1` to `10`.

* **Type:** number

### [`browser.name`](https://docs.sentry.io/.md#browsername)

Name of the users' web browser. For example, `Chrome`, `Firefox`, or `Safari`

* **Type:** string

### [`browser.version`](https://docs.sentry.io/.md#browserversion)

The version string of the browser.

* **Type:** string

### [`click.alt`](https://docs.sentry.io/.md#clickalt)

The `alt` of an element that was clicked. For example, `"a good dog"` would match the element `<img src="/lassie.jpeg" alt="a good dog" />`

* **Type:** string

### [`click.class`](https://docs.sentry.io/.md#clickclass)

The `class` of an element that was clicked. No leading `.` is necessary. For example, `btn-primary` would match the element `<a class="btn btn-primary">Save</a>`

* **Type:** string

### [`click.component_name`](https://docs.sentry.io/.md#clickcomponent_name)

The name of the frontend component that was clicked. For example, `MyAwesomeComponent` would match the React component `<MyAwesomeComponent>`.

Note: This property requires that your project have [React component name capturing configured](https://docs.sentry.io/platforms/javascript/guides/react/features/component-names.md).

* **Type:** string

### [`click.id`](https://docs.sentry.io/.md#clickid)

The `id` of an element that was clicked. No leading `#` is necessary. For example, `reset-password` would match the element `<a id="reset-password">Reset</a>`

* **Type:** string

### [`click.label`](https://docs.sentry.io/.md#clicklabel)

The `aria-label` of an element that was clicked. For example, `Expand` would match the element `<button aria-label="Expand"><img src="/icons/expand.png"/></button>`

* **Type:** string

### [`click.role`](https://docs.sentry.io/.md#clickrole)

The `role` of an element that was clicked. For example, `button` would match both `<button>Save</button>` and `<a role="button">Submit</a>`

* **Type:** string

### [`click.selector`](https://docs.sentry.io/.md#clickselector)

An element identified using a subset of CSS selector syntax. For example, `#section-1` or `span.active` or `span[role=button]` or `.active[role=button]` would all match the element `<span id="section-1" class="active" role="button"/>`. Note that, CSS combinators, pseudo selectors, and attr selectors other than `=` are not supported.

* **Type:** string

### [`click.tag`](https://docs.sentry.io/.md#clicktag)

The tag name of an element that was clicked. For example, `input` would match `<input name="username" />`

* **Type:** string

### [`click.testid`](https://docs.sentry.io/.md#clicktestid)

The `data-testid` or `data-test-id` of an element that was clicked. For example, `user-name` would match the element `<a data-testid="user-name">User Name</a>`

* **Type:** string

### [`click.textContent`](https://docs.sentry.io/.md#clicktextcontent)

The immediate `textContent` of an element that was clicked. For example, `Save` would match `<button>Save</button>` but wouldn't match `<button><h1>Save</h1></button>`

* **Type:** string

### [`click.title`](https://docs.sentry.io/.md#clicktitle)

The `title` of an element that was clicked. For example, `Save this comment` would match the element `<a title="Save this comment" class="btn btn-primary">Save</a>`

* **Type:** string

### [`count_dead_clicks`](https://docs.sentry.io/.md#count_dead_clicks)

The number of [dead clicks](https://docs.sentry.io/product/explore/session-replay/replay-page-and-filters.md#:~:text=Dead%20Clicks%3A%20User%20clicks%20on%20a%20and%20button%20tags%20that%20do%20not%20result%20in%20any%20page%20activity%20after%207%20seconds) within a replay.

* **Type:** number

### [`count_errors`](https://docs.sentry.io/.md#count_errors)

The number of errors within a replay.

* **Type:** number

### [`count_rage_clicks`](https://docs.sentry.io/.md#count_rage_clicks)

The number of [rage clicks](https://docs.sentry.io/product/explore/session-replay/replay-page-and-filters.md#:~:text=Rage%20Clicks%3A%20Five%20or%20more%20clicks%20on%20a%20dead%20element%20\(it%20exhibits%20no%20page%20activity%20after%207%20seconds.\)%20Rage%20clicks%20are%20a%20subset%20of%20dead%20clicks) within a replay.

* **Type:** number

### [`count_segments`](https://docs.sentry.io/.md#count_segments)

The number of segments within a replay. More segments represent more activity over time.

* **Type:** number

### [`count_traces`](https://docs.sentry.io/.md#count_traces)

The number of traces within a replay.

* **Type:** number

### [`count_urls`](https://docs.sentry.io/.md#count_urls)

The number of URLs that the user visited during a replay recording.

* **Type:** number

### [`dead.selector`](https://docs.sentry.io/.md#deadselector)

Similar to the `click.selector` search property, but only queries on [dead clicks](https://docs.sentry.io/product/explore/session-replay/replay-page-and-filters.md#:~:text=Dead%20Clicks%3A%20User%20clicks%20on%20a%20and%20button%20tags%20that%20do%20not%20result%20in%20any%20page%20activity%20after%207%20seconds). An element identified using a subset of CSS selector syntax. For example, `#section-1` or `span.active` or `span[role=button]` or `.active[role=button]` would all match the element `<span id="section-1" class="active" role="button"/>`. Note that, CSS combinators, pseudo selectors, and attr selectors other than `=` are not supported.

* **Type:** string

### [`device.brand`](https://docs.sentry.io/.md#devicebrand)

Brand of the device

* **Type:** string

### [`device.family`](https://docs.sentry.io/.md#devicefamily)

Family of the device. Typically, the common part of a model name across generations. For example, iPhone, Samsung Galaxy.

* **Type:** string

### [`device.model_id`](https://docs.sentry.io/.md#devicemodel_id)

Internal hardware revision to identify the device exactly.

* **Type:** n/a

### [`device.name`](https://docs.sentry.io/.md#devicename)

Details of the device

* **Type:** string

### [`dist`](https://docs.sentry.io/.md#dist)

Distinguishes build or deployment variants of the same release of an application. For example, the dist can be the build number of an Xcode build or the version code of an Android build.

* **Type:** string

### [`duration`](https://docs.sentry.io/.md#duration)

Duration of a replay in seconds.

* **Type:** number

### [`error_ids`](https://docs.sentry.io/.md#error_ids)

Error event IDs that have occurred within a replay.

* **Type:** array

### [`id`](https://docs.sentry.io/.md#id)

The event or replay id. In **Issues**, use only the ID value without the `id` key.

* **Type:** UUID

### [`is_archived`](https://docs.sentry.io/.md#is_archived)

Whether the replay has been archived.

* **Type:** boolean

### [`level`](https://docs.sentry.io/.md#level)

Severity of the event (such as: fatal, error, warning). Always set to info for transactions.

* **Type:** string

### [`os.name`](https://docs.sentry.io/.md#osname)

The name of the operating system. For example, `Windows`, `Mac OS X`, or `Linux`

* **Type:** string

### [`os.version`](https://docs.sentry.io/.md#osversion)

The version number of the operating system.

* **Type:** string

### [`platform`](https://docs.sentry.io/.md#platform)

Name of the platform. This is only a metrics property for [valid platforms](https://github.com/getsentry/relay/blob/9d0d2dc54233d46043a369e1dacf7db900953c14/relay-general/src/protocol/constants.rs#L1-L21), defaulting to `other`.

* **Type:** string

### [`project_id`](https://docs.sentry.io/.md#project_id)

The id of the project.

* **Type:** string

### [`rage.selector`](https://docs.sentry.io/.md#rageselector)

Similar to the `click.selector` search property, but only queries on [rage clicks](https://docs.sentry.io/product/explore/session-replay/replay-page-and-filters.md#:~:text=Rage%20Clicks%3A%20Five%20or%20more%20clicks%20on%20a%20dead%20element%20\(it%20exhibits%20no%20page%20activity%20after%207%20seconds.\)%20Rage%20clicks%20are%20a%20subset%20of%20dead%20clicks). An element identified using a subset of CSS selector syntax. For example, `#section-1` or `span.active` or `span[role=button]` or `.active[role=button]` would all match the element `<span id="section-1" class="active" role="button"/>`. Note that, CSS combinators, pseudo selectors, and attr selectors other than `=` are not supported.

* **Type:** string

### [`release`](https://docs.sentry.io/.md#release)

A release is a version of your code deployed to an environment. You can create a token with an exact match of the version of a release, or `release:latest` to pick the most recent release. [Learn more](https://docs.sentry.io/product/releases/usage/sorting-filtering.md#latest-release).

* **Type:** string

### [`replay_type`](https://docs.sentry.io/.md#replay_type)

The reason a replay was triggered. For example, `session` when `replaysSessionSampleRate` takes effect, or `buffer` when `replaysOnErrorSampleRate` is sampled instead of `session`. Learn more in the [Session Replay docs](https://docs.sentry.io/platforms/javascript/session-replay/understanding-sessions.md).

* **Type:** string

### [`sdk.name`](https://docs.sentry.io/.md#sdkname)

Name of the Sentry SDK that sent the event.

* **Type:** string

### [`sdk.version`](https://docs.sentry.io/.md#sdkversion)

Version of the Sentry SDK that sent the event.

* **Type:** string

### [`seen_by_me`](https://docs.sentry.io/.md#seen_by_me)

Whether you've seen this replay. Alias: `viewed_by_me`

* **Type:** boolean

### [`trace`](https://docs.sentry.io/.md#trace)

A trace represents the record of the entire operation you want to measure or track — like page load, searched using the UUID generated by Sentry’s SDK.

* **Type:** UUID

### [`url`](https://docs.sentry.io/.md#url)

A specific URL that the user visited during the replay. You can also search for multiple URLs at once using `urls` and passing in an array of strings.

* **Type:** string

### [`user.email`](https://docs.sentry.io/.md#useremail)

An alternative, or addition, to the username. Sentry is aware of email addresses and can therefore display things such as Gravatars and unlock messaging capabilities.

* **Type:** string

### [`user.geo.city`](https://docs.sentry.io/.md#usergeocity)

Full name of the city of the user's geolocation.

* **Type:** string

### [`user.geo.country_code`](https://docs.sentry.io/.md#usergeocountry_code)

Country of the user's geolocation. Country code is based on [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html).

* **Type:** string

### [`user.geo.region`](https://docs.sentry.io/.md#usergeoregion)

Full name of the country of the user's geolocation.

* **Type:** string

### [`user.geo.subdivision`](https://docs.sentry.io/.md#usergeosubdivision)

Full name of the subdivision of the user's geolocation. (For example, state, province, etc.)

* **Type:** string

### [`user.id`](https://docs.sentry.io/.md#userid)

Application-specific internal identifier for the user.

* **Type:** string

### [`user.ip`](https://docs.sentry.io/.md#userip)

User's IP address. Sentry uses the IP address as a unique identifier for unauthenticated users.

* **Type:** string

### [`user.username`](https://docs.sentry.io/.md#userusername)

Username, which is typically a better label than the `user.id`.

* **Type:** string
