---
title: RUM Browser Data Collected
description: >-
  Comprehensive guide to RUM Browser SDK event types, attributes, and telemetry
  data—including sessions, views, resources, errors, and user actions.
breadcrumbs: >-
  Docs > RUM & Session Replay > Application Monitoring > RUM Browser Monitoring
  > RUM Browser Data Collected
---

# RUM Browser Data Collected

## Overview{% #overview %}

The RUM Browser SDK generates events that have associated telemetry and attributes. Every RUM event has all of the default attributes, for example, the URL of the page (`view.url`) and user information such as their device type (`device.type`) and their country (`geo.country`).

There are additional attributes specific to a given event type. For example, the `view.loading_time` telemetry is associated with view events, and the `resource.method` attribute is associated with resource events.

| Event Type | Retention | Description                                                                                                                                                                                                                                                                                                                |
| ---------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Session    | 30 days   | A user session begins when a user starts browsing the web application. It contains high-level information about the user (browser, device, geolocation). It aggregates all RUM events collected during the user journey with a unique `session.id` attribute. **Note:** The session resets after 15 minutes of inactivity. |
| View       | 30 days   | A view event is generated each time a user visits a page of the web application. While the user remains on the same page, resource, long-task, error, and action events are linked to the related RUM view with the `view.id` attribute.                                                                                   |
| Resource   | 15 days   | A resource event is generated for images, XHR, Fetch, CSS, or JS libraries loaded on a web page. It includes detailed loading timing information.                                                                                                                                                                          |
| Long Task  | 15 days   | A long task event is generated for any task in the browser that blocks the main thread for more than 50ms.                                                                                                                                                                                                                 |
| Error      | 30 days   | RUM collects every frontend error emitted by the browser.                                                                                                                                                                                                                                                                  |
| Action     | 30 days   | RUM action events track user interactions during a user journey and can also be manually sent to monitor custom user actions.                                                                                                                                                                                              |

The following diagram illustrates the RUM event hierarchy:

{% image
   source="https://docs.dd-static.net/images/real_user_monitoring/data_collected/event-hierarchy.86b26bc249a457cd958cad386d03aabd.png?auto=format"
   alt="RUM Event hierarchy" /%}

## Default attributes{% #default-attributes %}

