The Conversions API is designed to establish a connection between an advertiser's marketing data – such as website events, app events, business messaging events, and offline conversions – from their server, website platform, mobile app, or CRM to LiveIntent's systems.
Instead of managing separate connections for each data source, advertisers can use the Conversions API to transmit multiple event types, simplifying their technology stack. For direct integrations, this involves creating a connection between the advertiser's server and LiveIntent's Conversions API endpoint.
Before you can get started with the implementation, reach out to your Account Manager to get your authorization token, a customer ID and a pixel ID to use Conversions API.
Tokens are rotated occasionally and will need to be updated. Your Business Manager will reach out to you when it's time to rotate your token. Your Customer ID will remain the same.
To send new events, make a POST request to Conversion API's /conversions handler, using the following path – https://conversions.liveintent.com/conversions/{CUSTOMER_ID}
API call example for an event on a web page:
curl -vvv --header 'Authorization: Bearer {TOKEN}' \
https://conversions.liveintent.com/conversions/{CUSTOMER_ID} \
--data '[
{
"eventId": "3b27d254-79b7-4615-b5a5-b918c0432e83",
"pixelId": {PIXEL_ID},
"eventTime": 1723193288,
"source": "web"
"userData": {
"sha2": "936a185caaa266bb9cbe981e9e05cb78cd732b0b3280eb944412bb6f8f8f07af",
"md5": "29a1df4646cb3417c19994a59a3e022a",
"ip": "123.123.123.123",
"ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36",
},
"purchaseData": {
"currency": "USD",
"value": 123.45,
"sourceUrl": "http://example.com/product/123"
}
]'
API call example for an event in a mobile application:
curl -vvv --header 'Authorization: Bearer {TOKEN}' \
https://conversions.liveintent.com/conversions/{CUSTOMER_ID} \
--data '[
{
"eventId": "3b27d254-79b7-4615-b5a5-b918c0432e83",
"pixelId": {PIXEL_ID},
"eventTime": 1723193288,
"source": "app"
"userData": {
"idfa": "28757bwa-bd67-6d1c74bb-ae4d19ab5d34",
"trackingEnabled" : 1,
"sha2": "936a185caaa266bb9cbe981e9e05cb78cd732b0b3280eb944412bb6f8f8f07af",
"md5" : "29a1df4646cb3417c19994a59a3e022a",
"ip": "123.123.123.123"
},
"purchaseData": {
"currency": "USD",
"value": 123.45,
"appBundle": "com.example"
}
]'
API call example for an event that happened offline:
curl -vvv --header 'Authorization: Bearer {TOKEN}' \
https://conversions.liveintent.com/conversions/{CUSTOMER_ID} \
--data '[
{
"eventId": "3b27d254-79b7-4615-b5a5-b918c0432e83",
"pixelId": {PIXEL_ID},
"eventTime": 1723193288,
"source": "offline"
"userData": {
"sha2": "936a185caaa266bb9cbe981e9e05cb78cd732b0b3280eb944412bb6f8f8f07af",
"md5" : "29a1df4646cb3417c19994a59a3e022a"
},
"purchaseData": {
"currency": "USD",
"value": 123.45,
}
]'
The eventTime represents the time of the event transaction. It should be provided as a Unix timestamp in seconds, reflecting when the event actually took place. This timestamp should be earlier than when the event is sent to LiveIntent, to allow for batch processing and server performance optimization.
The eventTime can be up to 7 days prior to when you send the event to LiveIntent. If any eventTime in the data is older than 7 days, the entire request will result in an error, and no events will be processed. For offline and physical store events where the source is offline, transactions should be uploaded within 30 days of the conversion.
You can send up to 100 events in data. However, for optimal performance, we recommend you send events as soon as they occur and ideally within an hour of the event occurring. If any event sent in a batch is invalid, the entire batch is rejected.
E-mail addresses provided in userData.md5 or userData.sha2 should be hashed. Please follow the guidelines below to achieve best attribution results:
Example – John.Doe+office@gmail.com email:
To ensure the implementation works and is as effective as possible, use the checklist below.
| appId required | string^[a-b]-[0-9a-z]{4}$ Customer ID |
| decisionId | string Required if hem is not present. |
| eventId required | string |
| eventTime required | integer <int64> Epoch seconds |
| pixelId required | integer |
required | object (PurchaseData) |
| source required | string Enum: "app" "offline" "web" |
required | object (UserData) |
[- {
- "decisionId": "string",
- "eventId": "string",
- "eventTime": 0,
- "pixelId": 0,
- "purchaseData": {
- "appBundle": "string",
- "currency": "string",
- "value": 0.1,
- "orderId": "string"
}, - "source": "app",
- "userData": {
- "aaid": "4d1dd83a-bede-4322-83d8-bb7e55045c4f",
- "idfa": "c013dc70-1e9a-4f92-96cd-e867b31c4b7d",
- "ip": "string",
- "md5": "string",
- "sha2": "string",
- "trackingEnabled": 0,
- "ua": "string"
}
}
][- "string"
]