Device identifiers
Last updated
Last updated
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.
Device technical identifiers are related to a registry. There are 6 types of registries:
Type | Description |
---|---|
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.
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
Hereafter is the description of the documents and their properties, as they can be fetched on the APIs.
device
property of user device pointThe properties available in the documents might differ slightly from the ones of the runtime schema.
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.
The installation id can be seen in two formats:
ins:<registry_id>:<value>
for all authenticated endpoints
ins:<registry_token>:<version_prefix><base64(value)>
for storage in the browser cookie and for non-authenticated endpoints (pixel routes), with version_prefix
currently defined as a
Example:
ins:1001:0d4a58ca-14e5-11ee-be56-0242ac120002
ins:my_registry_token:aMGQ0YTU4Y2EtMTRlNS0xMWVlLWJlNTYtMDI0MmFjMTIwMDAy
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 be mum:89998434
In the mappings
list related to the device point
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 cookies
tech: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
.
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:
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.
net:<registry_id>:<value>
for device technical ids of type NETWORK_ID
dev:<registry_id>:<value>
for type CUSTOM_DEVICE_ID
tv:<registry_id>:<value>
for type TV_ADVERTISING_ID
udp:<value>
if you want to use directly the device point identifier instead of a custom device identifier.
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:
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.
Property | Type | Description |
---|---|---|
Property | Type | Description |
---|---|---|
Property | Type | Description |
---|---|---|
Property | 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