LivePerson
Reports consumer engagement attributes (SDEs) to LivePerson Conversational Cloud through the Monitoring API report method, so agents and proactive campaigns see first-party context.
Why route LivePerson through Datafly Signal
- Profiles are updated from the server, not the browser. Events reach LivePerson even when a tracker blocker or a failed page unload would have dropped a client-side call, so the profile reflects what actually happened.
- One consent decision governs every destination. LivePerson is gated by the same consent state as the rest of your stack, so a withdrawal applies everywhere at once.
Prerequisites
Create an App Key
In the LivePerson admin, create the application installation used for monitoring and copy its App Key (AppInstallationId).
Resolve your monitoring domain
GET https://api.liveperson.net/api/account/{accountId}/service/smt/baseURI.json?version=1.0 returns it. Do not hard-code it.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
monitoring_domain | text | Yes | Your account’s LivePerson monitoring host. Resolve it via the Domain API (service name ‘smt’): GET https://api.liveperson.net/api/account/{accountId}/service/smt/baseURI.json?version=1.0. Do not hardcode: it is region-specific. |
account_id | text | Yes | Your LivePerson account / site ID. Found in the Conversational Cloud admin URL and account settings. |
app_installation_id | text | Yes | The App Key generated when you create a Mobile App / Campaigns app in the LivePerson admin. Identifies the monitoring app installation. |
Signal setup
- Navigate to Integrations in the sidebar and open the Integration Library tab.
- Find LivePerson, click Install and fill in the fields above.
- Pick the preset for your use, then review the mappings in the blueprint editor.
API endpoint
PUT https://{monitoring_domain}/api/account/{account_id}/app/{app_installation_id}/report?v=1.0&obh=trueExample request:
{"identities": [{"iss": "Datafly", "acr": "0", "sub": "df_anon_..."}],
"entryPoints": ["https://www.example.co.uk/checkout"],
"engagementAttributes": [{"type": "purchase", "total": 279.98, "currency": "GBP", "orderId": "ORD-1001",
"cart": {"numItems": 3, "products": [{"product": {"name": "Parka Jacket", "category": "Jackets", "sku": "SKU-1", "price": 129.99}, "quantity": 2}]}}]}The presets turn on the strict output contract: only the fields the blueprint maps are sent.
Event mapping
Retail preset (ecommerce)
Reports the retail funnel to LivePerson as engagement attributes for agents and proactive campaigns: product views (prodView), cart views (cart), purchases (purchase, with the cart), leads (lead), search (searchInfo) and customer info (ctmrinfo) on identify; add to cart is mapped but disabled (Signal has no cart-total event). Unauthenticated consumer identity (identities: sub = the Signal anonymous ID, a random ID as LivePerson recommends, acr 0) and the page URL as the entry point. No email, phone or name is sent.
| Signal event | Sent to the vendor as | Enabled |
|---|---|---|
view_item | report | yes |
view_cart | report | yes |
add_to_cart | report | no (mapped, disabled) |
purchase | report | yes |
generate_lead | report | yes |
search | report | yes |
identify | report | yes |
Default preset (default)
Leads (lead), search (searchInfo), purchases (purchase) and customer info (ctmrinfo) as LivePerson engagement attributes. Unauthenticated consumer identity (identities: sub = the Signal anonymous ID, a random ID as LivePerson recommends, acr 0) and the page URL as the entry point. No email, phone or name is sent.
| Signal event | Sent to the vendor as | Enabled |
|---|---|---|
generate_lead | report | yes |
search | report | yes |
identify | report | yes |
purchase | report | yes |
Identity and personal data
The consumer is identified by an unauthenticated identity whose sub is the Signal anonymous ID (a random ID, as LivePerson recommends; never an email or name) and acr 0. obh=true tells LivePerson the request is made on the visitor’s behalf, so it does not geo-locate from Datafly’s server. ctmrinfo carries the Signal user ID as customerId on identify; an identify with no user ID and no customer_status or customer_type trait is not sent. No email, phone or name is sent.
Consent
Map LivePerson to the consent category you use for personalisation or support tooling.
Known limitations
- The report method requires an engagement attribute, so page views are not sent.
- LivePerson’s
vidandsidare issued by LivePerson to its own web tag; Signal does not hold them, so server events are not joined to a live web session. - Engagement attributes are unauthenticated by design; do not use them for business transactions that need strong authentication.
Troubleshooting
| Symptom | Cause and fix |
|---|---|
400 | An engagement attribute of an unknown type, or a cart without total or numItems. |
404 | Wrong account ID, App Key or monitoring domain. |