📘

At WebEngage, anybody who has interacted with your business at least once is called a User.

Types of Users

At WebEngage, we automatically start detecting users across your platforms as soon as they're integrated. Depending on how you've configured your Unique User Identifier, these visitors are classified as Unknown Users and Known Users.

Let's walk you through this:

Unknown Users

Each time a new user visits your website or downloads your app, they are tracked as anonymous users in your dashboard and an Unknown User Profile is created for them. The WebEngage SDK automatically assigns them a unique ID (LUID) and start populating their user profile will all their data (System User Attributes, Custom User Attributes, System Events, Custom Events).

Known Users

As and when users share details that help you identify them in your platform, you can assign them a unique ID (CUID) to track them as Known Users.

Whenever a CUID is assigned to a user it means that:

  • The user is identified (they become Known Users in your dashboard).
  • A new, Known User Profile is created for them that contains all their data.
  • All their previous anonymous profiles are merged with the new Known User Profile to create a single unified view of your users. (This means that data from their first visit to your website to their latest interactions can all be found under a single user profile!)

User Attributes

You can think of user attributes as data points that paint a complete picture of who your user is, where they're from, what they do, and much more, depending on your business. Such granular user data enables you to segment them into contextually relevant segments and personalize campaigns sent through all the channels of engagement.

User Attributes are classified into 2 categories in WebEngage:

System User Attributes: Pre-defined by WebEngage, automatically tracked for all users post intergation. *(However, you will need to call setter functions of the WebEngage SDK to indicate when and and what value must be passed against each attribute.)

  • Custom User Attributes: Defined by you for each platform (app, website) and tracked through the respective SDKs.

Let's walk you through this.

System Attributes

We have predefined several generic user details that all digital businesses must track for their users. These details are referred to as System User Attributes are include information like the user's name, location, channel opt-in status and so on. Here's how you can set the value of these attributes for all your users.

Here's a list of all the System Attributes:

System Attribute NameData Type of AttributeWhat It Tracks
user_idStringUser ID
first_nameStringFirst name
last_nameStringLast name
birth_dateDateBirth date in YYYY-MM-DD format
genderStringGender which can be one of male/ female/ other
companyStringCompany
countryStringCountry
cityStringCity
regionStringRegion
localityStringLocality
postal_codeStringPostal Code
emailStringEmail ID
phoneStringPhone number, as shared by the user. eg. +551155256325, +917850009678
hashed_emailStringEncrypted email address of a user (as encrypted and sent by you to your WebEngage account). Here's how it works.
hashed_phoneStringEncrypted phone number of a user (as encrypted and sent by you to your WebEngae account. Here's how it works.
email_opt_inBooleanTracks channel opt-in preference of a user.

All users that share their email address are automatically opted-in (value equals 'true').

If set to false by you, then the user will be opted-out and will not receive any promotional Emails from you (transactional Emails are sent to all users irrespective of their opt-in status).
sms_opt_inBooleanTracks channel opt-in preference of a user.

All users that share their phone number are automatically opted-in (value equals 'true').

If this is set to false by you, then user will be opted-out and will not receive any promotional SMS campaigns
(transactional messages are sent to all users irrespective of their opt-in status).*
push_opt_inBooleanTracks channel opt-in preference of a user.

All users that download your app and have Push Notifications enabled on their device are automatically opted-in (value equals true).

If this is set to false by you OR if a user disables Push Notifications (value is automatically set to false) they will be opted-out and will not receive any promotional campaigns (transactional notifications are sent to all users irrespective of their opt-in status).
whatsapp_opt_inBooleanTracks channel opt-in preference of a user.

As per Facebook's guidelines, a user must explicitly opt-in to receive WhatsApp messages from your business. Thus, all users that share their phone number are opted-out of the channel (value equals false).

As soon as you obtain permission from the user you will need to set the value to true to start engaging them through WhatsApp. (Detailed Read)

Custom Attributes

Custom Attributes are specific user data that you can custom define and track for all your users. These enable you to understand a user's preferences in the context of your business and deliver contextually personalized experiences in real-time.

Depending on your business, these attributes could be anything like:

  • RFM Score | Lead Score
  • Language
  • Membership Type | Membership Status | Subscription Status
  • Trial Start Date | Trial End Date | Trial Days
  • Country Code
  • Preferred Genre
  • Offer Type and so on.

Here's how you can define and track Custom Attributes for your users.

Tracking Users

Identifying Users

You can identify your users by calling the the login function of the WebEngage platform SDKs and assigning them a unique CUID. Depending on you business, you can choose to call this function in moments where the user's identity becomes known, like Signup, Login, Purchase and so on.

Here are a few guidelines to help you get started:

  • An ID can have of maximum 100 characters and cannot be changed once asigned to a user.

  • Although the ID can be any String value that uniquely identifies users in your system, we recommend using system generated IDs from your database instead of information that can change over time such as email address, username or phone number.

🚧

Please Refer to the Respective SDK Functions to Identify Your Users

Web

Android

iOS

React Native

Cordova/ Phone Gap/ Ionic

Xamarin.Android

Xamarin.iOS

Unity.Android

Unity.iOS

Setting Attribute Values

You can call certain setter functions of the WebEngage platform SDKs to set the value of System Attributes and Custom Attributes for each user. This enables you to segment users and deliver contextually personalized messages through all the channels of engagement.

Here are a few guidelines to help you create and track Custom User Attributes:

  • Custom User Attribute names are case sensitive and must be less than 50 characters long. String attribute values must be less than 1000 characters long. Any characters beyond that will be truncated.

  • Values of attributes can be of one of Boolean, Number, String, Date, Map and Array. You can create a maximum of 25 Custom User Attributes of each data type.

    • A user profile can have as many attributes of Map and Array data types as you would like with the limitation that all the values together occupy a maximum space of 16KB.
  • Custom User Attribute names must not start with we_. Names starting with we_ are reserved exclusively for internal use at WebEngage. Thus, to avoid data contamination for your account, such data will be ignored if used for your attributes.

  • The first datapoint synced to WebEngage defines the data type for that user attribute. Thus, please ensure that the attribute names and data types are consistent across all your different platforms.

    • For example, if you have defined score to be a Number attribute, then please ensure that all your sources - Android, iOS and Website are sending values of this attribute as a Number. If WebEngage receives data in a different data type from what was first defined, then we will not be able to record this data.

🚧

Please Refer to the Respective SDK Functions to Set Values of User Attributes

Web

Android

iOS

React Native

Cordova/ Phone Gap/ Ionic

Xamarin.Android

Xamarin.iOS

Unity.Android

Unity.iOS

(You will need to intergate the respective platforms with WebEngage before you start tracking user attributes.)

Updated 5 months ago


So, what's next?

Let's walk you through behavioral data, aka. Events, and how you can track it.

Events

Users


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.