Profiles and Attributes

To use LivePinch effectively, It is important to understand the profile model. Each account gets a unified profile list. LivePinch tracks every user that uses the mobile application or the web application. There are other ways to input profile information such as Profile List Uploads or the API system. Here, we describe how the profile model operates.

There are in general two types of profiles

  1. Known
  2. Anonymous

Each visitor is assigned a unique ID. Users become known profiles by any of following ways

For every profile, several attributes such as IP Address, Browser, Geography, Operating System and more are automatically tracked. Apart from, these, any number of custom attributes can be set. These are tracked as well. Few of these attributes are reserved. These reserved attributes attributes are referred to as System Attributes. Here are the list of reserved attributes.

System Attributes

Following attributes are System Attributes.

  1. profile_key - String
  2. first_name - String
  3. last_name - String
  4. email - String
  5. phone - String
  6. gender - String
  7. city - String
  8. state - String
  9. country - String
  10. dob - Date
  11. timezone - String
  12. email_opted_in - Boolean
  13. sms_opted_in - Boolean

Profile Key

Note

Profile Key is a system attributes, for known user this must be set to a value that uniquely identifies the user on your system. Good example of ideal value for this might be Unique customer id on your database, email address, phone number, Facebook/Google Ids or unique pseudonyms if any.

Incorrectly using this field might result in either duplicate profiles or merged profiles.

Email

Note

Email field, if you’re sending emails, this is required to be set. Even if you use profile_key attribute and set it to email address, this needs to be populated with a valid email address. If a given value for this field is invalid. The value is quitely dropped, and will not be saved.

Phone

Note

Phone required to be in E164 format. An example might be +919980222099, Country code followed by the number without any formatting. If a phone number fails this format, the value is quitely ignored.

Custom Attributes

Custom attributes can be any non empty value associated with a any name. The types of attributes are automatically detected. string, integer, float, datetime, boolean, json types are fully supported. The Web SDK, Android SDK, iOS SDK and API Documentation discusses how to set the attributes and Uploads section covers how these attributes from uploaded CSV files

The limits on number of custom attributes depends on the type being used. For User profiles, the current limits are as follows.

  1. String - 80
  2. Boolean - 20
  3. Date Time - 20
  4. Integer - 20
  5. Float - 20
  6. JSON - 20

Type Detection

LivePinch automatically detects type of the attributes and saves them. Most times the behavior is exactly what you would expect, occasionally it might be confusing. Here we try to explain how types are detected. The detection is based on real values in case of SDK calls or API calls, however with CSV files, the type detection might be a little dodgy, so care must be taken determine them correctly.

Integer

In case of SDKs and APIs, if the type of the value evaluates to Integer. The type is calculated as an integer. If previously, this attribute was computed as Float type, that type will used instead. In case of values in CSV uploads, if the whitespace trimmed value contains only digits without and any decimal point. The type is considered integer.

Examples:

  • 150
  • “190”
  • ” 190 “

Float

In case of SDKs and APIs, if the type of the value evaluates to Float. The type is calculated as an float. If previously, this attribute was computed as Integer type, that type will used instead. This will result in rounding off. In case of values in CSV uploads, if the whitespace trimmed value contains only digits wiith decimal point. The type is considered float.

Examples:

  • 23.84
  • “1928.6”
  • ” 190.763 “

DateTime

The preferred format is ISO 8601, However, following formats are all correctly identified. This applies to both API calls and CSV file uploads.

  1. ISO8601 ( Example: “2018-11-11T09:28:16Z”, “2018-11-08T14:58:57+05:30” )
  2. MySQL Date Format: YYYY-MM-DD
  3. MySQL Date Time Format: YYYY-MM-DD HH:MM:SS
  4. MySQL Date Time Format(with Timezone): YYYY-MM-DD HH:MM:SS Z (Example: “2018-11-08 14:58:57 +0530”)

If timezone is not specified. UTC is assumed.

Boolean

If the calls from SDKs or APIs evaluate to Boolean type. The type is assumed to be boolean. If following this, calls evaluate to any of the following values "FALSE", 0, "F", "f", "false", "no", then the value is considered to be false. Any other non blank value is considered to be true.

JSON

There is currently no way to input JSON objects via CSV uploads. With SDK and API calls, you simply set the key to contain JSON object. There no support in segments, search or personalization for these values.

Strings

If the type of the attribute is not identified by any of the above method, it is considered of string type. Leading and trailing whitespace is trimmed before being saved.

Profile Overview

When you first click on profile section on the navigation, you’re directed to page that shows summary of all the profiles in the system. Below is an example illustration of the overview.

Profile Overview Profile Overview
  1. Link in the navigation to reach profile overview. Just clicking on the Profiles on the main navigation will take to profile overview screen
  2. Show the summary of the profiles. How many profiles, How many of them active yesterday, last week and last month
  3. Change in profile volume over last week, it splits these numbers by known and anonymous users
  4. Summaries of reachability over different channels of the entire profile list, It also shows how many of them are active Yesterday, Last Week, Last Month’ and Last Year

Upload Profiles

LivePinch allows for upload of profiles CSV Files via Uploads/HTTP/FTP methods. You can upload profiles by navigating to Profiles > Upload Profiles section

Only CSV files are currently supported. The CSV file is expected contain first line with headers.

At least one column named profile_key is expected, See Profile Key for details, for this attribute. In absence of this attribute email or phone will be used as profile_key in that order. Although, this offers some convinience and explicity profile_key is a much safer option, unless this will always be either email or phone.

  • Any column that is not part of System Attributes will be considered as custom attribute.

  • The type will be autodetected. Most custom attributes will be imported as string types unless values meet following rules

    • If the value consists entirly of numbers and no decimal points, the value will be considered integer type
    • If the value consists entirly of numbers and decimal points are part of the value, the value will be considered float type
    • If the value matches any of these Date Formats
Upload Profiles

Here is a Sample Profile List CSV file for you to examine

Profile Listing and Details

You can view all profiles in the list by navigating to Profiles > Profiles section.

Upload Profiles

By default, all profiles are shown, a quick search feature and advanced search filters allow arbitrary rules and conditions to select a subset of users from.

View Profile

Profile detail shows all the attributes, recent events, user’s activity in different channels etc…