Device identifiers
In each datamart, all device information is stored within a device graph:
Devices are represented by user device points
Device identifiers are represented by user device technical ids
A user point can have multiple user device points. A user device point can have multiple user device technical identifiers, and one device info.
Organizing device technical identifiers within registries
Device technical identifiers are related to a registry. There are 6 types of registries:
Type | Description |
---|---|
| For each site on which the installation ID feature is activated, a registry of type |
| Registries representing mobile advertising ids that can be shared across editors are related to this type. It includes for instance Android Advertising IDs (AAID) and Apple Identifier for Advertisers (IDFA). |
| Registries representing mobile ids that can be only be shared among apps of the same developer account are related to this type. This includes for instance Apple Identifier for Vendors (IDFV). |
| Includes all registries that refer to Smart TVs and TV boxes: AAID on Android TV and Android boxes, IDFA on Apple TV, Amazon Advertising ID on Fire TV, Tizen Advertising ID on Samsung Smart TV etc. |
| |
| If you want to use your own device identifier (for instance: a 1P cookie that you generate), you can create it under this type. |
| "mediarithmics User Mapping Identifier" This type and the single registry it contains are dedicated to hosting mediarithmics 3P cookie (vector_id) and references to partners' 3P cookies, until their deprecation |
Registries are related to organisations. You can manage them by going to Navigator > Settings > Organisation > Device registries.
You can create your own registries under the types MOBILE_VENDOR_ID
and CUSTOM_DEVICE_ID
, or subscribe to existing registries under other types.
Once created, you can activate them on the organisation datamarts.
Registries of type INSTALLATION_ID
are automatically created and removed by the platform.
Do not forget to create or subscribe to the required registries before using them to identify user data. If user data is received under unknown registries, identifiers will be removed and data may not be ingested properly.
Two web browsers on the same desktop PC are considered as two distinct agents. For example, your Chrome browser on your Windows laptop is a different device than your Firefox browser on the same laptop. On smartphones, the web browser and the phone itself are considered as two distinct agents.
Merge of device points
When two device technical ids are associated, the related device points are merged. This can happen:
When capturing user activities with multiple identifiers
When using the identifier association feature
If the related device points are linked to different user points, a merge of device points will induce the merge of user points as well.
For some ids that are considered as probabilistic (e.g. that can create false positive matchings of users), the merge of device points / user points will not be allowed to avoid inconsistencies in your ID graph.
You contact your Account manager for additional information
Description of device graph documents
Hereafter is the description of the documents and their properties, as they can be fetched on the APIs.
User device point
Property | Type | Description |
---|---|---|
id | String | The document identifier. Formatted as |
type | Enum UserIdentifierType | In the case of device points, this property takes the value |
creation_ts | Timestamp | Timestamp at which the device point was created |
last_activity_ts | Timestamp | |
device | Object of type | Description of the device through a set of normalized properties |
technical_identifiers | List of objects | List of available identifiers for the device |
device
property of user device point
device
property of user device pointProperty | Type | Description |
---|---|---|
brand | String | The brand of the device (ex.: "Apple") |
model | String | The model of the device (ex.: "Iphone 14") |
agent_type | Enum UserAgentType | Indicates the type of device. Possible values: |
browser_family | Enum BrowserFamily | If the device is a browser. Possible values: |
browser_version | String | The version of the browser. |
form_factor | Enum FormFactor | Indicates the format of the device. Possible values: |
os_family | Enum OperatingSystemFamily | The operating system family of the device. Possible values: |
os_version | String | The version of the operating system (ex.: "macOS 10.15 Catalina") |
carrier | String | The service provider that ensures connectivity of the device. |
User device technical identifier
Property | Type | Description |
---|---|---|
user_agent_id | String | The value of the identifier. See format hereunder |
registry_id | String | The registry to which the technical identifier |
type | Enum RegistryType | The type of the registry to which it is attached. See section above for possible values |
creation_ts | Timestamp | Timestamp at which the document was created |
last_activity_ts | Timestamp | |
expiration_ts | Timestamp |
The properties available in the documents might differ slightly from the ones of the runtime schema.
user_agent_id
user_agent_id
user_agent_id
property allows to use device identifiers in a single property by concatenating several informations such as registry type, registry id and the id value.
user_agent_id formatting - Cookie-based identifiers
Installation ID - First-party cookie generated by mediarithmics
The installation id can be seen in two formats:
ins:<registry_id>:<value>
for all authenticated endpointsins:<registry_token>:<version_prefix><base64(value)>
for storage in the browser cookie and for non-authenticated endpoints (pixel routes), withversion_prefix
currently defined asa
Example:
ins:1001:0d4a58ca-14e5-11ee-be56-0242ac120002
ins:my_registry_token:aMGQ0YTU4Y2EtMTRlNS0xMWVlLWJlNTYtMDI0MmFjMTIwMDAy
Vector ID - mediarithmics third-party cookie
Until their planned deprecation, mediarithmics offers to use its third-party cookie, the vector ID. More information can be found on the cookie documentation.
mediarithmics third-party cookie can be used as a user identifier with two different formats:
vec:<value>
mum:<value>
Both formats are equivalent: the first one is the exact format stored in the cookie, the second one is the one stored as a technical identifier in the the datamart.
Example: vec:89998434
/ mum:89998434
For a given device point, the vector ID can be retrieved:
In the
technical_identifiers
list as a device technical id of type MUM_ID ; in which case the identifier format will bemum:89998434
In the
mappings
list related to the device point
Partners' third party cookies
The formatting of advertising cookie values from Google and Xandr is a bit specific due to the historical activity of mediarithmics as a DSP provider:
tech:goo:<value>
for Google advertising cookiestech:apx:<value>
for Xandr advertising cookies
For other partners, their third-party cookie value is attached to a web domain that is defined by mediarithmics. The identifier format is as follows:
web:<web_domain_id>:<value>
The web domain designates the partner-domain.com
and value
the identifier value inside the cookie on partner-domain.com
.
user_agent_id formatting - Mobile application identifiers
Mobile advertising identifiers
The generic format for mobile advertising ids is:
mob:<os>:<encoding>:<value>
.
The os
field designates the OS of device: and
for Android, ios
for iOS.
The encoding
field describes how the value is encoded. Available values are: raw
for no encoding, sha1
for SHA1, md5
for MD5.
The value
field contains the mobile advertising id value, encoded according to the previous field. The non-encoded ID should be in lower case for Android and in uppercase for iOS.
Example:
Mobile vendor identifiers
The compressed format for mobile vendor ids is:
mov:<os>:<registry_id>:<value>
The os
field designates the OS of device: and
for Android, ios
for iOS.
The registry_id
field designates the registry to which this device id should be linked.
value
refers to the identifier value as generated within the mobile application.
user_agent_id formatting - Other device identifiers
net:<registry_id>:<value>
for device technical ids of typeNETWORK_ID
dev:<registry_id>:<value>
for typeCUSTOM_DEVICE_ID
tv:<registry_id>:<value>
for typeTV_ADVERTISING_ID
udp:<value>
if you want to use directly the device point identifier instead of a custom device identifier.
User agents (legacy)
User agent is a legacy format that is being replaced replaced by user device points and user device technical identifiers.
User agents are the legacy format to store device identifiers. Several user agents can be attached to a user point, and each user agent has a device info object.
All user agents are identified by a vector ID.
User agents have the following properties:
Property | Type | Description |
---|---|---|
vector_id | String | Unique ID generated by mediarithmics and associated with each agent |
device | Object | Device pieces of information such as operating system and browser |
creation_ts | Timestamp | When the user agent was registered on the platform |
mappings | Array | Additional identifiers called the device mappings. They are cookie-based identifiers or mobile application identifiers associated with the agent. |
Two web browsers on the same desktop PC are considered as two distinct agents. For example, your Chrome browser on your Windows laptop is a different device than your Firefox browser on the same laptop. On smartphones, the web browser and the phone itself are considered as two distinct agents.
Agent-based operations like visiting a website or seeing an ad will generally automatically leverage the user agent to identify the user. You can use an agent to identify a user, usually with a user_agent_id
field in the requests.
The value
field contains the string value in lower case, after the optional encoding.
Last updated