> This page is part of the [Customer.io documentation](https://docs.customer.io). For the complete index, see [llms.txt](https://docs.customer.io/llms.txt).
> Last updated: July 15, 2026

# How to identify profiles

In Customer.io, profiles are the people you know—your customers, users, subscribers, etc. To add or update profiles in your workspace, you must identify them. Depending on your workspace settings, you can identify unique profiles by ID, email address, or phone number.

## How it works

You can identify profiles using values that are unique for each profile, like an `email` address, a `phone` number, or a user `id`. You add and update profiles based on their identifiers.

To identify profiles, you need to first understand your [workspace settings](#set-allowed-identifiers-in-workspace-settings). Then you can add or update profiles based on the allowed identifiers:

*   `email`: A profile’s email address. You may want to use this identifier to track leads before they become customers.
*   `phone`: A profile’s phone number, in [E.164 format](https://en.wikipedia.org/wiki/E.164) (like `+14155552671`). You may want to use this identifier for SMS or WhatsApp audiences to ensure that each phone number is unique to a profile in Customer.io.
*   `id`: A case-sensitive, unique identifier that you assign a profile. Generally, this value represents a profile in your backend systems, like a user ID of someone who has an account with you.
*   `cio_id`: A unique, immutable identifier that Customer.io generates when you identify a profile. When you identify a profile by `cio_id`, you can update that profile’s other identifiers.

[![The cio_id appears in a profile's attributes](https://docs.customer.io/images/cio_id.png)](#38c155a15308276936664338c8fc1c19-lightbox)

Typically, you’ll programmatically add or update profiles through one or more [integrations](/integrations/getting-started/how-it-works/#data-in); this way your systems stay in sync and you know your automated messaging is sending to the right profiles. Keep in mind that most integrations can’t identifyThe Customer.io operation that adds or updates a person. When you identify a person, Customer.io either adds a person if they don’t exist in your workspace, or updates them if they do. Before you identify someone (by their email address or an ID), you can track them anonymously. profiles by `phone`; check [which sources support the phone identifier](/accounts/workspaces/overview/#phone-identifier-support) before you rely on it.

Sometimes it’s useful to make one-off updates or use automation actions to update profiles though. Here’s how you can identify and modify profiles in our UI:

Method

Use Case

[Profiles page](/messaging/profiles/manage/manually-adding-or-updating-profiles/)

Manually add or update customers.

[CSV import](/messaging/profiles/uploading-profiles/)

Import a file of profiles.

[Create or update profile action](/messaging/send/workflows/attribute-updates/create-update-profile/)

Create or update a profile from the data available in an automation.

### Case sensitivity of identifiers

`id` values are case sensitive; `email` addresses are not. `phone` numbers are matched verbatim, so they must be in [E.164 format](https://en.wikipedia.org/wiki/E.164) (like `+14155552671`) to identify a profile. Learn more about how this influences the way we identify duplicate profiles below.

You should also review our info on [case sensitivity across the platform](/accounts/workspaces/case-sensitivity/). This will help you when searching your workspace, adding conditions, and adding liquid logic.

### How to handle duplicate identifiers

When your workspace identifies profiles by `email`, `phone`, or `id`, we automatically merge duplicate profiles. Learn more about how we [Resolve duplicate profiles](/messaging/profiles/manage/merge-profiles/#auto-merge-complementary).

`id` values are case sensitive, while `email` addresses are not. This means that `id` values of `ab100` and `AB100` represent two distinct profiles in your workspace.

 Identifying with a new ID but an existing email?

If your workspace uses both `email` and `id` as identifiers, and you call identify with `id: "new-123"` and `email: "bob@example.com"`, but `bob@example.com` already belongs to another profile, we don’t create a new profile. Instead, we update the existing profile and assign them the new ID. This can be confusing during testing if you generate a new ID for each test but reuse the same email address.

## Set allowed identifiers in Workspace settings

When you create your workspace, you set which attributes are identifiers. You can always identify profiles by `id` and `cio_id`. By default, you can also identify profiles by `email` and `phone`—both are optional identifiers. To change which optional identifiers your workspace uses, go to your [General Workspace settings](https://fly.customer.io/workspaces/last/settings/edit).

If you’re not sure which setting is best, we recommend you leave the default setting. It doesn’t require you to add an email or phone number to every profile, just gives you the option to add or update your profiles when you identify them by `email` or `phone`. It means you can store leads and existing customers so you can identify a profile first by their email address or phone number and then by an `id` you add after they become a paying customer. If the customer ever needs to change their email address, you can do so by using their `id` to identify them.

Learn more about [setting identifiers in Workspace settings](/accounts/workspaces/overview/#general-workspace-settings).

## Set profile identifiers

You set identifiers when you create or update profiles. You must include at least one identifier, based on what your workspace settings define as identifiers.

Learn more in [Add or update profiles](/messaging/profiles/manage/manually-adding-or-updating-profiles/).

## Update profile identifiers

If you want to update a profile’s identifiers, you must first understand what your workspace settings are—which of `email`, `phone`, and `id` are allowed identifiers.

This chart shows what it means to update `email` or `id` based on these settings. `phone` follows the same rules as `email`. Note, `cio_id` is a permanent id our system generates for each profile. It can be useful when trying to update other identifiers for a profile and is typically needed when you’re programmatically updating profiles:

**If the workspace allows identification by `email`, `phone`, and/or `id` (The first two charts above):**

*   You can change a profile’s `id` when you identify them by `cio_id` through the Profiles page, but not CSV imports.
*   You can change a profile’s `email` or `phone` when you identify them by [`id` or `cio_id`](/accounts/workspaces/overview/#update-email-with-id). If the identifier is enabled but you can only reference by `cio_id`, then you can only use `cio_id` to change `email` or `phone`.

**If the workspace is `id`\-only (The third chart above)**:

*   You can’t change `id` unless you [change your workspace settings](#set-allowed-identifiers-in-workspace-settings).
*   You can update `email` and `phone` like any custom attribute.

## Delete profile identifiers

**If your workspace lets you identify profiles by `email`, `phone`, or `id`**, you can remove identifiers as long as each profile keeps at least one of `id`, `email`, or `phone`. You can’t leave a profile with `cio_id` as their only identifier. You can always identify profiles by `cio_id`; you can’t remove that identifier from a profile.

**If your workspace lets you identify profiles by `id` only**, you cannot delete `id`. Whether you can change it depends on your workspace settings.

You cannot delete `cio_id`, no matter your workspace settings. This id is always needed for CSV imports and ensures each of your profiles have a unique identifier, which can help you and our support team troubleshoot issues.

*   *   [How it works](#how-it-works)
        *   [Case sensitivity of identifiers](#case-sensitivity-of-identifiers)
        *   [How to handle duplicate identifiers](#how-to-handle-duplicate-identifiers)
    *   [Set allowed identifiers in Workspace settings](#set-allowed-identifiers-in-workspace-settings)
    *   [Set profile identifiers](#add-identifiers)
    *   [Update profile identifiers](#update-identifiers)
    *   [Delete profile identifiers](#delete-profile-identifiers)

Copy page

Copy page [Download .md](/messaging/profiles/manage/identifying-profiles.md)

Is this page helpful?

![](https://docs.customer.io/images/export-success.png) ![](https://docs.customer.io/images/export-failure.png)

# How can we make it better?

Close

Do you need help from Customer.io support?  No  
 Yes

What part of Customer.io do you need help with? 

How can we improve this page?

Email (optional):  Please provide a valid email address

 I am not a bot

 

We appreciate your feedback!

Our support team will contact you as soon as possible
