HomeGuidesAPI ReferenceGraphQL
Submit Documentation FeedbackJoin Developer CommunityLog In

Create Identifiers

This topic describes how to create fields that identify customers or can be used to contact a customer via a campaign channel in Optimizely Data Platform (ODP).

๐Ÿšง

Creating identifiers incorrectly can create significant issues for client data. If there's any question, always default to setting new identifiers as "Low Confidence" or creating an identifier as a standard field on the customer object.

Overview

ODP utilizes Customer Identifiers (for example, emails, vuids, push_tokens) to merge users together and determine which event is associated with which customer.

Including one or more of these identifiers on an event identifies the user who performed the event and allows ODP to merge users together when enough information becomes available.

Standard Identifiers

Display NameField NameDescription
Zaius IDzaius_idA unique, Optimizely-generated identifier that represents a customer
Last Seen EmailemailThe last seen email associated with this customer.
Last Seen Cookie IDvuidODP's unique Cookie/Device ID used on web and mobile to identify anonymous customers.

App Identifiers (Examples)

Many apps/integrations (for example, Shopify or Magento) create identifiers that map to an external system (for example, Shopify ID) which allows for improved user resolution, troubleshooting, and transparency. Some examples:

Display NameDescription
Last Seen Shopify ID (mystore)shopify_mystore_id
Last Seen Zendesk ID (mysupporteam)zendesk_mysupportteam_id

๐Ÿ“˜

Note

Every identifier is also stored as an array in the plural form (with a max of 25 for each identifier type).

For example, all the known emails for a customer are stored in the a field called Emails (emails) and Cookie ID are stored as vuids.

Custom Identifiers

If you have an external database, data lake, or system (for example, a point-of-sale system) that uses a unique identifier to track customers, ODP supports the creation of Custom Identifiers to ensure that all known information about your customers is tracked and you are able to reconcile information within ODP with the external data source.

๐Ÿ“˜

Note

Custom Identifiers are considered when merging customers together.

Identifiers are categorized into levels of confidence:

  • High Confidence: Identifiers that, when seen, are unlikely to be shared across customers and devices (for example, Email, Phone Number, Shopify ID)
    • I have high confidence that this identifier can be used to merge customers together
  • Low Confidence: Identifiers that are likely to be shared across devices and cannot be confidently associated with one person when a conflict is detected (for example, Cookie ID, Browser Push Token)
    • I have low confidence that this identifier can be used to merge customers together

Example 1 (Shared Device)

Your customers object looks like the following:

Zaius ID (zaius_id)Emails (emails)Cookie IDs (vuids)
1[email protected], [email protected]A
2[email protected]B

You receive an event:

Event TypeEmail (email)Cookie ID (vuid)
pageview[email protected]A

This event seems to indicate that Jane is using a browser formerly associated with John. Because Cookie ID is a Low Confidence identifier, instead of merging these customers together, we will move the Cookie to now associate it with Jane:

Zaius ID (zaius_id)Emails (emails)Cookie IDs (vuids)
1[email protected], [email protected]
2[email protected]A, B

If ODP merged these customers together, then every single person that shared that computer would be merged into one. So as a safety measure, the Cookie ID was moved.

Example 2 (Integration/App)

Your customers object looks like the following:

Zaius ID (zaius_id)Emails (emails)Cookie IDs (vuids)
1[email protected]ABC
2[email protected]XYZ

You receive an event:

Event TypeEmail (email)Shopify IDs (shopify_mystore_ids)
pageview[email protected]ABC

This event seems to indicate that John's Shopify account has a secondary email. Because Shopify ID is a High Confidence identifier, the customer records will be merged together:

Zaius ID (zaius_id)Emails (emails)Shopify IDs (shopify_mystore_ids)
1[email protected], [email protected]ABC, XYZ

Create Identifiers

name: customers
identifiers:
  - name: acme_ios_push_token
    display_name: Acme iOS Push Token
    merge_confidence: high
    messaging: true

Property

Definition

identifiers.name

The singular name of the identifier used within API and SDK calls.

identifiers.display_name

The user-friendly name used in the ODP UI to refer to the identifier.

identifiers.merge_confidence

High Confidence: Identifiers that, when seen, are unlikely to be shared across customers and devices (for example, Email, Phone Number, Shopify ID)

_ I have high confidence that this identifier can be used to merge customers together

Low Confidence: Identifiers that are likely to be shared across devices and cannot be confidently associated with one person when a conflict is detected (for example, Cookie ID, Browser Push Token)

_ I have low confidence that this identifier can be used to merge customers together

identifiers.messaging

Boolean.
โ€‹
Whether or not this identifier can be used to contact customer on a channel.

All identifiers must include one of the following suffixes:

  • id
  • hash
  • number
  • token
  • alias
  • address
  • key

When an identifier is created, three fields are created:

The plural version of the identifier (for example, ios_push_tokens) on the Customer that contains a list of 25 last seen identifiers for that customer.

The singular version of the identifier (for example, ios_push_token) on the Customer that contains the last seen identifier for that customer.

An event audit version that is populated when an event comes in with the singular version (for example, event_ios_push_token).

All events and data should use the singular version of the identifier name (for example, ios_push_token).


Did this page help you?