Search…
⌃K

Identifier Types

How to encode IDs for storage and matching with Optable DCNs

What are Identifiers?

An identifier (or "ID") is a value that can be used to identify a device, network, person, or household. For example, an Email address can be encoded as an identifier, and so can an IP address, a phone number, etc.
An ID has a type which is specified by a special prefix, prepended to its encoded value. Each type of ID must be encoded according to the rules specified in the ID Encodings section below.

ID Graphs

IDs can be linked together to indicate that they belong to the same person or household. An identity (ID) graph is a collection of linked IDs, and it can be constructed from a company's private data. Typically, a company's private identity graph will contain many clusters of linked IDs, with each cluster representing a person or household.
An ID graph enables your Optable DCN to perform automatic identity resolution. Identity resolution consists of resolving a specified identifier to a list of neighbouring identifiers associated with the same person or household.

Loading IDs

Identifiers and their ID graph links are loaded into your Optable DCN when:
  1. 1.
    The identify API is called from a site or app as a result of using one of our SDKs
  2. 2.
    You load ID graph data from your other systems (CRM, DMP, CDP, etc.) using the source API
  3. 3.
    You upload a list of IDs into a dataset audience
Whenever you load an identifier you need to take care to encode it properly. An ID's encoding includes a prefix specifying its type. See Type Prefixes for details. IDs are loaded into your DCN as Identifier Profiles.

ID Matchability

An ID type can be either matchable or local. A matchable ID can be used to establish a record match between partners, whereas a local ID is only meaningful within the private database of a company.
For example, an Email address or phone number are considered to be matchable IDs since they are expected to have the same value for a given individual person between organizations, whereas a PPID is considered to be local, because the same PPID value across publishers is not necessarily identifying the same person.

ID Encodings

Matchable ID Types

The Optable DCN knows about the following types of matchable IDs, and expects each ID type's value to be encoded as specified:
Type
Expected Encoding
Email address
SHA256 hash of down-cased and space-trimmed address
Phone number
SHA256 hash of E.164 normalized phone number
IPv4 address
Four period (.) separated octets, each of which contains a number from 0 to 255
IPv6 address
Eight colon (:) separated segments, each of which contains 4 hexadecimal digits, down-cased
Down-cased alphanumeric value, including dashes if any
Down-cased alphanumeric value, including dashes if any
Roku RIDA
Down-cased alphanumeric value, including dashes if any
Down-cased alphanumeric value, including dashes if any
Down-cased alphanumeric value, including dashes if any
NetID
Base64 web-safe encoded value with 70 characters (TPID)

Custom ID Types

You can configure up to 10 custom ID types. A custom ID can be any local ID which is not used for matching with partners, but is linked with other matchable IDs.
When you are on the receiving end of an audience match, once your incoming audience is materialized it will include any custom IDs that are linked to the latest version's matched IDs.
Examples of custom IDs are PPID, CRM_ID, userID, ProprietaryDeviceID, etc. Since these are internal identifiers, the encoding is up to you.
Note that the value of a custom ID is case-sensitive, so two values differing only in case will be considered to be different identifiers.
The maximum length of a custom ID value is 128 characters, and the minimum length is 1 character, following the c: prefix.

Optable VID

If you use the SDKs to load data, your DCN will automatically assign IDs to browsers and devices seen on each of your sites and apps. The assigned ID is in the ksuid format and is called the VID and it is designed to track visitors to your sites and apps. It is considered to be a local (and therefore not matchable) identifier.
Note that the uniqueness scope of the visitor ID is the individual site or the app. The same browser or device appearing on two of your sites or apps will have different visitor ID values on each. You can link visitors to other IDs using the SDK identify API.

Type Prefixes

When loading IDs into an Optable DCN, you must prepend its encoded value with the appropriate ID type prefix:
Type
Prefix
Email Address
e:
Phone Number
p:
IPv4 Address
i4:
IPv6 Address
i6:
Apple IDFA
a:
Google GAID
g:
Roku RIDA
r:
Samsung TV TIFA
s:
Amazon Fire AFAI
f:
NetID
n:
Custom IDs
c: c1: c2: c3: c4: c5: c6: c7: c8: c9:
Optable VID
v:

Examples

