User Identity Management
 

Early Access

This is currently a limited availability feature in the Beta stage. We are working towards making it generally available later in the year.

Overview

Businesses touching customers across various touchpoints would like to resolve users into a single user profile instead of managing multiple profiles across touchpoints. Resolving these users into a single user profile enables marketers to accurately segment and personalize the users based on the full suite of data collected across various sources and touchpoints and avoid any duplication.


MoEngage’s Identity Resolution feature allows brands to integrate multiple profiles of the same user obtained from various data sources. When various sources include clear identity information, such as a customer ID, an email address, or a phone number, you can combine them to build a unified customer profile. This maintains a single source of truth for each user, allowing you to seamlessly track their behavior on your application and regulate your business strategies accordingly.

Use Cases

  • A user browses a public listing page on a brand's website, providing their email ID (the unique ID in MoEngage) and phone number (a custom attribute in MoEngage). While at an offline store, the user uses their phone number to make a purchase. The brand aims to link the browsing activity on the website to the user who purchased at the store using their phone number instead of their email ID (which serves as the unique identifier in MoEngage).
  • A brand offers multiple user registration methods, including email login, mobile OTP, and social media logins like Facebook. However, these methods generate different user profiles for the same individual. The brand aims to consolidate these multiple profiles into a single unified profile as they gather additional information when the user engages in further activities.
  • An anonymous user browses product listings on an e-commerce app and adds items to the cart, but the order is placed offline. The e-commerce app wants to track all user activity under the same profile.

Data Ingestion Support:

Data APIs

Data ingestion in MoEngage uses ID as the index against which a user is created or updated. For app/DBs in MoEngage with Identity resolution enabled, Data APIs (Track User, Create Event, Bulk Import) can be used to create and track using any identifier (e.g. mobile number, email, etc.) as configured.

You will be able to:

  • Ability to create users via S2S even when they do not have an ID (but have other identifiers).
  • Ability to track activity against a user when identifiers other than ID are known

Request body:

Below is a sample cURL request for a Bulk Import API (Transition API) which consists of User and Event payload.

In a customer payload, attributes should contain at least one of the identifiers you have configured based on which users in MoEngage will be created, updated, or merged.

In an event payload, identifiers should be mentioned within the ‘user_identifiers” parameter as below:

"user_identifiers":{
"moe_mobile":"7038400883"
}

Sample cURL request:

cURL
curl --location 'https://api-xx.moengage.com/v1/transition?app_id=O7NIHY0AT1K1FL8DR1J1' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic SjcxUjJZVDNHNFNQN1BGWTdRTFBHRkxKOkI5bXJIaGJsMDc3TWRkSXJwRQ==' \
--data '{
"type": "transition",
"elements": [
{
"type": "customer",
"attributes": {
"moe_mobile": "7038400883",
"first_name": "John_MultiID_S2S_Event_TC01_U2_moe_mobile_1"
}
},
{
"type": "event",
"user_identifiers": {
"moe_mobile": "7038400883"
},
"actions": [
{
"action": "D31pWtk",
"attributes": {
"product": "MacBook Air",
"Brand": "Apple"
}
}
]
}
]
}'

 

SDK

Sample cURL request:

cURL
curl --location 'endpoint' \
--header 'Content-Type: application/json' \
--data '{
"viewsInfo": [
{
"EVENT_ACTION": "EVENT_ACTION_USER_ATTRIBUTE",
"EVENT_ATTRS": "{\"moe_email\": \"ABC\"}",
"EVENT_L_TIME": "18:06:2024:12:23:48",
"EVENT_G_TIME": "1718629243210"
},
{
"EVENT_ACTION": "EVENT_ACTION_USER_ATTRIBUTE",
"EVENT_ATTRS": "{\"Sagar1\": \"Sagar2\"}",
"EVENT_L_TIME": "18:06:2024:12:23:48",
"EVENT_G_TIME": "1718629243210"
},
{
"EVENT_ACTION": "qloNh_Android",
"EVENT_ATTRS": "{\"TlmQE\":\"MznFyf\",\"amount\":7000,\"product\":\"Mooo\",\"quantity\":2,\"category\":\"Mobiles\",\"currency\":\"Rs.\"}",
"EVENT_L_TIME": "18:06:2024:12:23:48",
"EVENT_G_TIME": "1718629243210"
}
],
"viewsCount": 3,
"identifiers": {}
}'
info

Info

DBs that enable multi-ID will no longer qualify for the “backend logout” mechanism. This is because the device ID acts as an identifier and will lead to a merge of users as opposed to logging them out.

User-Merging impact

Terminology used

Users having the same identifiers are merged. The user with the latest last seen will be referred to as the retained user and the user whose information is merged into the retained user and then deleted from MoEngage will be referred to as the merged user.

  • Once Identifiers are configured in the MoEngage backend, user-merging will start happening with newly ingested data. Existing data remains as is, merging for existing users can be done through the backend script - please refer to the Handling existing users sub-section.
  • If multiple identifiers are set for your DB, MoEngage will merge them if any one of them is the same across multiple users. There is no priority or sequence of merging.
    • E.g. your db is set with ID, mobile number, and email as the 3 identifiers. User merging in that db will happen based on any one of the 3 identifiers matching.

