Tracking User Attributes 7.x.x

User attributes are specific traits of a user, like email, username, mobile, gender etc.
This is crucial and helps in targeting users based on these attributes across devices or installs.

Implementing Login / Logout Mechanism for a User

Setting Unique ID in order to Login User



Setting setUniqueId() is mandatory to tie a user across devices, installs/uninstalls, and across different platforms.

  • It is important to set the User Attribute Unique ID when a user logs into your app.
  • This is to merge the new user with the existing user, if any exists, and will help prevent creating of unnecessary/stale users.
  • Setting the Unique ID is a critical piece to tie a user across devices and installs/uninstalls as well across all platforms (i.e. iOS, Android, Windows, The Web) Set the USER_ATTRIBUTE_UNIQUE_ID attribute as soon as the user is logged in. The unique ID can be something like an email ID, a username (unique), or a database ID or any Backend generated ID.
  • Do not set this for the user who is not logged in.
var moe = new MoECordova.init();

Note: The following values are not allowed in the UniqueID field: "unknown", "guest", "null", "0", "1", "true", "false", "user_attribute_unique_id", "(empty)", "na", "n/a", "", "dummy_seller_code", "user_id", "id", "customer_id", "uid", "userid", "none", "-2", "-1", "2"

Reset or Logout User

Consider the scenario when a user logs out of their account. They might log in from a new account, as a new user. Here you need to call logout from MoEngage.

var moe = new MoECordova.init();


To clear out the existing user's data and his identity, call the logout method. This will clear the data for the current user and create a new one, when you re-login as explained in the above log-in scenario your user will be merged (if already exist in our system)

Updating User Attribute Unique ID

In a scenario where you have to update the User Attribute Unique ID value for a logged-in user use setAlias: method as shown below:

var moe = new MoECordova.init();


Please make sure that you use setAlias: for updating the User Attribute Unique ID and not setUserAttribute: with USER_ATTRIBUTE_UNIQUE_ID attribute and a new value, as this will reset the current user and lead to the creation of unintended users in our system.

SDK User Attributes Keys

You can also set the default user attributes like mobile number, gender, user name, birthday, etc using the below APIs

var moe = MoECordova.init()
moe.setGender("Male"); // OR Female
// Format - ISO-8601 String

Date attributes and Birthday in ISO-8601 format - yyyy-MM-dd'T'HH:mm:ss'Z'

var moe = new MoECordova.init();
moe.setUserAttributeLocation("attribute", 25.23, 73.23);

You can use following method set the timestamp user attribute :

var moe = new MoECordova.init();
moe.setUserAttributeISODateString("LastPurchaseDate", "1970-01-01T12:00:00Z");
Was this article helpful?
0 out of 0 found this helpful

How can we improve this article?