Identifier Types
How to encode IDs for storage and matching with Optable DCNs
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.
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.
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.
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 | |
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 | |
Down-cased alphanumeric value, including dashes if any | |
Down-cased alphanumeric value, including dashes if any | |
Down-cased alphanumeric value, including dashes if any | |
Base64 web-safe encoded value with 70 characters (TPID) |
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.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 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.
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: |
Some examples of various types of IDs are shown below.
The following Email addresses:
would be normalized and encoded as follows:
e:31c5543c1734d25c7206f5fd591525d0295bec6fe84ff82f946a34fe970a1e66
e:274e44d98f150bdaff591268419d09f488c22a617e34e15434e5ac1f8db3b216
e:6cfb3c87ab6570473e2931f440cf33b1b0335355911be42c876bf187cb8b75d8
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
+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
i4:8.8.8.8
i4:1.1.1.1
i4:192.168.3.12
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
a:496f5db5-681f-4392-acd5-0d4f6e2f6b88
a:8ea990eb-c3b1-4093-854c-ec022feed54f
a:1403ef42-8513-402f-826e-40863aa287c1
g:64873d9f-d5af-4770-8bcb-167a220eb17d
g:c1b8d576-fde5-40d1-93ee-1d15962537a7
g:16bd9620-08c7-484b-9b64-070ad0c91470
r:0b179df0-6cd5-49f1-be21-425d002e0d22
r:8a57d24e-8efb-4276-8f79-22edae3af307
r:60859cb0-ce37-4107-8637-ab550f0cf5c8
s:e0ef86a8-6ebf-4c9d-9127-e69407fe748d
s:c67251e6-4cc7-41bf-8042-058aeaf6e086
s:a701eb06-9b14-489c-a097-de6c3ab596d1
f:6e853799-ef31-4a30-8706-9742be254d38
f:f839fb60-51b4-49d1-a870-808032c995d3
f:487a6fbb-87bc-491f-a663-fd0c1e8ea03b
n:_YV2v2Uhx3vqeH47Rrhzgr-4c3VNsxis4M1WY9qn--QTbVapax5VM2HJykoGAyWcwS5lKQ
n:3g---iNqaaXav5Wzp8m9h7mg68ChHKV9IDjaMgpTRKFkLSKN4SM3hMTvsviB1riileyz0A
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
Last modified 4mo ago