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

# Identify users

> Set the default evaluation identity and clear it on logout.

## Overview

Tell the SDK who is asking so targeting rules and percentage rollouts have a `userId` (and traits).

## Identify

```ts theme={null}
shipd.identify({
  userId: "usr_8f2k19",
  name: "Jordan Chen",
  traits: { plan: "pro", beta: true },
});
```

Later checks reuse that identity until `reset()`:

```ts theme={null}
shipd.isEnabled("new-checkout");
shipd.reset();
```

Per-call override:

```ts theme={null}
shipd.isEnabled("new-checkout", {
  userId: "usr_8f2k19",
  attributes: { plan: "pro" },
});
```

## Browser anonymous id

`shipdit/client` persists `anonymousId` (localStorage key `shipdit:anonymousId` by default) so anonymous → logged-in sessions correlate.

```ts theme={null}
shipd.getAnonymousId();
```

Pass `anonymousId` or `onAnonymousId` if you already have one.

## Remote traits

After `identify()`, the SDK GETs `/sdk/v1/identity` and merges stored traits under the request. Disable:

```ts theme={null}
createClient({
  sdkKey,
  endpoint,
  remoteTraits: false,
});
```

Story and caveats: [Target users](/guides/target-users).
