LivePerson
Datafly Signal reports consumer activity to LivePerson Conversational Cloud server-to-server using the Monitoring API. Signal maps your first-party events to LivePerson engagement attributes (SDEs) — purchases, cart status, product views, leads, search, and customer info — so agents and proactive-messaging campaigns see an enriched consumer profile without a client-side LivePerson tag.
Prerequisites
Before configuring LivePerson in Signal, you need a LivePerson Conversational Cloud account and a monitoring App Key.
Step 1: Find your Account ID (Site ID)
- Sign in to Conversational Cloud.
- Your account / site ID is the numeric ID shown in the admin URL and under account settings (e.g.
12345678).
Step 2: Create an App Key (AppInstallationId)
The Monitoring API identifies a monitoring app installation by an App Key.
- In the Conversational Cloud admin, go to Campaigns (or Mobile App management).
- Create an app and copy its App Key (a UUID such as
a1b2c3d4-1234-5678-90ab-cdef12345678). This is theapp_installation_id.
Step 3: Resolve your Monitoring Domain
The monitoring host is region-specific and must not be hardcoded. Resolve it with the LivePerson Domain API using the service name smt:
curl "https://api.liveperson.net/api/account/12345678/service/smt/baseURI.json?version=1.0"The response baseURI (e.g. va.bc-monitoring.liveperson.net) is your monitoring_domain.
The Monitoring API report endpoint is public — supplying your Account ID and App Key in the request path is sufficient. There is no API key or token to manage for unauthenticated monitoring.
Configure in Signal
Configuration Fields
| Field | Required | Description |
|---|---|---|
monitoring_domain | Yes | Your account’s monitoring host, resolved via the Domain API (smt service), e.g. va.bc-monitoring.liveperson.net. |
account_id | Yes | Your LivePerson account / site ID (numeric). |
app_installation_id | Yes | The App Key (AppInstallationId) created in the LivePerson admin. |
Management UI Setup
Add the integration
Go to Integrations > Add Integration > LivePerson.
Choose a preset
Select the Retail preset for the full e-commerce funnel (product views, cart, purchase, leads, search).
Enter your details
Provide monitoring_domain, account_id, and app_installation_id.
Select consent categories
Choose your marketing consent category. Signal sets the LivePerson identity assurance level (acr) based on canonical marketing consent.
Save
Click Save to activate the integration.
API Endpoint
POST https://{monitoring_domain}/api/account/{account_id}/app/{app_installation_id}/report?v=1.0Each request is a single JSON object carrying the consumer identity, page entry points, and an engagementAttributes array of typed SDE objects.
Identity Signals
LivePerson matches reported activity to a consumer using the identity fields Signal sends on every request.
| Signal | Field | Description |
|---|---|---|
consumerId | consumerId | Set to Signal’s first-party anonymous_id, providing a stable consumer identifier. |
vid | query param vid | Visitor ID, sourced from the Signal session. |
sid | query param sid | Session ID, sourced from the Signal session. |
identities | identities[] | Identity descriptor with iss (issuer), sub (subject = anonymous_id), and acr (assurance level, set from marketing consent). |
When a consumer is identified via datafly.identify(), Signal also reports a ctmrinfo (customer info) engagement attribute with the customer ID and status.
Event Mapping
Retail preset
| Signal event | LivePerson SDE (engagementAttributes[].type) |
|---|---|
page | (entry point — reported via entryPoints) |
Products Searched | searchContent |
Product Viewed | prodView |
Cart Viewed | cartStatus |
Order Completed | purchase |
Lead Generated | lead |
Identified | ctmrinfo |
To customise, edit the integration’s Field Mappings in the Management UI.
Example: Purchase Event
Datafly.js call:
datafly.track("Order Completed", {
order_id: "DRV1534XC",
revenue: 11.70,
currency: "USD"
});LivePerson Monitoring API payload sent by Signal:
{
"consumerId": "a1b2c3d4e5f6...",
"identities": [
{
"iss": "Datafly",
"acr": "0",
"sub": "a1b2c3d4e5f6..."
}
],
"entryPoints": [
"https://example.com/checkout/confirmation"
],
"engagementAttributes": [
{
"type": "purchase",
"total": 11.70,
"currency": "USD",
"orderId": "DRV1534XC"
}
]
}Example: Product Viewed Event
Datafly.js call:
datafly.track("Product Viewed", {
product_id: "SKU-A",
product_name: "Widget",
category: "Hardware",
price: 49.99
});LivePerson Monitoring API payload sent by Signal:
{
"consumerId": "a1b2c3d4e5f6...",
"entryPoints": ["https://example.com/products/widget"],
"engagementAttributes": [
{
"type": "prodView",
"products": [
{
"product": {
"name": "Widget",
"category": "Hardware",
"sku": "SKU-A",
"price": 49.99
}
}
]
}
]
}Testing Your Integration
- Trigger an event on your site (e.g. view a product or complete an order).
- In Signal’s Event Debugger, confirm the LivePerson request was sent and returned 200 OK.
- In Conversational Cloud, open the consumer’s profile / monitoring view and confirm the engagement attribute (e.g. the purchase or product view) appears.
- If you run proactive campaigns keyed on engagement attributes, confirm the campaign targeting fires for a test consumer.
The vid and sid query parameters tie reported activity to the consumer’s visit and session. Ensure your Signal session is active when testing so the report associates with the right visitor.
Troubleshooting
| Problem | Solution |
|---|---|
404 Not Found | Check monitoring_domain (resolve it via the Domain API smt service — it is region-specific), and verify account_id and app_installation_id are correct. |
401 / 403 | Your account may enforce authenticated monitoring — it requires signed identities (acr: loa1 with a JWT-backed sub). Confirm your monitoring configuration with LivePerson. |
400 Bad Request | The payload is missing a required identity (consumerId / identities.sub / vid) or has a malformed SDE. Review the payload in Signal’s Event Debugger. |
| Activity not visible in Conversational Cloud | Confirm the App Key is active and that the consumer identity (consumerId) matches the consumer you are inspecting. |
Notes
The Monitoring API reports engagement attributes for consumer monitoring and campaign targeting. It is not a transcript or conversation API — for retrieving conversation history use LivePerson’s Messaging Interactions API instead.