What are User Profiles?
Countly User Profiles helps you collect and analyze customer information, and get insights about each and every specific user. This helps marketers and product managers understand the application usage information, together with corresponding sessions. This profile information can contain virtually anything, including user photo, name, surname, gender information, as well as custom data like address or hobbies. This then can be used to analyze demographic view of your customers and understand their behaviors.
How does User Profiles work?
This is a general lifecycle of a collecting and analyzing a user data:
- First, you collect user information and send it to Countly servers.
- This information is sent via Countly SDK or User Profiles API.
- Data is collected and visualized on dashboard
As a result, it's possible to understand user sessions, in-app purchase information, last purchase amount/time, as well as user-specific information. Moreover, once defined, it's possible to understand whether a user passed a specific funnel or not.
Which information is collected from users?
This is a list of data that you can collect from users.
- User name & surname
- City and country
- First & last seen time
- Engagement level
- Organization name
- Total sessions
- Total time spent
- Last purchase date/time
- Last purchase amount
- Total purchase count and amount
Note that collecting data is optional, and depending on the country and the regulations, you may need to get end user acceptance.
Who is an "Identified" user on User Profiles?
All users are identified as either Identified or Anonymous. If a user can be identified from name, username, email, phone or organization, then he/she's an Identified user.
What is an ID and a UID?
On User Profiles, you will see an "ID" and a "UID". An ID can be anything that SDK sends and identifies the user. It can be device ID or hash of an identifier for that particular user. A UID is internal to Countly and cannot be changed. It can be used for query purposes.
When do SDKs send profile information?
User properties are sent whenever developer of the application wants to sent them via SDK. They are not bind by session or specific event, so they can be sent whenever it is required. Countly server will receive user profile information, and store them as
app_user properties, with all other information we know about the user.
What changes actually, is that all events and sessions that come after you set those properties, on granular level, will contain those properties too, like historical data, like a snapshot of user information.
Simple example is location: One of the possible user properties could be location. You set a user property to
location = France, then user has eventA and eventB, and then you change location to Germany and user again has eventA and eventB. Afterwards inside the data collected, you will be able to distinguish eventA and eventB made in France, apart from eventA and eventB made in Germany, as this property, location, would be stored with each separate occurrence of all events.
Note that user properties do not increase datapoint count.
How can I send user profile data to server with Android & iOS SDKs?
How do you calculate Engagement metric?
Engagement metric shows how loyal a user is. It's drawn on screen, under User Profiles menu item for each user:
This graph is calculated with the following formula:
- How many days did he login for the last 7 days? (days = points)
- Multiply with medium session duration (maximum = 2 minutes)
- Multiply this with total session numbers (maximum = 20 sessions per week)
With this information in mind, the hottest (red) part is 7 x 2 x 20 = 280 and the lowest engagement is 0.
Do I need to update SDK to send profile information?
You need to use Enterprise Edition on the server side and latest SDK version. User Profiles plugin is not available in Community Edition server. Any user profile related information from SDK sent to a Community Edition will be ignored.
Can I store any additional information about user?
Yes, you can store any custom data (any key and value pairs) together with user information, which also will be displayed in your online Countly account.