User identifiers
It is important to distinguish the nodes representing a user identifier and the nodes describing content on the user.
Every activity or import that'll have one of those properties set will automatically be related to the correct user point.
Any activity using an identifier that doesn't already exist in the datamart will trigger the creation of a new user point.
There are three different types of user identifiers :
User accounts identify a user registered on your different systems, like your CRM, a loyalty program or any authentication system. have the following properties:
property | type | description |
user_account_id | String | Usually the same as the ID as the source, like your CRM. |
compartment_id | String | Compartment associated with the user account |
creation_ts | Timestamp | Account's creation timestamp |
Always use the
user_account_id
in correlation with a compartment_id
to identify a user by its account. If you don't specify a compartment_id
, then the default compartment will be used.Users can have multiple emails registered on the platform. They have the following properties:
property | type | description |
hash | ID | Hashed user email. Always use the same hashing function (ex: SHA-256 ) in your datamart and all its integrations to allow proper matching between data flows. |
email | String | Optional. User's email, not hashed. |
creation_ts | Timestamp | When the email was registered on the platform |
Use the email hash to identify a user by its email, usually with an
email_hash
field on requests.User agents identify a user by its device. Users can have multiple registered user agents, and each agent has 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.This unique identifier is automatically generated by mediarithmics and associated with each agent. It is built with a number and the syntax is
vec
:number
. For example vec:89998434
.They identify a web browser agents using cookies and are stored in the
mappings
field of the agent. Their values can be defined:- Inside a custom web domain. It then has the format
web:domainId:identifier
wheredomainId
is the web domain ID ofclient-domain.com
andidentifier
is the value of the identifier inside theclient-domain.com
- By an Ad Exchange. It then has the format
tech:provider:identifier
, for exampletech:apx:1234567654
for an AppNexus user identifier.
// Browser based agent
{
"vector_id": "vec:12345654321",
"device": {
"form_factor": "SMARTPHONE",
"os_family": "IOS",
"browser_family": "SAFARI",
"browser_version": null,
"brand": null,
"model": null,
"os_version": null,
"carrier": null,
"raw_value": null,
"agent_type": "WEB_BROWSER"
},
"creation_ts": 1591712194234,
"mappings": [
{
"user_agent_id": "tech:goo:Cazrazrkazeeza-azeree9-azezrze",
"realm_name": "GOOGLE_OPERATOR"
},
{
"user_agent_id": "tech:apx:12345654321654321",
"realm_name": "APP_NEXUS_OPERATOR"
}
]
}ja
They identify a mobile application using its advertising identifier, managed by the mobile operating system. They are stored in the
mappings
field of the agent. Here are the different names of the advertising identifiers depending on the operating system :
- The Google Advertising Identifier (GAID) or the Android ID (ADID) for Android
- The Apple Identifier (IDFA) for Advertisers on iOS
- The Windows Advertising Identifier on Windows Phone
The structure of a mobile application identifier is
mob
:operating system key
:encoding
:value
.operating system key
could be : and
for Androidios
for iOSwip
for Windows Phonee
The
encoding
field describes how the value is encoded. Available values are:raw
for no encodingsha1
for SHA1md5
for MD5
The
value
field contains the string value in lower case, after the optional encoding.// Mobile application agent
{
"vector_id": "vec:12345654321",
"device": {
"form_factor": "OTHER",
"os_family": "OTHER",
"browser_family": null,
"browser_version": null,
"brand": null,
"model": null,
"os_version": null,
"carrier": null,
"raw_value": null,
"agent_type": null
},
"creation_ts": 1573405364473,
"mappings": [
{
// IDFA user agent id with raw encoding: mob:ios:raw:6d92078a-8246-4ba4-ae5b-76104861e7dc
// IDFA user agent id with SHA1 encoding: mob:ios:sha1:d520a80c026be39edeb9c6e3f37c01f2da5f5e97
// ADID user agent id with raw encoding: mob:and:raw:97987bca-ae59-4c7d-94ba-ee4f19ab8c21
// ADID user agent id with MD5 encoding: mob:and:md5:ba06c008973b8a1bff6e087c6149227f
"user_agent_id": "mob:ios:raw:12345654-8246-1234-ae5b-123456454654",
}
]
},
Last modified 6mo ago