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

# About identification

> How the SDK ties interviews to the people in your app with external IDs and user properties.

Identification connects the anonymous device the SDK runs on to a real person in your app. Once you identify a user, you can target them with [audiences](/guides/audience-targeting) and analyze their interviews alongside everyone else's. This page explains the model; each platform page shows the exact calls.

## External ID

An **external ID** is your own stable identifier for a user, typically the ID from your auth system. Set it after login or whenever you know who the current user is. The SDK persists the external ID locally and reuses it across sessions until you reset.

Use the external ID to match a participant in Pillow back to the same user in your own systems.

## User properties

**User properties** are durable traits you attach to a user for targeting and analysis: a plan tier, a verified flag, a lifetime value. Properties persist locally and travel with the user across sessions.

Properties support three value types:

* `string`
* `boolean`
* `number`

You can clear a single property or all of them; clearing updates local state, and you can set new values whenever you want to target the user differently.

## When to identify

* **After login**, or as soon as you know the user's identity.
* **When a trait changes** that you target or segment on (for example, a plan upgrade).

Identification is safe to call before the network is ready. The SDK queues it and applies it when the connection returns (see [Sessions](/sdk/concepts/sessions)).

## How it relates to reset

Identity and properties live on the device until you call `reset()` on logout. Reset clears the external ID and properties and starts a fresh anonymous session, so the next user doesn't inherit the previous one. See [Sessions](/sdk/concepts/sessions).

## Per-platform reference

<CardGroup cols={3}>
  <Card title="Web" icon="globe" href="/sdk/web/identification">
    Identify browser users.
  </Card>

  <Card title="iOS" icon="smartphone" href="/sdk/ios/identification">
    Identify users on iOS.
  </Card>

  <Card title="Android" icon="smartphone" href="/sdk/android/identification">
    Identify users on Android.
  </Card>
</CardGroup>
