User profile is a list of all your project users and their attributes, which include behavioral stats such as the user’s frequency or number of visits to your app, as well as customizable user attributes such as total deposit amount or last viewed item. In addition, all user scope properties last values are added to the user profile automatically.
The user profile attribute section allows you to create and manage a users table in your project that can be used for building reports, segments, filtering users based on their profile attributes as well as used for machine learning models.
To view your user profile attributes: Go to the project menu-> User Profile Attributes. Notice that User Profile is an add-on feature and once configured, only open for project ADMINs. Please contact your CSM or email@example.com to set it up.
The user profile table runs once a day at 3 am UTC. The attribute values shown in the user profile table are always true according to the last run. Since Cooladata allows you to link between several identities of the same user, the user profile calculations are based on the Cooladata internal user id (user_id).
In the User Profile Attributes page, you can view all three types of user attributes:
- SYSTEM: automatic behavioral attributes collected and stored by Cooladata on your users (i.e. total sessions count, frequency, last seen timestamp, etc..). These attributes are added automatically as soon as the project is configured as open for User Profile
- USER: last value of all user scope property sent to Cooladata. These attributes are added automatically as soon as the project is configured as open for User Profile and are added each time a new user scope property is created.
- CUSTOM: customizable aggregative functions defined by the project admin ( i.e. number of unique page views, total deposit amount, etc.)
Defining a new custom user profile attribute:
- Go to the project menu-> User Profile Attributes and click on ‘+’ to add a new custom attribute.
- In the Enter Attribute Name field, type the name of the attribute. This will be also be the column name in the user profile table so make sure you enter a valid column name.
- In the builder choose the attribute type:
- Custom – allows you to build a custom aggregation function per user. Choose an aggregation function and the field it should be calculated on:
- count_events – counts the number of events that user had. Add a condition to specify the type of event you want to count.
- count_sessions – counts the number of sessions that user had. Add a condition to specify the type of session you want to count.
- avg_events_per_session – calculates the average number of events that user had per session. Add a condition to specify the type of event you want to count.
- avg_events_per_day – calculates the average number of events that user had per day. Add a condition to specify the type of event you want to count.
- avg_sessions_per_day – calculates the average number of sessions that user had per day. Add a condition to specify the type of session you want to count.
- To add conditions to this attribute, click the filter icon on the right – . The following displays – enter any conditions (up to 5 per attribute):
Notice that virtual properties are not available in user profile tables.
- In the during field – choose the date range for the attribute calculation:
- Entire project history will run on all available history for that user
- Last x days – will run only on the last amount of days chosen.
List of system User Profile attributes:
- total_event_count – counts the number of events that user had.
- total_session_count – counts the number of sessions that user had
- average_events_per_session – calculates the average number of events that user had per session.
- avg_session_duration – calculates the average duration of the user’s sessions (in milliseconds)
- maturity – the time in days from the first time the user was seen
- total_active_days – the number of days the user was active
- frequency – the frequency of that user’s activity between 0 and 1 (total_active_days/maturity)
- total_time_in_app – sums the total session duration the user had
- event_versatility – Number of unique events (distinct event names)
- unique_device_count – Number of different devices the user used (based on the user agent)
- last_seen – the last timestamp the user was active
- first_seen – the first timestamp the user was active
Querying the User Profile Table:
To query the User Profile Table, in a CQL query, as with any table in your project, state user_profile in the FROM clause, instead of “cooladata”:
You can also use this table as the data source for various report builders, such as KPI. See the report documentation for more information.