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

# User Profiles overview

> Learn how user profiles work in Vero, including identifiers, channel addresses, properties, tags, and subscription management for effective customer messaging.

<img src="https://mintcdn.com/vero-c561507b/EXfj9Lh330gbT2Z_/images/vero-2/Overview.jpg?fit=max&auto=format&n=EXfj9Lh330gbT2Z_&q=85&s=a68fe07b10165bd83bd7f4b066bcd2c6" alt="User profiles" width="1166" height="640" data-path="images/vero-2/Overview.jpg" />

A **user profile** represents an individual customer in Vero. Profiles are the foundation for sending messages, tracking engagement, and managing subscriptions.

Each profile contains:

* A **unique identifier`id`** (required)
* **Channel addresses** such as `email`, `phone number`, or `device tokens`
* **User properties** **and tags** such as `first_name`, `company`, or `plan`
* **A history of the user’s activity** including events and messages interactions
* The user's **subscription status**

## **Why profiles matter**

Customers interact with your business across many devices and channels. Profiles consolidate this activity into a single record, so you can:

* View and update user data in one place
* Manage subscription preferences
* Track engagement across channels
* Create segments of users based on properties or activity
* Avoid duplicate profiles via [identity stitching](/vero-2/user-profiles/identity-stitching-and-resolution)

**User profiles** with multiple **channel addresses** provide a way to capture this reality elegantly: a single user will have multiple ways to be contacted.

## The anatomy of a user profile

Every profile in Vero is built around a **single unique user** and contains multiple types of data to represent them. Here’s a breakdown of the data a profile is made of.

### User Identifier (`id`) - (Required)

Each profile must have a unique `id`. This ensures you don’t create duplicate profiles and can build rich histories over time.

* The `id` can be any unique string or number (such as your internal database ID). Virtually all user-based products track users with unique identifiers. Vero supports forwarding this user `id` to our system so the same identifier is used for both product and messaging purposes.
* Whilst you  *can* update the `id` over time, it is usually long-lived and stable across the customer’s lifetime.
* Used across Vero’s system to find and act on the right profile.

### Channel Addresses - (Optional, but required for messaging)

Channel addresses are special properties used as the address to send a messages to. The supported Channel addresses are:

**Email address (`email`)**

* Required to send email campaigns.
* Profiles can exist without an `email`, but won’t receive emails until one is added.
* If you add a user via API with only `email` and no `id`, Vero will use email address as both the `id` and `email`. Meaning the email becomes the profiles unique identifier.

**Phone number (`phone_number`)**

* Required to send SMS messages.
* *One* phone number can be stored per profile.
* Must be imported in E.164 format. i.e. `+61 234 567 890`

**Device tokens (iOS/Android)**

* A combination of a device address, type, and device platform used to identify a device that push messages can be sent to.

* Device tokens are [tracked via the API](/api-reference/track/users/identity) to Vero in a hash e.g.

```json theme={null}
"channels": [ { "type": "push", "address": "UNIQUE_DEVICE_TOKEN", "platform": "android" } ]
```

* Required to send mobile push notifications.

* A profile can store *multiple* device tokens.

### User Properties - (Optional)

User properties are custom attributes associated with a specific user e.g. `first_name` `company` or `date_of_birth`. They can be tracked and imported when adding users or when updating users via the api or importing. Properties can be referenced in message content using liquid e.g. `{{ user.first_name }}` and can also be used in segmentation to narrow down a group of users.

### Tags (Optional)

Each customer profile in Vero can have multiple tags. Tags let you associate many values with a profile, such as customer preferences (like `shoes`, `skirts`, and `trousers`). Tags should only contain alphanumeric characters (`a-z, 1-9`), hyphens (`-`), and underscores (`_`).

Tags enhance segmentation, enable preference centers, emulate static lists, and support lightweight CRM functions. You can add and manage tags directly in Vero's interface.

[Learn more about tags](/vero-1/customers/what-are-tags)

### Segment Membership

User profiles can belong to multiple segments simultaneously. Each profile tracks which segments the user is currently a member of. You can view all current segments on the user profile under the 'Segments' tab.

Segmentation is coming soon to Vero 2.0, but for now profiles will display [segments created in Vero 1.0](/vero-1/segments/create-a-segment)

### Message and Event Activity

Every **message interaction** (`opened`, `clicked` etc) **event** (`sign_up`, `viewed_product` etc) tracked to Vero is associated with a user profile. You can view a user's recent activity on the activity tab of a user profile, with the last 30 days of activity available. Viewing this activity history helps you understand how users engage with your messages and product, allowing you to identify patterns and optimize your communication strategy.

[Learn more about activity logs](/vero-2/reporting/understanding-entries-in-the-activity-log)

### Subscription Status

Each user profile maintains its own subscription status within Vero. When viewing an individual profile, you can see whether that user is currently subscribed or has opted out of communications. A profile's subscription status determines whether they'll receive future campaigns - if a user is marked as unsubscribed, Vero will automatically prevent any new messages from being sent to them, regardless of which audiences they appear in. You can easily manage subscription status directly from any user profile via the **actions menu** , which allows you to **unsubscribe** active users or **resubscribe** users who previously opted out.

[Learn more about how user subscriptions are handled](/vero-2/user-profiles/how-unsubscribes-are-managed-in-vero-2)