See a complete list of [standard attributes](https://docs.datadoghq.com/standard-attributes.md?product=browser) for RUM Browser. By default, the attributes are attached to each event type, so you can use them regardless of the RUM event type being queried.

## Event-specific attributes{% #event-specific-attributes %}

### Session timing attributes{% #session-timing-attributes %}

| Attribute                 | Type        | Description                                         |
| ------------------------- | ----------- | --------------------------------------------------- |
| `session.time_spent`      | number (ns) | Duration of the user session.                       |
| `session.view.count`      | number      | Count of all views collected for this session.      |
| `session.error.count`     | number      | Count of all errors collected for this session.     |
| `session.resource.count`  | number      | Count of all resources collected for this session.  |
| `session.action.count`    | number      | Count of all actions collected for this session.    |
| `session.long_task.count` | number      | Count of all long tasks collected for this session. |

### Session attributes{% #session-attributes %}

| Attribute name                        | Type    | Description                                                                                                                                                                                      |
| ------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `session.id`                          | string  | Randomly generated ID for each session.                                                                                                                                                          |
| `session.ip`                          | string  | Client IP address. If you want to stop collecting this attribute, change the setting in your [application details](https://docs.datadoghq.com/data_security/real_user_monitoring.md#ip-address). |
| `session.is_active`                   | Boolean | Indicates if the session is currently active. The session ends after 4 hours of activity or 15 minutes of inactivity.                                                                            |
| `session.type`                        | string  | The type of session: `user` or `synthetics`. Sessions from [Synthetic Monitoring Browser Tests](https://docs.datadoghq.com/synthetics/browser_tests.md) are excluded from billing.               |
| `session.referrer`                    | string  | The URL of the previous web page from which a link to the currently requested page was followed.                                                                                                 |
| `session.initial_view.id`             | string  | The ID of the first RUM view generated by the user.                                                                                                                                              |
| `session.initial_view.url_host`       | string  | The host part of the URL.                                                                                                                                                                        |
| `session.initial_view.url_path`       | string  | The path part of the URL.                                                                                                                                                                        |
| `session.initial_view.url_path_group` | string  | The automatic URL group generated for similar URLs (for example, `/dashboard/?` for `/dashboard/123` and `/dashboard/456`).                                                                      |
| `session.initial_view.url_query`      | object  | The query string parts of the URL decomposed as query params key-value attributes.                                                                                                               |
| `session.initial_view.url_scheme`     | object  | The scheme part of the URL.                                                                                                                                                                      |
| `session.last_view.id`                | string  | The ID of the last RUM view generated by the user.                                                                                                                                               |
| `session.last_view.url_host`          | string  | The host part of the URL.                                                                                                                                                                        |
| `session.last_view.url_path`          | string  | The path part of the URL.                                                                                                                                                                        |
| `session.last_view.url_path_group`    | string  | The automatic URL group generated for similar URLs (for example, `/dashboard/?` for `/dashboard/123` and `/dashboard/456`).                                                                      |
| `session.last_view.url_query`         | object  | The query string parts of the URL decomposed as query params key-value attributes.                                                                                                               |
| `session.last_view.url_scheme`        | object  | The scheme part of the URL.                                                                                                                                                                      |

### View timing attributes{% #view-timing-attributes %}

**Note**: View timing telemetry includes time that a page is open in the background.

| Attribute                                        | Type                  | Description                                                                                                                                                                                                                                                                                                               |
| ------------------------------------------------ | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `view.time_spent`                                | number (ns)           | Time spent on the current view.                                                                                                                                                                                                                                                                                           |
| `view.first_byte`                                | number (ns)           | Time elapsed until the first byte of the view has been received.                                                                                                                                                                                                                                                          |
| `view.largest_contentful_paint`                  | number (ns)           | Time in the page load where the largest DOM object in the viewport (visible on screen) is rendered.                                                                                                                                                                                                                       |
| `view.largest_contentful_paint_target_selector`  | string (CSS selector) | CSS Selector of the element corresponding to the largest contentful paint.                                                                                                                                                                                                                                                |
| `view.first_input_delay`                         | number (ns)           | Time elapsed between a user's first interaction with the page and the browser's response.                                                                                                                                                                                                                                 |
| `view.first_input_delay_target_selector`         | string (CSS selector) | CSS selector of the first element the user interacted with.                                                                                                                                                                                                                                                               |
| `view.interaction_to_next_paint`                 | number (ns)           | Longest duration between a user's interaction with the page and the next paint.                                                                                                                                                                                                                                           |
| `view.interaction_to_next_paint_target_selector` | string (CSS selector) | CSS selector of the element associated with the longest interaction to the next paint.                                                                                                                                                                                                                                    |
| `view.cumulative_layout_shift`                   | number                | Quantifies unexpected page movement due to dynamically loaded content (for example, third-party ads) where `0` means that no shifts are happening.                                                                                                                                                                        |
| `view.cumulative_layout_shift_target_selector`   | string (CSS selector) | CSS selector of the most shifted element contributing to the page CLS.                                                                                                                                                                                                                                                    |
| `view.loading_time`                              | number (ns)           | Time until the page is ready and no network request or DOM mutation is currently occurring. [More info from Monitoring Page Performance](https://docs.datadoghq.com/real_user_monitoring/application_monitoring/browser/monitoring_page_performance.md#how-loading-time-is-calculated).                                   |
| `view.first_contentful_paint`                    | number (ns)           | Time when the browser first renders any text, image (including background images), non-white canvas, or SVG. For more information about browser rendering, see the [w3c definition](https://www.w3.org/TR/paint-timing/#sec-terminology).                                                                                 |
| `view.dom_interactive`                           | number (ns)           | Time until the parser finishes its work on the main document. [More info from the MDN documentation](https://developer.mozilla.org/en-US/docs/Web/API/PerformanceTiming/domInteractive).                                                                                                                                  |
| `view.dom_content_loaded`                        | number (ns)           | Time until the load event is fired and the initial HTML document is completely loaded and parsed, without waiting for non-render blocking stylesheets, images, and subframes to finish loading. [More info from the MDN documentation](https://developer.mozilla.org/en-US/docs/Web/API/Document/DOMContentLoaded_event). |
| `view.dom_complete`                              | number (ns)           | Time until the page and all of the subresources are ready. The loading spinner has stopped spinning for the user. [More info from the MDN documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/DOMContentLoaded_event).                                                                                 |
| `view.load_event`                                | number (ns)           | Time until the load event is fired, indicating the page is fully loaded. Usually a trigger for additional application logic. [More info from the MDN documentation](https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event).                                                                                  |
| `view.error.count`                               | number                | Count of all errors collected for this view.                                                                                                                                                                                                                                                                              |
| `view.long_task.count`                           | number                | Count of all long tasks collected for this view.                                                                                                                                                                                                                                                                          |
| `view.resource.count`                            | number                | Count of all resources collected for this view.                                                                                                                                                                                                                                                                           |
| `view.action.count`                              | number                | Count of all actions collected for this view.                                                                                                                                                                                                                                                                             |

### Resource timing attributes{% #resource-timing-attributes %}

Detailed network timing data for the loading of an application's resources are collected with the [Performance Resource Timing API](https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming).

| Attribute                      | Type           | Description                                                                                                                                   |
| ------------------------------ | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| `resource.duration`            | number         | Entire time spent loading the resource.                                                                                                       |
| `resource.size`                | number (bytes) | Resource size.                                                                                                                                |
| `resource.connect.duration`    | number (ns)    | Time spent establishing a connection to the server (connectEnd - connectStart).                                                               |
| `resource.ssl.duration`        | number (ns)    | Time spent for the TLS handshake. If the last request is not over HTTPS, this attribute does not appear (connectEnd - secureConnectionStart). |
| `resource.dns.duration`        | number (ns)    | Time spent resolving the DNS name of the last request (domainLookupEnd - domainLookupStart).                                                  |
| `resource.redirect.duration`   | number (ns)    | Time spent on subsequent HTTP requests (redirectEnd - redirectStart).                                                                         |
| `resource.first_byte.duration` | number (ns)    | Time spent waiting for the first byte of response to be received (responseStart - RequestStart).                                              |
| `resource.download.duration`   | number (ns)    | Time spent downloading the response (responseEnd - responseStart).                                                                            |

### Resource attributes{% #resource-attributes %}

| Attribute                  | Type   | Description                                                                                          |
| -------------------------- | ------ | ---------------------------------------------------------------------------------------------------- |
| `resource.type`            | string | The type of resource being collected (for example, `css`, `javascript`, `media`, `XHR`, or `image`). |
| `resource.method`          | string | The HTTP method (for example `POST` or `GET`).                                                       |
| `resource.status_code`     | number | The response status code (available for fetch/XHR resources only).                                   |
| `resource.url`             | string | The resource URL.                                                                                    |
| `resource.url_host`        | string | The host part of the URL.                                                                            |
| `resource.url_path`        | string | The path part of the URL.                                                                            |
| `resource.url_query`       | object | The query string parts of the URL decomposed as query params key-value attributes.                   |
| `resource.url_scheme`      | string | The protocol name of the URL (HTTP or HTTPS).                                                        |
| `resource.provider.name`   | string | The resource provider name. Default is `unknown`.                                                    |
| `resource.provider.domain` | string | The resource provider domain.                                                                        |
| `resource.provider.type`   | string | The resource provider type (for example, `first-party`, `cdn`, `ad`, or `analytics`).                |

### GraphQL attributes{% #graphql-attributes %}

For GraphQL requests configured in `allowedGraphQlUrls`, additional metadata is automatically collected. See [Track GraphQL requests](https://docs.datadoghq.com/real_user_monitoring/application_monitoring/browser/monitoring_resource_performance.md#track-graphql-requests) for configuration details.

| Attribute                         | Type   | Description                                                                                                                   |
| --------------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------- |
| `resource.graphql.operation_type` | string | The GraphQL operation type: `query`, `mutation`, or `subscription`.                                                           |
| `resource.graphql.operation_name` | string | The GraphQL operation name, if provided in the request.                                                                       |
| `resource.graphql.variables`      | string | The GraphQL variables sent with the request.                                                                                  |
| `resource.graphql.payload`        | string | The GraphQL query (limited to 32 KB, available only if `trackPayload` is enabled).                                            |
| `resource.graphql.errors_count`   | number | Number of errors returned in the GraphQL response (available only if `trackResponseErrors` is enabled).                       |
| `resource.graphql.errors`         | array  | Array of GraphQL errors with `message`, `code`, `locations`, and `path` (available only if `trackResponseErrors` is enabled). |

### Long task timing attributes{% #long-task-timing-attributes %}

| Attribute            | Type   | Description                |
| -------------------- | ------ | -------------------------- |
| `long_task.duration` | number | Duration of the long task. |

### Error attributes{% #error-attributes %}

| Attribute       | Type   | Description                                                                                                                                                                                               |
| --------------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `error.source`  | string | Where the error originates from (for example, `console`). See [Error sources](https://docs.datadoghq.com/real_user_monitoring/application_monitoring/browser/collecting_browser_errors.md#error-sources). |
| `error.type`    | string | The error type (or error code in some cases).                                                                                                                                                             |
| `error.message` | string | A concise, human-readable, one-line message explaining the event.                                                                                                                                         |
| `error.stack`   | string | The stack trace or complementary information about the error.                                                                                                                                             |

#### Source errors{% #source-errors %}

Source errors include code-level information about the error. For more information about different error types, see the [MDN documentation](https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming).

| Attribute    | Type   | Description                                   |
| ------------ | ------ | --------------------------------------------- |
| `error.type` | string | The error type (or error code in some cases). |

### Action timing attributes{% #action-timing-attributes %}

| Attribute                | Type        | Description                                                                                                                                                                                                                                     |
| ------------------------ | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `action.loading_time`    | number (ns) | The loading time of the action. See how it is calculated in the [Tracking User Actions documentation](https://docs.datadoghq.com/real_user_monitoring/application_monitoring/browser/tracking_user_actions.md?tab=npm#action-timing-telemetry). |
| `action.long_task.count` | number      | Count of all long tasks collected for this action.                                                                                                                                                                                              |
| `action.resource.count`  | number      | Count of all resources collected for this action.                                                                                                                                                                                               |
| `action.error.count`     | number      | Count of all errors collected for this action.                                                                                                                                                                                                  |

### Action attributes{% #action-attributes %}

| Attribute            | Type   | Description                                                                                                                                                                                                                                                       |
| -------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `action.id`          | string | UUID of the user action.                                                                                                                                                                                                                                          |
| `action.type`        | string | Type of the user action. For [Custom User Actions](https://docs.datadoghq.com/real_user_monitoring/application_monitoring/browser/tracking_user_actions.md?tab=npm#custom-actions), it is set to `custom`.                                                        |
| `action.target.name` | string | Element that the user interacted with. Only for automatically collected actions.                                                                                                                                                                                  |
| `action.name`        | string | User-friendly name created (for example, `Click on #checkout`). For [Custom User Actions](https://docs.datadoghq.com/real_user_monitoring/application_monitoring/browser/tracking_user_actions.md?tab=npm#custom-actions), the action name given in the API call. |

### Frustration signals fields{% #frustration-signals-fields %}

| Field                                 | Type   | Description                                                   |
| ------------------------------------- | ------ | ------------------------------------------------------------- |
| `session.frustration.count`           | number | Count of all frustration signals associated with one session. |
| `view.frustration.count`              | number | Count of all frustration signals associated with one view.    |
| `action.frustration.type:dead_click`  | string | The dead clicks detected by the RUM Browser SDK.              |
| `action.frustration.type:rage_click`  | string | The rage clicks detected by the RUM Browser SDK.              |
| `action.frustration.type:error_click` | string | The error clicks detected by the RUM Browser SDK.             |

### UTM attributes{% #utm-attributes %}

| Field                         | Type   | Description                                                                                           |
| ----------------------------- | ------ | ----------------------------------------------------------------------------------------------------- |
| `view.url_query.utm_source`   | string | The parameter in the URL tracking the source of traffic.                                              |
| `view.url_query.utm_medium`   | string | The parameter in the URL tracking the channel where the traffic is coming from.                       |
| `view.url_query.utm_campaign` | string | The parameter in the URL identifying the specific marketing campaign tied to that view.               |
| `view.url_query.utm_content`  | string | The parameter in the URL identifying the specific element a user clicked within a marketing campaign. |
| `view.url_query.utm_term`     | string | The parameter in the URL tracking the keyword a user searched to trigger a given campaign.            |

## Further reading{% #further-reading %}

- [Introducing Datadog Real User Monitoring](https://www.datadoghq.com/blog/real-user-monitoring-with-datadog/)
- [Modifying RUM data and adding context](https://docs.datadoghq.com/real_user_monitoring/application_monitoring/browser/advanced_configuration.md)
- [Explore your views within Datadog](https://docs.datadoghq.com/real_user_monitoring/explorer.md)
- [Apply visualizations on your events](https://docs.datadoghq.com/real_user_monitoring/explorer/visualize.md)
- [Datadog standard attributes](https://docs.datadoghq.com/logs/log_configuration/attributes_naming_convention.md)

{% image
   source="https://docs.dd-static.net/images/real_user_monitoring/data_collected/event-hierarchy.86b26bc249a457cd958cad386d03aabd.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/real_user_monitoring/data_collected/event-hierarchy.86b26bc249a457cd958cad386d03aabd.png?auto=format&fit=max&w=850&dpr=2 2x"
   alt="" /%}
