Users refers to the users of your app or website who have installed your app, browsed through your website, purchase your products or services etc. These could be known or unknown users. Known users are those users who you’ve been able to uniquely identify based on certain unique information provided by them such as their email ID, phone number etc. Unknown users refers to those who have visited your website or downloaded your app but have not logged in, made a purchase yet etc. Unknown users can become known whenever they send their identifiable information to you. This could be when they sign-up or make a purchase where they specify their email ID, phone number etc. WebEngage also stitches together a complete profile of each user’s behavior from when the user was unknown to when the user became known and after.
Once you’ve integrated the WebEngage SDK on your app or website, WebEngage will automatically start capturing data related to all your users eg. their location, the device they’re using etc. For WebEngage to start identifying your users, you will have to call a function at an appropriate place such as user sign-up, user login, purchase etc.
A user profile in WebEngage has a number of different attributes linked to it. These attributes define a user and are also used in creation of segments or personalization of campaigns.. Some example of these attributes are first name, last name, country, device model etc.
User attributes in WebEngage are of 2 types: System and Custom.
These are defined by WebEngage and it is preferred that you send the corresponding attribute data to WebEngage in the format in which it is defined. For example, WebEngage Website SDK has defined the attribute for the first name of the user as
we_first_name. If you’re sending data related to the first name of the user to WebEngage, it is recommended that you use the
we_first_name attribute than any other custom attribute to avoid confusion as you would further use this data to create segments, personalize data in campaigns etc.
Following is the list of system attributes defined by WebEngage:
Birth date in YYYY-MM-DD format
Gender - value can only be one of
Phone number of the user in E.164 format
eg. +551155256325, +917850009678
Encrypted email address for use with a private ESP (Email Service Provider). This can be a maximum of 512 characters. See PII hashing for more details
Encrypted email address for use with a private SSP (SMS Service Provider). This can be a maximum of 512 characters. See PII hashing for more details
If this is set to
false, Email campaigns will not be sent to the user
If this is set to
false, SMS campaigns will not be sent to the user
If this is set to
false, Push campaigns will not be sent to the user
You can define various custom attributes of a user depending on your business needs. Some examples of custom attributes are
Please take note of the following limitations when creating new custom attributes:
- Values of an attribute can only be of one of the following data types:
- A user profile can have a maximum of 25 custom attributes per data type for the following data types:
Date(i.e. 25 custom attributes of
Numberdata type, 25 custom attributes of
Stringdata type etc.).
- A user profile can have as many attributes of
Arraydata types as you would like with the limitation that all the values together occupy a maximum space of 16KB.
- The maximum length of a
Stringdata type for an attribute is 1000 characters.
- The maximum length of an attribute name is 50 characters.
- The name of your user attribute should not begin with
Also, please ensure that the attribute names and data types are consistent across all your different platforms. Therefore, if you have defined
score to be a
Number attribute, please ensure that all your sources - Android, iOS and Website - are sending this attribute as a
Number. Data types, once defined, cannot be changed later. If WebEngage receives data in a different data type from what was first defined, it will not be able record this data.
You can identify users and send this data to WebEngage by calling the
login function with a unique user ID as the parameter. Following are some of the places where you can identify your users and send the relevant data to WebEngage: Sign-up, Purchase, Login etc. As soon as the login function is called, WebEngage stitches together all the activity of the user - from when the user was unknown to now when the user is known. Once the user logs out, WebEngage will stop tracking its behaviour if you call the
logout function. Similarly, if you want to stop tracking a user's behaviour at some point, you can call the
Please ensure that you use a unique user ID to identify your users because a user ID once assigned, cannot be changed. Although the user ID can be any String that uniquely identifies users in your system, we recommend using system generated user IDs instead of information that can change over time such as email ID, username or phone number. Also, do note that a user ID can have a maximum of 100 characters.
You can call certain setter functions in WebEngage to set the values of the system or custom attributes for a user.