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.

Attributes

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.
Name
Type
Description

first_name

String

First name of a user

last_name

String

Last name of a user

email

String

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

birth_date

String

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

phone

String

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

gender

String

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

company

String

Company / employer of a user

hashed_email

String

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

hashed_phone

String

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.

Restrictions

  • 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