Adobe Analytics Data Insertion API
The Data Insertion API provides a mechanism for server-side data collection and submission to Adobe data collection servers. Instead of using AppMeasurement installed on each web page, server-side data collection collects data based solely on API requests and responses. While this implementation method cannot capture all data that is available via page-based beacons, it provides valuable insight into user activity without the overhead associated with attaching JavaScript to every page.
Data Insertion API and Bulk Data Insertion API are both methods to submit server-side collection data to Adobe Analytics. Data Insertion API calls are made one event at a time. Bulk Data Insertion API accepts CSV formatted files containing event data, one event per row. The Data Insertion API supports GET and POST API calls, while the Bulk Data Insertion API supports only POST calls.
DIA vs BDIA
| Data Insertion API (DIA)] | Bulk Data Insertion API (BDIA) | |
|---|---|---|
Data submission | One event per API call | CSV file containing multiple events (dozens to tens of thousands), one event per row |
Throughput | No upper bound on request rate | Optimized for larger files sent less frequently; not intended for more than 1 file per second, nor should files regularly be sent with just a few rows. |
Best fit | High-frequency, near real-time event submission | Bulk/batch loads, historical data backfills, or sources with intermittent connectivity |
HTTP POST
Sending POST API calls requires an XML body containing the desired variables. JSON body is not yet supported.
Copied to your clipboardcurl -X POST "https://example.sc.omtrdc.net/b/ss//6" \-H "Accept: application/xml" \-H "Content-Type: application/xml" \-d "<?xml version=1.0 encoding=UTF-8?><request><pageURL>https://example.com</pageURL><pageName>Data Insertion API test (POST)</pageName><visitorID>1286556420966514130</visitorID><reportSuiteID>examplersid</reportSuiteID></request>"
Copied to your clipboard<?xml version="1.0" encoding="UTF-8"?><status>SUCCESS</status>
HTTP GET
Sending GET API calls requires the desired variables in the URL's query string. Sending data via GET reduces bandwidth, but does not provide a detailed response.
Copied to your clipboardcurl -X GET "https://example.sc.omtrdc.net/b/ss/examplersid/0?g=https%3A%2F%2Fexample%2Ecom&pageName=Data%20Insertion%20API%20test%20%28GET%29&vid=1286556420966514130"
Copied to your clipboard200 OK
