There are 10 supported Engagement Attributes, organized into 3 categories:
-
eCommerce info
-
Visitor info
-
Visitor journey
Each Engagement Attribute has its own data structure and can be sent to LivePerson using JavaScript code, or extracted from your page using LivePerson’s scraping tool.
Supported Sources
Each engagement attribute can be reported either from Web, Mobile or Both.
eCommerce info
eCommerce info Engagement Attributes allow you to track eCommerce-related activities on your website.
Cart update
This Engagement Attribute is used to get the status of the visitor’s shopping cart. The cart status includes the product items within the cart and its total monetary value.
The cart value and/or the products in the cart can be used to target visitors. For example, you can target low value shoppers and encourage them to buy more in order to get your free shipping coupon. You can also offer complementary products in addition to products in the cart.
Data structure:
Name | Description | Type | Value/Example | Mandatory | Supported in Authenticated Flow? |
---|---|---|---|---|---|
type | The event name ("cart") | string | "cart" | true | no |
total | Total cart value | double | 11.7 | true | no |
currency | currenct of the total cart value | string | USD | false | no |
numItems | Number of items in cart | integer | 6 | true | no |
products | array of items in cart | array of Products objects | [ { "product":{…}, "quantity": 2 } , { "product": {…}, "quantity": 1 } ] |
false | no |
Products Object:
Name | Description | Type | Value/Example | Mandatory | Supported in Authenticated Flow? |
---|---|---|---|---|---|
product | Product details | product object |
{ "name": "prod1", "category": "cat_1", "sku": "sku", "price": 7.8 } |
true | no |
quantity | Number of items of this product in cart | integer | 1 | false | no |
Product Object:
Name | Description | Type | Value/Example | Mandatory | Supported in Authenticated Flow? |
---|---|---|---|---|---|
name | Product name | string | "prod1" | false | no |
category | Product category name | string | "category1" | false | no |
sku | Product SKU or unique identifier | string | "dep1" | false | no |
price | product price | double | 7.8 | false | no |
Cart update SDE JSON example:
{
"type": "cart", //MANDATORY
"total": 11.7, //TOTAL CART VALUE
"currency": "USD", //CURRENCY CODE
"numItems": 6, //NUMBER OF ITEMS IN CART
"products": [{ //ARRAY OF PRODUCTS
"product": {
"name": "prod1", //PRODUCT NAME
"category": "category", //PRODUCT CATEGORY NAME
"sku": "sku", //PRODUCT SKU OR UNIQUE IDENTIFIER
"price": 7.8 //PRODUCT PRICE
}, "quantity": 1 //NUMBER OF PRODUCTS
}]
}
Transaction
This Engagement Attribute is used to track any money transaction, purchase of items, or deposit, including the items themselves and their details. The total transaction value can be used to track conversions. It is also displayed in your revenue reports as a means of measuring the monetary value of your campaigns.
Data structure:
Name | Description | Type | Value/Example | Mandatory | Supported in Authenticated Flow? |
---|---|---|---|---|---|
type | The event name ("purchase") | string | "purchase" | true | no |
total | Total transaction value | double | 11.7 | false | no |
currency | Currency of the total transaction value | string | USD | false | no |
orderId | Unique order or receipt ID | string | "orderId123" | false | no |
cart | Cart details | Cart object | { "numItems": 6, "products": [ {… }, {…}] } |
false | no |
Cart Object
Name | Description | Type | Value/Example | Mandatory | Supported in Authenticated Flow? |
---|---|---|---|---|---|
products | Array of Items in cart | array of Products objects | [ { "product": {…}, "quantity": 2 } , { "product": {…}, "quantity": 1 } ] |
true | no |
numItems | Number of items in cart | integer | 6 | false | no |
Transaction SDE JSON example:
{
"type": "purchase", //MANDATORY
"total": 11.7, //TOTAL VALUE OF THE TRANSACTION AFTER DISCOUNT
"currency": "USD", //CURRENCY CODE
"orderId": "DRV1534XC", //UNIQUE ORDER ID OR RECEIPT ID
"cart":{
"products": [{
"product": {
"name": "antivirus pro plan", //PRODUCT NAME
"category": "software", //PRODUCT CATEGORY NAME
"sku": "xyz001", //PRODUCT SKU OR UNIQUE IDENTIFIER
"price": 7.8 //SINGLE PRODUCT PRICE
},
"quantity": 3 //QUANTITY OF THIS PRODUCT
}]
}
}
Viewed product
This Engagement Attribute is used to track a product or service that interests visitors. Each product is described by Name, Category, SKU, stock status and quantity in stock.
This information can be used to target visitors. For example, you can offer products to visitors which are in the same category or price range as the products they previously viewed.
Data structure:
Name | Description | Type | Value/Example | Mandatory | Supported in Authenticated Flow? |
---|---|---|---|---|---|
type | The event name ("prodView") | string | "prodView" | true | no |
currency | Currency of the viewed products | string | USD | false | no |
products | Array of items in cart | array of Products objects | [ { "product": {…} } , { "product": {…} } ] |
false | no |
Viewed Product SDE JSON example:
{
"type": "prodView", //MANDATORY
"currency": "USD", //CURRENCY CODE
"products": [{ //ARRAY OF PRODUCTS
"product": {
"name": "red high heel shoe", //PRODUCT NAME
"category": "women shoes", //PRODUCT CATEGORY NAME
"sku": "xyz567", //PRODUCT SKU OR UNIQUE IDENTIFIER
"price": 77.8, //SINGLE PRODUCT PRICE
"statusInStock": "low", //PRODUCT STATUS IN STOCK
"quantityInStock": 7 //AVAILABLE QUANTITY IN STOCK
}
}]
}
Visitor Info
Visitor Info Engagement Attributes allow you to collect more information about your visitors, including where they came from, and the affiliates they are associated with.
Customer Info
This Engagement Attribute is used to collect information about a registered visitor such as the customer type (for example, VIP or Platinum), and their unique identifier.
This information can be used to segment visitors and tailor an experience based on their attributes (customer type, status, and balance). For example, you can invite your most valuable customers to chat with your relevant agents, while offering self-service content to low-tier customers.
Name | Description | Type | Value/Example | Mandatory | Supported in Authenticated Flow? |
---|---|---|---|---|---|
type | The event name ("ctmrinfo") | string | "ctmrinfo" | true | yes |
ctype | Customer type/tier (case insensitive) | string | "Gold" | false | yes |
cstatus | Customer status (case insensitive) | string | "migrated" | false | yes |
balance | Customer's finanicial balance | double | 2.6 | false | yes |
currency | Currency of the customer's financial balance | string | USD | false | yes |
customerId | Customer's unique identifier | string | "1234abc" | false | yes |
socialId | Social Media identifier(e.g., Facebook, Twitter). This parameter represents your internal identifier. | "11256324780" | 2.6 | false | yes |
imei | Unique device/phone identifier | string | "3543546543545688" | false | yes |
userName | Customer's user name | string | "user000" | false | yes |
companySize | Number of company employees | int | 500 | false | yes |
companyBranch | Company branch | string | "East village" | false | yes |
accountName | Customer's company name | string | "oxford insurance company" | false | yes |
role | Customer's title | string | "Marketing manager" | false | yes |
lastPaymentDate | Last payment date. This parameter consists of 3 integer fields: year, month, day, | data object | { "day": 15, "month": 10, "year": 2014 } |
false | yes |
registrationDate | Registration date. This parameter consists of 3 integer fields: year, month, day, | data object | { "day": 23, "month": 5, "year": 2013 } |
false | yes |
loginStatus | Login status | integer | false | yes | |
storeZipCode | A store ZIP code the customer is associated with. The ZIP code is mapped to multiple stores in the same geographic area. | string | "12205" | false | no |
storeNumber | A specific store number the customer is associated with | string | "1241" | false | no |
storeZipCode and storeNumber are not supported in an authenticated flow.
Customer info SDE JSON example:
{
"type": "ctmrinfo", //MANDATORY
"info": {
"cstatus": "cancelled", //CUSTOMER LIFECYCLE STATUS. FROM PRE-DEFINED LIST
"ctype": "vip", //CUSTOMER TYPE OR TIER. FROM PRE-DEFINED LIST
"customerId": "138766AC", //UNIQUE CUSTOMER IDENTIFIER
"balance": -400.99, //THE CUSTOMER FINANCIAL BALANCE IN DECIMAL VALUE
"currency": "USD", //CURRENCY CODE
"socialId": "11256324780", //SOCIAL ID OF YOUR CHOICE: FACEBOOK, TWITTER
"imei": "3543546543545688", //UNIQUE DEVICE OR PHONE IDENTIFIER
"userName": "user000", //CONSUMER NICKNAME OR USERNAME
"companySize": 500, //COMPANY SIZE MEASURED BY NUMBER OF EMPLOYEES
"companyBranch": "East Village", //THE CUSTOMER'S COMPANY BRANCH NAME
"accountName": "bank corp", //THE CUSTOMER'S COMPANY NAME
"role": "broker", //CONSUMER ROLE TITLE
"lastPaymentDate": {
"day": 15, //THE DAY OF THE LAST PAYMENT NUMERIC VALUE
"month": 10, //THE MONTH OF THE LAST PAYMENT NUMERIC VALUE
"year": 2014 //THE YEAR OF THE LAST PAYMENT NUMERIC VALUE
},
"registrationDate": {
"day": 23, //THE DAY OF THE REGISTRATION NUMERIC VALUE
"month": 5, //THE MONTH OF THE REGISTRATION NUMERIC VALUE
"year": 2013 //THE YEAR OF THE REGISTRATION NUMERIC VALUE
},
"storeNumber": "123865", //STORE NUMBER
"storeZipCode": "20505" //STORE ZIP CODE
}
}
Marketing source
This Engagement Attribute is used to obtain more information about the marketing source of your visitors, which channel or campaign drove visitors to your website, and with which affiliates they are associated.
This information can be used to segment visitors and tailor an experience based on the traffic source (originating channel, campaign or affiliate). For example, you can display a specific offer to visitors that arrived to the website through a specific affiliate, or route a visitor to a relevant agent based on the originating channel.
Data structure:
Name | Description | Type | Value/Example | Mandatory | Supported in Authenticated Flow? |
---|---|---|---|---|---|
type | The event name ("mrktInfo") | string | "mrktInfo" | true | no |
info | Marketing source information | Info object | { "channel": "1", "Affiliate": "Yahoo", "campaignId": "US coupon campaign" } |
false | no |
Info object:
Name | Description | Type | Value/Example | Mandatory | Supported in Authenticated Flow? |
---|---|---|---|---|---|
channel | Originating marketing channel | integer | 0-Direct, 1-Search, 2-Social, 3-Email, 4-Referral |
false | no |
affiliate | Affiliate name | string | "Yahoo" | false | no |
campaignID | Campaign ID | string | "camp12" | false | no |
Marketing source SDE JSON example:
{
"type": "mrktInfo", //MANDATORY
"info": {
"channel": "1", //ORIGINATING CHANNEL ENUM:
"affiliate": "Yahoo", //AFFILIATE NAME
"campaignId": "US coupon campaign" //EXTERNAL ORIGINATING CAMPAIGN
}
}
Personal info
This Engagement Attribute is used to collect personal information about your visitors. You can pass login information from cookies, or from questions you ask them in your forms.
This information can be used to segment visitors and tailor an experience based on their attributes (age and gender). For example, you can exclude visitors that are too young for your service/product, or display different wording or offers based on the visitor’s gender.
Data structure:
Name | Description | Type | Value/Example | Mandatory | Supported in Authenticated Flow? |
---|---|---|---|---|---|
type | The event name ("personal") | string | "personal" | true | yes |
firstname | Visitor's first name | string | "John" | false | yes |
lastname | Visitor's surname | string | "Doe" | false | yes |
age | Visitor's age | Age object | { "age": 34, "year": 1980, "month": 4, "day": 15 } |
false | yes |
contacts | Visitors contact info | array of Contact object | [{ "email":"m@m.com", "phone": "+1 212-788-8877" }] |
false | yes |
gender | Visitor's gender | string | MALE, FEMALE, OTHER |
false | yes |
company | Visitor's company | string | "Microsoft Ltd." | false | yes |
language | Campaign ID | Visitor's language. The value is an ISO 639-1 Alpha-2 [ISO639‑1] language code in lowercase and an ISO string “en-US” false 3166-1 Alpha-2 [ISO3166‑1] country code in uppercase, separated by a dash or underscore (for compatibility). For example, en-US or fr-CA. | "en-US" | false | yes |
Age object:
Name | Description | Type | Value/Example | Mandatory | Supported in Authenticated Flow? |
---|---|---|---|---|---|
age | Visitor’s age | integer | 47 | false | yes |
year | Visitor’s year of birth — Note: This parameter is mandatory if the visitor’s age needs to be calculated. | integer | "1969" | false | yes |
month | Visitor's month of birth | integer | 2 | false | yes |
day | Visitor's day of birth | integer | 12 | false | yes |
Contact object:
Name | Description | Type | Value/Example | Mandatory | Supported in Authenticated Flow? |
---|---|---|---|---|---|
Visitor's email address | string | "john@doe.com" | false | yes | |
phone | Visitor's phone number | string | "5558982312" | false | yes |
phoneType | Phone type | string | “HOME”, “MOBILE”, “WORK”, “FAX”, “MAIN”, “HOME_FAX”, “WORK_FAX”, “PAGER”, “OTHER” |
false | yes |
address | Visitor's personal addresses | Address object | { "country": Russia , "region": Moscow } |
false | yes |
Address object:
Name | Description | Type | Value/Example | Mandatory | Supported in Authenticated Flow? |
---|---|---|---|---|---|
country | Visitor's country | string | "Russia" | false | yes |
region | Visitor's region | string | "Moscow" | false | yes |
Personal info SDE JSON example:
{
"type": "personal", //MANDATORY
"personal": {
"firstname": "John", // FIRST NAME
"lastname": "Doe", // SURNAME
"age": {
"age": 34, // AGE AS INTEGER
"year": 1980, // BIRTH YEAR
"month": 4, // BIRTH MONTH
"day": 15 // BIRTH DAY
},
"contacts": [{
"email": "myname@example.com", // EMAIL
"phone": "+1 212-788-8877", // PHONE NUMBER
"address": {
"country": "Russia", // COUNTRY
"region": "Moscow" // REGION
}
}],
"gender": "MALE", // MALE, FEMALE, OTHER
"language": "en-US", // LANGUAGE
"company": "company" // VISITOR COMPANY NAME
}
}
Visitor Journey
Visitor Journey Engagement Attributes allow you to collect information about key actions that visitors take along their journey, and customize their experience accordingly. This includes the leads they generated, errors they experienced, and more.
Lead
This Engagement Attribute is used to track lead information that can help you identify what your visitors are interested in, and where they are in your funnel. This information can be used to track conversions. The lead value will also appear in your revenue reports as a means to measure the monetary value of your campaigns. A session can have more than a single lead in it, and can be connected to a single ticket ID or multiple tickets.
Data Structure:
Name | Description | Type | Value/Example | Mandatory | Supported in Authenticated Flow? |
---|---|---|---|---|---|
type | The event name ("lead") | string | "lead" | true | no |
lead | Lead details | Lead object | "{ "topic": "luxury car", "value": 22.22," "leadId": "xyz123" } |
false | no |
Lead object:
Name | Description | Type | Value/Example | Mandatory | Supported in Authenticated Flow? |
---|---|---|---|---|---|
topic | Lead's name/topic | string | "topic1" | false | no |
value | Lead's value | double | 99.99 | false | no |
currency | Currency of the lead value | string | USD | false | no |
leadId | Lead's identifier / ticket id | string | "Id12" | false | no |
Lead SDE JSON example:
{
"type": "lead", //MANDATORY
"lead": {
"topic": "luxury car test drive 2015", //TOPIC OR NAME OF A SUBMITTED LEAD
"value": 22.22, //EVALUATED VALUE OF THE LEAD
"currency": "USD", //CURRENCY CODE
"leadId": "xyz123" //LEAD IDENTIFIER OR TICKET ID
}
}
Service activity
This Engagement Attribute is used to measure service activities, for example, ordering a checkbook, submitting an application, or requesting a mortgage.
This information can be used to track conversions, for example, a visitor that completed a loan application. It can additionally be used to follow up with visitors, for example, engaging with a visitor whose application has been cancelled. A session can have more than one service activity in it.
Data structure:
Name | Description | Type | Value/Example | Mandatory | Supported in Authenticated Flow? |
---|---|---|---|---|---|
type | The event name ("service") | string | "service" | true | no |
service | Service details | Service object | { "topic": "order", "status": 0, "category": "finance", "serviceId": "service12" } |
false | no |
Service object:
Name | Description | Type | Value/Example | Mandatory | Supported in Authenticated Flow? |
---|---|---|---|---|---|
topic | Service topic or name | string | "order checkbook" | false | no |
status | Status | integer | 0-Complete, 1-In Progress, 2- Approved, 3- cancelled, 4-Not Approved, 5-Reviewed, 6- Missing Details, 7- Closed, 8-Removed, 9-Assigned, 10-Waiting |
false | no |
category | Category name | string | "Finance" | false | no |
serviceId | Service unique idenitifer or ticket id | string | "service17" | false | no |
Service Activity SDE JSON example:
{
"type": "service", //MANDATORY
"service": {
"topic": "order checkbook", // SERVICE ACTIVITY TOPIC OR NAME
"status": 0, // STATUS ENUM
"category": "finance", // SERVICE CATEGORY NAME
"serviceId": "service12" // SERVICE UNIQUE IDENTIFIER OR TICKET ID
}
}
Visitor error
This Engagement Attribute is used to collect information about errors that visitors experience when they browse the website and fill out forms. All errors are aggregated in a list during the session until resolved.
This information can be used to offer help to visitors who are struggling to complete a specific action.
Data Structure:
Name | Description | Type | Value/Example | Mandatory | Supported in Authenticated Flow? |
---|---|---|---|---|---|
type | The event name ("error") | string | "error" | true | no |
error | Error details | Error object | { "contextId": " application", "message": "Missing data", "code": "er100004", "level": 10, "resolved": false } |
false | no |
Error object:
Name | Description | Type | Value/Example | Mandatory | Supported in Authenticated Flow? |
---|---|---|---|---|---|
contextId | Error context | string | "Credit card application" | false | no |
message | Error message | string | "Expiration date missing" | false | no |
code | Error code | string | "XV45EZT" | false | no |
level | Error level | long | 10 | false | no |
resolved | Resolution status | Boolean | false | false | no |
Visitor Error SDE JSON example:
{
"type": "error", //MANDATORY
"error": {
"contextId": "Credit card application",
"message": "Expiration date missing", // ERROR MESSAGE
"code": "er100004", // ERROR CODE
"level": 10,
"resolved": false
}
}
Searched content
Note: This SDE cannot be reported from Mobile due to internal server limitations.
This Engagement Attribute is used to to report on content that was searched by consumers on the brand’s website such as FAQ and different articles or products.
This information can be used to offer help to visitors based on their searches.
Data structure:
Name | Description | Type | Value/Example | Mandatory | Supported in Authenticated Flow? |
---|---|---|---|---|---|
type | The event name ("searchInfo") | string | "searchInfo" | true | no |
keywords | Array of the search keywords | array | ["Reset password"] | false | no |
Searched content SDE JSON example:
{
"type": "searchInfo", //MANDATORY
"keywords": ["Reset password"], //TERMS SEARCHED BY A VISITOR. FOR EXAMPLE: FAQ
ABOUT RESET PASSWORD
}
Section
This Engagement Attribute is used to determine the appropriate Location for engaging with visitors, or to display where the visitors are browsing.
Code example:
lpTag.section = [ //SET A LIST OF YOUR SITE SECTIONS
"electronics", //CAN BE A SECTION OR A SUB-SECTION
"user agreement faqs"
];