# Identifying Users

To identify **users you will need to additionally call zipy.identify(uuid, {userInfo}).** This will help you identify the users of your application by associating your own unique identifier with their activity. This method should typically be called when your users identify themselves by signing in to your application.

**Example Usage:**

{% tabs %}
{% tab title="Installed Zipy using Script Tag" %}
**In case you choose to install Zipy in your app** with the script tag method, you would first need to include a two line JavaScript SDK provided by Zipy in the \<head>\</head> section of your web app.

```generic
<script src="https://storage.googleapis.com/zipy-files/index.standalone.umd.js" crossorigin="anonymous"></script>
<script> window.zipy && window.zipy.init('YOUR_PROJECT_SDK_KEY');</script>
  
```

After installing Zipy with the script tag, you can associate the recorded sessions with a unique identifier and information of your users. You can do so by adding the following code in your login module or any other source file where your users get successfully authenticated into your application. Given below is an example usage in the code:

```javascript
window.zipy.identify("cbrandon@brands.com", {
   firstName: "Charles",
   lastName: "Brandon",
   email: "cbrandon@brands.com",
   customerName: "Brands LLC",
   age: "34"
});
```

To anonymize a previously identified user of your application, use the following code in a source file where users sign out of your application:

<pre class="language-generic"><code class="lang-generic"><strong>window.zipy.anonymize()
</strong></code></pre>

{% endtab %}

{% tab title="Installed Zipy using NPM" %}
**In case you choose to install Zipy in your app with the npm method, you would need to install zipy module in the app project as a first step:**

```generic
npm i zipyai
```

Then import zipy module and initialize in your \_app.js or any other source file:

```generic
import zipy from "zipyai";
zipy.init("YOUR_PROJECT_SDK_KEY");  
```

After integrating Zipy using npm, you can associate the recorded sessions in Zipy with a unique identifier and information of your users. You can do so by adding the following code in your login module or any other source file where your users get successfully authenticated into your application. Given below is an example usage in the code:

```javascript
import zipy from "zipyai";
zipy.identify("cbrandon@brands.com", {
    firstName: "Charles",
    lastName: "Brandon",
    email: "cbrandon@brands.com"",
    customerName: "Brands LLC",
    age: "34"
});
```

To anonymize or disassociate a previously identified user of your application from the session, use the following code in a source file where the user signs out of your application:

```generic
import zipy from “zipyai”;
zipy.anonymize();
```

{% endtab %}
{% endtabs %}

**The** `uuid` **sent to Zipy can be viewed in the Session Replays list in the user column, as shown in the image below:**

<figure><img src="/files/mBuZ2BvXsl4Dg6NNigd1" alt=""><figcaption></figcaption></figure>

The **userInfo** sent to Zipy can be viewed in the User Environment details in each session repla&#x79;**, as shown in the image below:**

<figure><img src="/files/cQ2KbpQjYRHXL863kkus" alt=""><figcaption></figcaption></figure>

zipy.identify(uid, {userInfo})<br>

Following are the Method Parameters:

| Name     | Description                                                                                                                                                                        |
| -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| uuid     | A string denoting your unique identifier for your user. Examples of unique identifiers could be UUID, email ID, full name or any other string that uniquely identifies your users. |
| userInfo | A JSON object which specifies additional details about your user. (Optional)                                                                                                       |

In addition to the unique identifier sent via **uid**, the userInfo parameter is a JSON object supporting the key/value pairs mentioned below. You can choose to include one or more of the following information in your userInfo parameter:

* **firstName** - String&#x20;
* **lastName** - String&#x20;
* **email** - String&#x20;
* **customerName** - String&#x20;
* **avatar** - String&#x20;
* **phone** - String&#x20;
* **age** - String&#x20;

Zipy now supports two kinds of identifiers - predefined and custom identifiers. [You can read more about custom identifiers here.](https://docs.zipy.ai/configure/adding-custom-identifiers)

**Previously identified users of your application can be anonymized by calling the zipy.anonymize()** m**ethod. This will automatically split the session and associate the new session with a new anonymous user which Zipy will identify with its own identification. This method should typically be called when users sign out of your application.**


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.zipy.ai/configure/identifying-users.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
