Tracking User Attributes

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

 

IMPORTANT

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.
JavaScript
var moe = new MoECordova.init();
moe.setUniqueId(uniqueID);

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.

JavaScript
var moe = new MoECordova.init();
moe.logout();
 

IMPORTANT

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:

JavaScript
var moe = new MoECordova.init();
moe.setAlias("updatedUniqueID");
 

IMPORTANT

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

JavaScript
    var moe = MoECordova.init()
    moe.setUserName("abc");
    moe.setFirstName("abc");
    moe.setLastName("xyz");
    moe.setEmail("abc@xyz.com");
    moe.setPhoneNumber(1234567890);
    moe.setGender("Male"); // OR Female
    // Format - ISO-8601 String
    moe.setBirthdate("1970-01-01T12:00:00Z");

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

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

You can use following method set the timestamp user attribute :

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