Some examples of various types of IDs are shown below.

Email Address

The following Email addresses:
would be normalized and encoded as follows:
e:31c5543c1734d25c7206f5fd591525d0295bec6fe84ff82f946a34fe970a1e66
e:274e44d98f150bdaff591268419d09f488c22a617e34e15434e5ac1f8db3b216
e:6cfb3c87ab6570473e2931f440cf33b1b0335355911be42c876bf187cb8b75d8

Phone Number

The following phone numbers:
1 (514) 555-1234
+1514-555-1234
1-514 5551234
+1 514 555 1beg
33 555 456789
+216 30 010 123
+44 (121) 234-5678
(81) 31 234-5678
when formatted according to E.164 look like:
+15145551234
+15145551234
+15145551234
+15145551234
+33555456789
+21630010123
+441212345678
+81312345678
After SHA256 hashing and prefixing, the resulting list looks like:
p:cae639ccf68d6b1a47262a84194b5d0a1e184c738aa558a4f012b59a1b5f9947
p:cae639ccf68d6b1a47262a84194b5d0a1e184c738aa558a4f012b59a1b5f9947
p:cae639ccf68d6b1a47262a84194b5d0a1e184c738aa558a4f012b59a1b5f9947
p:cae639ccf68d6b1a47262a84194b5d0a1e184c738aa558a4f012b59a1b5f9947
p:ebad3b64ae96005048fca1af2f15e5251ad3844d00fb80252711de9b651c8e46
p:6d82245796735fa5c3ff5e6095eadc8f8ae81d98eb7f1609a2b1ef141f95a460
p:9d662385445e740ad2e7d79c3b2963590132da11e94db6dbd7a9ae4f16138730
p:7d7350df0a907cf9cf79b40e32af0a5cc71886126b86babd1f2ccedd25d336c6

IPv4 Address

i4:8.8.8.8
i4:1.1.1.1
i4:192.168.3.12

IPv6 Address

i6:2001:0db8:85a3:0000:0000:8a2e:0370:7334
i6:2001:0db8:3333:4444:5555:6666:7777:8888
i6:2001:0db8:3333:4444:cccc:dddd:eeee:ffff

Apple IDFA

a:496f5db5-681f-4392-acd5-0d4f6e2f6b88
a:8ea990eb-c3b1-4093-854c-ec022feed54f
a:1403ef42-8513-402f-826e-40863aa287c1

Google GAID

g:64873d9f-d5af-4770-8bcb-167a220eb17d
g:c1b8d576-fde5-40d1-93ee-1d15962537a7
g:16bd9620-08c7-484b-9b64-070ad0c91470

Roku RIDA

r:0b179df0-6cd5-49f1-be21-425d002e0d22
r:8a57d24e-8efb-4276-8f79-22edae3af307
r:60859cb0-ce37-4107-8637-ab550f0cf5c8

Samsung TIFA

s:e0ef86a8-6ebf-4c9d-9127-e69407fe748d
s:c67251e6-4cc7-41bf-8042-058aeaf6e086
s:a701eb06-9b14-489c-a097-de6c3ab596d1

Amazon AFAI

f:6e853799-ef31-4a30-8706-9742be254d38
f:f839fb60-51b4-49d1-a870-808032c995d3
f:487a6fbb-87bc-491f-a663-fd0c1e8ea03b

NetID

n:_YV2v2Uhx3vqeH47Rrhzgr-4c3VNsxis4M1WY9qn--QTbVapax5VM2HJykoGAyWcwS5lKQ
n:3g---iNqaaXav5Wzp8m9h7mg68ChHKV9IDjaMgpTRKFkLSKN4SM3hMTvsviB1riileyz0A

Custom ID

Here are a couple of examples of custom ID types (c: and c1:) local to the DCN:
c:d29c551097b9dd0b82423827f65161232efaf7fc
c1:AaaZza.dh012
c1:Bc22a4.cafff
c:44a091b1c0f75a84b1822165589cc82b99dfe289

Optable VID

Here's what Optable VIDs look like:
v:1oDGONJR1HsO8JKXTtdaOmNMP4V
v:1nGK8D1wIgpWfG1UsJrPQNjaZJf
v:1miKhqzFE1LM8NWAeirrzXqkncP