Identifier Types
How to encode IDs for storage and matching with Optable DCNs
Last updated
How to encode IDs for storage and matching with Optable DCNs
Last updated
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 |
---|---|
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.
ID5 is an identifier used across the advertising ecosystem to recognize users in a privacy-compliant way. It offers an alternative to traditional user tracking methods that relied on third-party cookies.
When loading ID5s via a batch source such as BigQuery or File Uploads, ensure that the ID5s are already decrypted and are prefixed with id5:
or the column header set to id_id5
for tabular data formats.
When using the Optable Web SDK, in conjunction with the ID5 JS SDK, your DCN can automatically collect ID5s and detect whether they are encrypted or decrypted. If the ID is encrypted, Optable can then facilitate their decryption, contact your CSM to enable this feature.
Automatic decryption of encrypted ID5s requires to be enabled manually, please contact your Optable CSM or support directly to submit your request. You will be required to provide your ID5 partner ID to enable this feature.
Utiq is a privacy-led digital identity solution developed by a consortium of European telecommunication operators. It provides an alternative to third-party cookies for targeted advertising, while prioritizing user consent and control over personal data.
When loading Utiq IDs from batch sources, ensure they are in their raw, unencrypted format. If your data format is tabular (e.g., CSV), the column header for Utiq IDs should be labeled as id_utiq
.
Utiq IDs are not typically encrypted. However, if you are working with encrypted Utiq IDs, please contact your Optable CSM or support for guidance.
Postal codes serve as unique identifiers for geographic areas. These identifiers must be alphanumeric and a maximum 10 characters. US ZIP, ZIP+4, Canadian, UK and other international postal code formats are supported. For enhanced matchability, postal codes are automatically downcased and all special characters are removed.
When loading postal codes from multiple countries, it is recommended to include an additional trait for the country code, such as trait_countrycode
, to segment postal codes based on their country of origin. Utilize this trait to target specific countries when building audiences.
When associating data specifically with a postal code area, id_z
should be used as the primary ID. All related data points, such as average income or average age, are to be loaded as traits linked to this ID.
To attach individual 'person' identities to postal codes when loading other ID types such as Emails, Mobile IDs, IPv4s, or other Custom ID types supported by Optable, these should be loaded separately. Load the specific ID type first (e.g., an email is id_e
), then the postal code as a neighboring identifier (id_z
), followed by person level relevant traits.
Currently, postal codes can be used within Optable for audience building, matching in clean room operations, but they are not available for activation purposes. If specific activation use cases are required, contact you Customer Success Manager for further guidance.
When loading IDs into an Optable DCN, you must prepend its encoded value with the appropriate ID type prefix:
Some examples of various types of IDs are shown below.
The following Email addresses:
Would be normalized and encoded as follows:
The following phone numbers:
When formatted according to E.164 look like:
After SHA256 hashing and prefixing, the resulting list looks like:
The following postal/zip codes:
Would be normalized as follows:
The following is an example of an encrypted ID5, which are prefixed by ID5*:
Which will be decrypted into the following format:
The following is an example of aa Utiq ID.
Here are a couple of examples of custom ID types (c:
and c1:
) local to the DCN:
id_z | trait_averageincome | trait_averageage |
---|---|---|
id_e | id_z | trait_income | trait_subscriber |
---|---|---|---|
Type | Prefix |
---|---|
Email address
SHA256 hash of down-cased and space-trimmed address
Phone number
SHA256 hash of E.164 normalized phone number
Postal code
Down-cased alphanumeric value, special characters removed. Maximum 10 characters.
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)
Down-cased alphanumeric value, prefixed by "ID5-"
Down-cased alphanumeric value, including dashes if any
12345
100k
45
12345
45k
true
Email Address
e:
Phone Number
p:
Postal Code
z:
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:
ID5
id5:
Utiq
utiq:
Custom IDs
c:
c1:
c2:
c3:
c4:
c5:
c6:
c7:
c8:
c9:
...
Optable VID
v: