> ## Documentation Index
> Fetch the complete documentation index at: https://docs.encorekit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# identify()

> Associate your user ID with Encore

Links your user ID to the SDK's anonymous ID for cross-device entitlement tracking and attribution. Call this after a successful login to sync the user's entitlements across devices.

## Signature

```kotlin theme={null}
fun identify(
    userId: String,
    attributes: UserAttributes? = null
)
```

## Parameters

| Name         | Type                                 | Description                                                                         |
| ------------ | ------------------------------------ | ----------------------------------------------------------------------------------- |
| `userId`     | String                               | Your user's unique identifier from your auth system.                                |
| `attributes` | [UserAttributes](./user-attributes)? | Optional structured attributes to set for the user in one call. Defaults to `null`. |

## Usage

### Basic identification

```kotlin theme={null}
// After successful login
Encore.shared.identify(userId = user.id)
```

### With attributes

```kotlin theme={null}
Encore.shared.identify(
    userId = user.id,
    attributes = UserAttributes(
        email = user.email,
        subscriptionTier = user.plan,
        monthsSubscribed = user.monthsActive.toString()
    )
)
```

<Tip>
  Call `identify()` after a successful login. On logout, call [`reset()`](./reset) to clear the user ID and cached entitlements.
</Tip>