Data callouts

User attribute info: On merging, all user attribute information of the retained user will be retained. If there are user attributes present in merged users that are not present in retained users, those attributes will be transferred to the retained user profile.

info

Info

Important contact information may be lost. For example, if 2 users are merged based on the same mobile number but have different email IDs - the retained user’s information will be retained and the merged user’s email ID information will be lost.

Device info: On merging, all devices will be merged into the retained user, there is no device information lost.

Events info: All events transferred to the merged user will be transferred to the retained user. 

Other data callouts: Once merged, users cannot be unmerged. Please make an informed decision when configuring identifiers for your DB.

Segment callouts

Active and custom segments - When users get merged, the total number of users in active segments may come down as users are merged into one single profile.

Campaign callouts

  • User merging may impact the overall reachability number. As mentioned in the user attribute info callout on merging the contact details of the merged user will be lost and hence a campaign’s overall reachability may be reduced. This will also impact the overall campaign stats.
  • Only Data APIs (TrackUser, CreateEvent, BulkImport API) support tracking users with multiple identifiers, other APIs in MoEngage may still require ID at the moment.
  • Campaign APIs or Business provider APIs that provide a call-back into MoEngage with user IDs on sending a campaign may lead to user creation in MoEngage.

Reachability impact

Channel Reachability attribute Merge outcome
Email Hard bounce

If multiple users merging have the same email but conflicting hard bounce values, the outcome will be hard Bounce = true


If users merging have different email values, the retained user’s email preferences will remain post-merge.

Spam

If multiple users getting merged have the same email value but with conflicting Spam statuses, the outcome will be Spam = true


If multiple users getting merged have different email values, the retained user’s Spam status will be retained.

Unsubscribe

If multiple users getting merged have the same email value but with conflicting Spam statuses, the outcome will be Unsubscribe = true


If multiple users getting merged have different email values, the retained user’s Unsubscribe status will be retained

Subscription Categories Subscription categories of retained users will be retained
Push Reachability push status code (iOS, Android, Web)

On merging, all devices will be added to the retained user. 


Final Reachability will be derived based on all devices present with the retained user. 

SMS Subscription status Retained user’s mobile number preferences will be retained
Whatsapp Subscription status Retained user’s mobile number preferences will be retained

Process of enabling multi-id

Setting up identifiers

library_add_check

Prerequisites

Contact your CSM to enable Identity resolution for your DB.

Max 5 identifiers can be configured to merge users in MoEngage. Based on your business justification, please specify the identifiers.

Handling existing duplicate users

MoEngage will execute a one-time script to merge the existing users in the DB.

The same identifiers configured for merging will be used to merge the existing users in the DB. 

A report can be generated post the script run which will indicate every user merge action that has been executed.

Shopify flow

In this document, let’s learn how you can use MoEngage Multi-ID merge in Shopify.

library_add_check

Prerequisites

Ensure that Shopify is integrated with MoEngage and that the email ID or mobile number is configured as the identifier for profile merge. 

Scenario 1: Email ID as the identifier

Assume that a user lands on Shopify and uses their email ID to register themselves or purchase a product on your application.

Once the user hits Check Out, the following changes occur:

  • A cart token for that order is generated which regularly updates every time you make a new purchase.
  • The user is no longer treated as anonymous after they provide their email ID and other details during product purchase.

In this scenario, consider three instances when a user browses your application with different email IDs as described below:

Instance 1:

Anonymous user U1> Add items to cart > Provide email ID as “Demo@gmail.com” > Convert to registered user > Cart Token (C1) generated.

Instance 2:

Anonymous user U2> Add items to cart > Provide email ID as “Demo2@gmail.com” >Convert to registered user > Cart Token (C2) generated.

 

Instance 3:

Anonymous user U3> Add items to cart > Provide email ID "Demo@gmail.com” > Merge profile with U1 > Cart Token (C3) updated.

 

Since you’ve configured Email ID as the identifier, MoEngage will identify that User 1 and User 3 share the same email address and merge their profiles.

You can find all the user events in:

MoEngage dashboard > Segment > User Profile > Activity Info.

 

Scenario 2: Mobile number as the identifier

Assume that the user registered to your website with their email ID and provided their mobile number during the order transaction. The next time, the user visits your offline store and provides the same mobile number during product purchase.

 

User1 > Registers online using the mobile number (M1) on Shopify > Does some activity on the website.

 

User2 > Visits an offline store > Provides mobile number (M1) during product purchase. Offline data is then uploaded to MoEngage using CSV imports. In such cases, MoEngage will identify that User 1 and User 2 share the same mobile number and merge their profiles.

Was this article helpful?
0 out of 0 found this helpful

How can we improve this article?