User Profiles


After integrating our SDK, the platform creates a user profile for each person who launches your app or visits your website.


User Profile

A CleverTap user profile has a set of default fields, such as email, phone number, and language. You can also extend the default user profile by adding custom fields that are specific to your business.


Custom Profile Field Example

If you offer a subscription service in your app, you can create a custom profile field to track what type of plan the user purchased.


User Properties

The benefit of adding more information to a CleverTap user profile means the ability to:

  • Create a user segment for people who have a specific profile property you have defined, then build a campaign to engage with that segment.
  • Personalize your campaign messaging with information.
  • Personalize your app based on information from that person's CleverTap user profile.

User Profile Data Model

A CleverTap user profile consists of three parts:

  • Identifiers: Each user profile is given a unique CleverTap ID. You can also add other identifiers to recognize the user including email, phone number, Facebook ID, or your own custom identifier.
  • Properties: This is information stored about the user such as age, gender, device, and location. You can also extend the default user profile by adding custom fields that are specific to your business.
  • Events: This is a log of actions taken by a user in your app such as a product viewed, a video watched, or an item added to cart.

User Profile Types

The CleverTap user profile type changes automatically depending on the information set in them. A user profile can only belong to one type.

  • Anonymous: Anonymous profiles do not contain uniquely identifiable information about the user.
  • Identified: Identified user profiles (also referred to as addressable profiles) can be reached either via email or push notifications. They contain uniquely identifiable information such as email or user ID.

User Scenarios for Anonymous Profiles

When tracking anonymous profiles, CleverTap tries to retain guest events as much as possible. The following scenarios explain how anonymous profiles are logged in the system.

Scenario 1
Anonymous user X performs event A from desktop A > Logs in > Performs event B.

Scenario 2
The same user now uses a separate browser and performs event A anonymously > Logs in (as the same user) > Performs event B. Event B will be mapped to this user X.

In scenario 2, all the events done before the user identifies themselves are mapped to an anonymous profile. All events post login is mapped to user X and is visible on the profile. As a best-case scenario, the platform shows all the events on the same user X except that any events done in an anonymous mode are shown in gray; these grayed-out events will not be considered for analytics or segmentation. The events before the login event will not be remapped to user X because they are done in an anonymous mode.

Since the user has performed the events anonymously, we consider this user as a different user, even though, this is mapped to an already existing identified profile.

Updating the User Profile

Adding user properties to your user profiles can help you enrich your user information, segment your audience better, and hyper-personalize your messages. CleverTap provides different methods to update user profile properties. By leveraging these methods, businesses can effectively engage with users and drive growth. The following are the different ways to update user profile properties on the CleverTap dashboard:

Update User Profile via SDK

You can use the CleverTap SDK to update user profiles and enrich the profile further to send personalized campaigns. The Onuserlogin method is used to identify individual users on a device. However, if additional user properties such as gender and date of birth are required, the profiles can be updated using the profilePush method.

For more information, refer to Update User Profile via SDK.

Update User Profile via API

You can also update user profile properties using CleverTap's RESTful API. The API allows you to update user profiles and supports updates at scale. To do so, use the CleverTap API to update the user profile property. The CleverTap server receives the update and applies it to the respective user profile.

For more information, refer to Upload User Profile API.

Upload CSV File

This feature helps update user profile properties in bulk at once. CSV upload is a manual process that requires the user to upload the data directly from the local system to the CleverTap dashboard in CSV format.

To learn more, refer to CSV Upload.

Import User Profiles via SFTP

With CleverTap's Imports via SFTP feature, you can update user profile properties by importing the file to the SFTP server. SFTP import is an automated process that helps update user profile properties at regular intervals, such as daily or weekly updates, without manual intervention.

To learn more, refer to Imports via SFTP.

Track an Event from SDK

With CleverTap events, you can track all individual actions users perform in your app or website. After the event is triggered, the user profile is automatically updated with the latest property value. The CleverTap server receives the event and updates the user profile property.

For more information, refer to Update User Profile.

Mark a User Profile as a Test Profile

CleverTap provides a test user profile feature to update the user profile to a test profile. This feature helps with the following:

  • Test messages (including personalized messages) before sending them to the target audience
  • Test user segmentation

To mark a particular user profile as a test profile:

  1. Select the required profile from the Find People page.
  2. Select Mark as test profile from the Profile page.
Mark as Test Profile

Mark as Test Profile

When we mark the user profile as a Test profile, the CleverTap server receives the event and updates the user profile with an additional property that is ct_is_test_user with the value Yes. The ct_is_test_user property is of type String.

System User Properties

System user properties are user properties that are derived from the user information that is received from your application after you integrate our SDK.

Age: If the birthday or DOBis available as a profile property, CleverTap automatically calculates the age for the user profile.


System User Properties

You can now create and target segments based on user age, such as all users between 25 to 30 years.


Target User Properties


This section provides answers to some commonly asked questions about User Profiles.

Q. What is the difference between a User not reachable and a Profile not reachable error?

A. These errors mean the following:

User not reachable: This error is raised when the qualifying device is unreachable on the selected communication channel. For example, if a user performs a qualifying action on the web for a mobile push live campaign.

Profile not reachable: This error is raised when the qualifying profile is not reachable on the selected communication channel. For example, a user blocks push notifications on iOS but qualifies for a campaign. This user does not receive the campaign and is marked as a profile not reachable.

Q. What is a Duplicate Platform ID error?

A. The Duplicate Platform ID error occurs in one of the following scenarios:

When a single token is assigned to multiple profiles and both the profiles qualify for the campaign. CleverTap sends the notification to the profile that qualifies first, and the other profile is marked as a Duplicate Platform ID.
When the same mobile number is assigned to multiple profiles and they qualify in your campaign. Only one profile receives the notification; the other profiles are marked as a Duplicate Platform ID.