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:
Usually the same as the ID as the source, like your CRM.
Compartment associated with the user account
Account's creation timestamp
Always use the
user_account_idin correlation with a
compartment_idto 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:
Hashed user email. Always use the same hashing function (ex:
Optional. User's email, not hashed.
When the email was registered on the platform
Use the email hash to identify a user by its email, usually with an
email_hashfield on requests.
User agents identify a user by its device. Users can have multiple registered user agents, and each agent has the following properties:
Unique ID generated by mediarithmics and associated with each agent
Device pieces of information such as operating system and browser
When the user agent was registered on the platform
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_idfield 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
number. For example
They identify a web browser agents using cookies and are stored in the
mappingsfield of the agent. Their values can be defined:
- Inside a custom web domain. It then has the format
domainIdis the web domain ID of
identifieris the value of the identifier inside the
- By an Ad Exchange. It then has the format
tech:provider:identifier, for example
tech:apx:1234567654for an AppNexus user identifier.
// Browser based agent
They identify a mobile application using its advertising identifier, managed by the mobile operating system. They are stored in the
mappingsfield 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
operating system key:
operating system keycould be :
wipfor Windows Phonee
encodingfield describes how the value is encoded. Available values are:
rawfor no encoding
valuefield contains the string value in lower case, after the optional encoding.
// Mobile application agent
// 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