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.

Code example:

lpTag.sdes = lpTag.sdes||[];
lpTag.sdes.push(
// SDEs located here
);

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, and SKU.

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
        }
    }]
}

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

Please note - storeZipCode and storeNumber ARE NOT supported in an authenticated flow!

Customer info SDE JSON example:

{
    "type": "ctmrinfo", //MANDATORY
    "info": {
    10
    ENGAGEMENT ATTRIBUTES OVERVIEW
    "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
    ETC...
    "imei": "3543546543545688", //UNIQUE DEVICE OR PHONE IDENTIFIER
    "userName": "user000", //CONSUMER NICKNAME OR USERNAME
    "companySize": 500, //COMPANY SIZE MEASURED BY NUMBER OF EMPLOYEES
    "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?
email 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":
STRING
(,
"region": STRING
}]
false yes
country Visitor's country string. The value is 2 letter code in uppser case ISO3166-1 Alpha-2 "US" false yes
region Visitor's region string "North America" 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
      }],
      "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"
];