Search results for "{{ search.query }}"

No results found for "{{search.query}}". 
View All Results

User Profiles

WebEngage automatically creates a profile for each person visiting your website or using your Android / iOS application that integrates the relevant WebEngage SDK. Initially these are "anonymous" profiles, later you can assign a unique User ID to a profile. Assigning an ID collects the user's activity and information across devices and platforms in a single unified profile.

You can also create or update user profiles with the REST API or through bulk upload from the Data Management screen.

User ID

A user profile's ID once assigned, cannot be changed. Although IDs can be any string that uniquely identifies users in your system, we recommend using system generated user IDs from your database instead of information that can change over time such as email addresses, usernames or phone numbers. An ID can be of maximum 100 characters.

The usual places to assign IDs are

  • On user signups
  • On user logins
  • On screen or page views where user identity becomes known
  • When the user context changes

You assign an ID to the profile by calling the login() method from our SDK on the respective platform.
See how in Web SDK | Android SDK | iOS SDK.


You can set simple bits of user information on the profiles in the forms of attributes. Attributes are suitable to store permanent information on users such as gender, contact information, whether premium user or not etc. These attributes can be used to segment users and target campaigns to a specific group. Additionally they can be referred to personalize campaign messages to each user.

Attributes can be set on anonymous profiles as well.

Predefined attributes

Attributes can be for any custom need you may have, however we have attached special meaning to some attributes. These predefined attributes carry the same semantics across any WebEngage account and have important expectations in some places such as -

  • An email campaign to a user is delivered to the email address set in their profile's email attribute.
  • A SMS message is sent to user on the phone number set in the phone attribute.



First name of a user



Last name of a user



Email address of a user (needs to be a valid email address)



Birth date of the user in yyyy-mm-dd format



Phone number of the user in E.164 format
eg. +551155256325, +917850009678



Gender of the user - values can only be male, female or other



Company / employer of a user



If set to false, users will be excluded from promotional email campaigns



If set to false, users will be excluded from promotional SMS campaigns



Encrypted email address for use with a private ESP (email service provider), maximum 512 characters. See PII hashing



Encrypted phone number for use with a private SSP (SMS service provider), maximum 512 characters. See PII hashing

Attributes are set on a profile by passing attribute name(s) and associated value(s) to the setAttribute() method from our SDK on the respective platform.
See how in Web SDK | Android SDK | iOS SDK.


  • Attribute values can be booleans, numbers, strings and dates. Complex and nested data such as maps and lists can also be passed but are available only in personalization
  • Except for the predefined attributes listed above, you cannot name your attributes starting with we_
  • Maximum length of attribute names is 50 characters and of string type attribute values is 1000 characters
  • In an account, in addition to the predefined attributes you can have at most 25 user profile attributes of a type (i.e. 25 string type attributes, 25 number type attributes,... )

User Profiles