---
title: Anonymous IDs, user identifiers, and visitor ID attributes
description: This article defines the key components involved in identity resolution: anonymous IDs, user identifiers, and visitor ID attributes.
url: https://docs.tealium.com/server-side/visitor-stitching/anonymous-user-visitor-id-attributes/
---
## Anonymous ID

<div style="float: right">
    ![](https://docs.tealium.com/images/server-side/icon-user-anonymous.png)
</div>

An anonymous ID is a unique and anonymous value assigned to a visitor on each visit to a site or each use of an app. The value is generated by Tealium Collect and is stored in a first-party cookie named `utag_main_v_id`, and received in Tealium EventStream API Hub as `tealium_visitor_id`. The Tealium anonymous ID tracks a visitor over multiple visits from the same browser or app, but not across different browsers or devices.

For web data, and in most cases, this anonymous ID is also stored as the third-party cookie `TAPID` (the Tealium EventStream attribute `tealium_thirdparty_visitor_id`), which can be used to track visitors across domains within the same browser for businesses that require it.

Each anonymous ID generates a new visitor profile in Tealium AudienceStream CDP, which may be combined with another profile using a shared user identifier in a process called visitor stitching.

## User identifiers

<div style="float: right">
   ![](https://docs.tealium.com/images/server-side/icon-user-identifiers-circle.png)
</div>

A user identifier is a data layer variable or an event, visit, or visitor attribute populated in your Tealium installation that uniquely identifies a known user across devices, platforms, and browsers.

A user identifier can be configured as any of the following:

* Data layer variable in iQ Tag Management
* Event attribute in EventStream
* Visit or visitor string attribute in AudienceStream

The value of a user identifier should be unique to each visitor, but should not contain personally identifiable information (PII), such as a driver's license number, bank account number, or email address. A good user identifier is unique and does contain PII. User identifiers that contain PII should be hashed. Good examples include `email_address_hash`, `member_id`, and `customer_id`.

For example, to use an email address as a user identifier, convert the value to a hashed string of characters to conceal the original data while retaining the unique value.

User identifiers are used to populate [visitor ID attributes](#visitor-id-attributes) in AudienceStream.

For more information about user identifiers, see [Best practices for selecting user identifiers]().

## Visitor ID attributes

The visitor ID attribute is a special attribute type in AudienceStream that gets its value from a [user identifier](#user-identifiers) and is used in visitor stitching. When a user identifier is provided across multiple sessions, AudienceStream combines the visitor attributes from those visitor profiles into one profile using a process called visitor stitching.

Visitor ID attributes are not automatically created by AudienceStream. You must create visitor ID attributes in AudienceStream and choose the user identifiers that populate them. For more information, see [Visitor ID attributes]().


<blockquote>
After a visitor ID attribute is set, its value cannot be changed.
</blockquote>


Example of a visitor ID attribute named `Hashed Email` that is populated by the user identifier `email_address_hash` (event attribute):

![](https://docs.tealium.com/images/server-side/email-addr-hash-vistor-id-attr.png)
