---
title: Identity Resolution
description: >-
  Automatically connect anonymous user activity to authenticated users in
  Product Analytics.
breadcrumbs: >-
  Docs > Product Analytics > Managing Profiles and Integrating Custom Attributes
  > Identity Resolution
---

> For the complete documentation index, see [llms.txt](https://docs.datadoghq.com/llms.txt).

# Identity Resolution

{% callout %}
# Important note for users on the following Datadog sites: app.ddog-gov.com, us2.ddog-gov.com

{% alert level="danger" %}
This product is not supported for your selected [Datadog site](https://docs.datadoghq.com/getting_started/site.md). ({% placeholder "user-datadog-site-name" /%}).
{% /alert %}

{% /callout %}

## Overview{% #overview %}

Identity Resolution enables Product Analytics to automatically connect anonymous user activity to authenticated users. When a user browses your application anonymously and later logs in, their pre-login behavior becomes associated with their authenticated identity. This gives you a complete view of the user journey without any additional instrumentation.

## Prerequisites{% #prerequisites %}

- Datadog RUM SDK instrumented in your application. Identity Resolution is supported on the Browser, iOS, and Android SDKs.

- `setUser()` called when users authenticate, with the `id` field set:

  ```javascript
  DD_RUM.setUser({ id: 'user-123' })
  ```

- Product Analytics enabled for your organization.

No additional SDK configuration is required. Identity Resolution uses the anonymous ID the RUM SDK already generates and the user ID set through `setUser()`.

## Feature behavior{% #feature-behavior %}

The following Product Analytics features automatically reflect resolved identity:

| Feature            | Behavior                                                           |
| ------------------ | ------------------------------------------------------------------ |
| Funnels            | Steps performed before login are attributed to the identified user |
| Unique user counts | Users who browsed anonymously are counted once, not twice          |
| Retention          | First visit, even if anonymous, is used as the cohort entry point  |
| Pathways           | Full path from anonymous first visit through post-login activity   |

## Considerations{% #considerations %}

**Conflict handling**: If multiple users log in from the same device, the anonymous ID is mapped to the first user identified on that device. Subsequent users' pre-login activity on that device is not retroactively linked.

**Cross-device**: Identity Resolution operates at the device level. A user who browses anonymously on one device and logs in on another does not have their sessions linked across devices.

**Data retention**: Identity mappings are retained for 15 months, aligned with standard Product Analytics retention.

**Historical data**: After enablement, historical queries resolve identity for any mappings in the 15-month window, including activity before you enabled the feature.

## Privacy{% #privacy %}

Identity Resolution only links identifiers your application has already associated through `setUser()`. It does not perform probabilistic fingerprinting or cross-site tracking. The anonymous ID is a first-party, SDK-generated identifier scoped to your application. Standard Datadog data retention and deletion controls apply.

## Filter by authentication status{% #filter-by-authentication-status %}

Identity Resolution expands the scope of user-based metrics to include anonymous activity not previously attributed to known users. As a result, you may see an increase in user counts, funnel volumes, and retention cohorts.

To reproduce previous metrics, filter for authenticated users by setting the User Id filter to `is All`.

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

- [Funnel Analysis](https://docs.datadoghq.com/product_analytics/charts/funnel_analysis.md)
- [Retention Analysis](https://docs.datadoghq.com/product_analytics/charts/retention_analysis.md)
- [RUM Browser Advanced Configuration](https://docs.datadoghq.com/real_user_monitoring/application_monitoring/browser/advanced_configuration.md)
