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

# 3. Login and Identity Settings

> Configure how the Zeotap Collect Tag handles login events, hashed/raw identities, and logout handling in Google Tag Manager.

<Warning>
  **Important:** Please ensure your CMP configuration includes new **Vendor ID 1469** for 1st Party data tracking. Additionally, include **Vendor ID 301** if cookie sync is enabled. [Learn more](/articles/sdks/web-js/configurations/consent-options#shouldcheckzeotapvendorconsent)
</Warning>

This section of the Zeotap Collect Tag setup guides you through configuring how login events and identity information (such as email, phone number, and login ID) are handled within Google Tag Manager (GTM).

***

## Login Event

**Purpose**: Specifies the `dataLayer` event name that is fired when a user logs in or when an user identity is to stored.

<Note>
  These Identities will be stored and persisted across all the subsequent calls to zeotap.
</Note>

**Example:**

```js theme={null}
dataLayer.push({
  event: 'user_logged_in',
  email: 'user@example.com',
  phone: '1 4155552671',
  loginid: 'user123'
});
```

**Action**:\
In the tag configuration, set the Login Event field to match your event name (e.g., `user_logged_in`).

<img src="https://mintcdn.com/zeotap/_jDQXKFOoelgbJD8/images/sdks/GTM/GTM_userIdentities.png?fit=max&auto=format&n=_jDQXKFOoelgbJD8&q=85&s=dafcc94199d894f048df4db0bd61f053" alt="Login Event Trigger in GTM" width="3448" height="1638" data-path="images/sdks/GTM/GTM_userIdentities.png" />

***

## Are Your Identities Hashed?

Check this option **only** if your identity values (email, phone, login ID) are already hashed when pushed to the `dataLayer`.

### Configuration for Hashed Identities:

#### Hashed Email

* Enable: **"Capture hashed email"**
* Click **Add Row**:
  * Select **Hash Algorithm** (e.g., SHA-256)
  * Choose your GTM Variable (e.g., `{{Hashed Email}}`)

#### Hashed Cellphone with Country Code

* Enable: **"Capture hashed cellphone number with country code"**
* Click **Add Row**:
  * Select **Hash Algorithm** (e.g., SHA-256)
  * Choose your GTM Variable (e.g., `{{Hashed Phone}}`)

#### Hashed Login ID

* Enable: **"Capture hashed Loginid"**
* Click **Add Row**:
  * Select **Hash Algorithm** (e.g., SHA-256)
  * Choose your GTM Variable (e.g., `{{Hashed Login ID}}`)

<img src="https://mintcdn.com/zeotap/_jDQXKFOoelgbJD8/images/sdks/GTM/GTM_Hashed.png?fit=max&auto=format&n=_jDQXKFOoelgbJD8&q=85&s=94c9d2d33b5d357ed3798ddd045bb17b" alt="Hashed Identities Settings" width="3456" height="1346" data-path="images/sdks/GTM/GTM_Hashed.png" />

***

## Is Hashing of Raw Identities Required?

Enable this **only** if your identity values are in raw format (e.g., plain email or phone) and need to be **hashed by the tag** before sending to Zeotap.

### Configuration for Raw Identities:

#### Raw Email

* Enable: **"Capture Email"**
* Select Variable (e.g., `{{Email}}`)

#### Raw Cellphone with Country Code

* Enable: **"Capture cellphone number with country code"**
* Select Variable (e.g., `{{Phone Number}}`)

#### Raw Login ID

* Enable: **"Capture Loginid"**
* Select Variable (e.g., `{{Login ID}}`)

<img src="https://mintcdn.com/zeotap/_jDQXKFOoelgbJD8/images/sdks/GTM/GTM_NeedsHashing.png?fit=max&auto=format&n=_jDQXKFOoelgbJD8&q=85&s=762fce07900ee27914fc4246cb6b2a45" alt="Raw Identity Hashing Settings" width="3418" height="1232" data-path="images/sdks/GTM/GTM_NeedsHashing.png" />

***

<Warning>
  **Deprecated**

  ID+ usage is deprecated.
</Warning>

## Create First Party ID+ Cookie on Login

If you are a **Publisher using Zeotap’s ID+ services**, enable this checkbox to trigger the creation of a first-party ID+ cookie on user login.

> This requires that you have enabled ID+ for your organization.

## Organisation Partner ID

Enter the **Partner ID** provided by Zeotap.\
This field is required for using ID+ services.

> Example: `zeotap-partner-12345`

***

## User Logout

**Purpose**: Identifies the `dataLayer` event that should **unset identity values** (email, phone, loginid) from the user profile.

**Example:**

```js theme={null}
dataLayer.push({
  event: 'user_logged_out'
});
```

**Action**:\
Set this to the event name (e.g., `user_logged_out`) in your tag configuration.

<img src="https://mintcdn.com/zeotap/_jDQXKFOoelgbJD8/images/sdks/GTM/GTM_UserAttributes.png?fit=max&auto=format&n=_jDQXKFOoelgbJD8&q=85&s=d07de44813129562baabca0a9fb053b7" alt="Logout Event Settings" width="3456" height="1280" data-path="images/sdks/GTM/GTM_UserAttributes.png" />

***

## User Attributes

Use this section to provide **additional user information** to be sent to Zeotap.

### Example GTM Variables:

| Attribute Key    | GTM Variable            |
| ---------------- | ----------------------- |
| userType         | `{{User Type}}`         |
| subscriptionPlan | `{{Subscription Plan}}` |
| loyaltyScore     | `{{Loyalty Score}}`     |

**Action**:\
Map each GTM variable to the corresponding attribute key. These will be included in `setUserProperties`.

A call to zeotap will be made with `eventName: 'set_user_properties'` with the set user properties in the user node of the paylod.

<Note>
  These properties are not persisted across subsequent calls to zeotap.
</Note>

<img src="https://mintcdn.com/zeotap/_jDQXKFOoelgbJD8/images/sdks/GTM/GTM_UserAttributes.png?fit=max&auto=format&n=_jDQXKFOoelgbJD8&q=85&s=d07de44813129562baabca0a9fb053b7" alt="User Attributes Mapping" width="3456" height="1280" data-path="images/sdks/GTM/GTM_UserAttributes.png" />

***

Still need help? [Contact Zeotap Support](https://www.zeotap.com/contact-us)
