POST /reports/performance.
Primary audience: Engineers and ops teams diagnosing delivery shortfalls. Not a campaign performance reporting surface.
The endpoint supports asynchronous report generation. Submit a request, poll for status, and download the output when ready.
Request
Required fields
startDate, endDate, filters, dimensions, and metrics are all required. At least one scope filter (filters.accountIds[], filters.campaignIds[], or filters.lineItemIds[]) must be provided. At least one of dimensions or metrics must be non-empty.
| Field | Type | Description |
|---|---|---|
startDate | string | Inclusive report start date. ISO 8601 date (YYYY-MM-DD). |
endDate | string | Inclusive report end date. ISO 8601 date (YYYY-MM-DD). Must be ≥ startDate. Max range: 100 days. Dates are interpreted in UTC. |
filters | object | Required. Must contain at least one scope filter. |
filters.accountIds[] | array of strings | Scope to all line items under this account. Up to 5 IDs per request. |
filters.campaignIds[] | array of strings | Scope to all line items under this campaign. Up to 50 IDs per request. |
filters.lineItemIds[] | array of strings | Scope to this line item. Up to 50 IDs per request. |
dimensions | array of strings | Required output grouping fields. Empty array ([]) means no grouping. At least one of dimensions or metrics must be non-empty. |
metrics | array of strings | Required output measure fields. Empty array ([]) means no measures. At least one of dimensions or metrics must be non-empty. |
Optional fields
| Field | Type | Default | Description |
|---|---|---|---|
format | string | json-compact | Output format: json, json-compact, json-newline, or csv. |
filters.salesChannels[] | array of strings | — | Filter by sales channel. |
filters.mediaTypes[] | array of strings | — | Filter by media type. |
Example request
Response
A successful request returns202 Accepted with a reportId. Poll for status until status is success or failure:
success:
Metrics
Select metrics using themetrics[] array in your request. At least one of dimensions or metrics must be non-empty.
| Metric | Description |
|---|---|
capoutHour | Hour of the day when the line item exhausted its daily budget, on average. A value of 14 means budget was exhausted around 2pm on average. |
missedClicks | Estimated clicks lost due to reduced auction participation. |
missedImpressions | Estimated impressions lost due to reduced auction participation. |
missedSales | Estimated revenue lost due to reduced auction participation, in the account’s reporting currency. |
missedSpend | Estimated spend that would have occurred had the line item participated in all eligible auctions. |
missedTraffic | Percentage of the day’s total eligible traffic the line item did not participate in. |
daypartingScheduled | Binary: whether dayparting was active at the time of the cap-out event. |
totalSpend | Total media spend for the line item. |
roas | Return on ad spend — revenue per unit of currency spent. |
attributedSales | Sales revenue attributed to the campaign per attribution settings. |
impressions | Impressions served. |
clicks | Clicks counted. |
cpc | Average cost per click. |
cpm | Average cost per 1,000 impressions. |
ctr | Click-through rate: clicks / impressions. |
Dimensions
Optional dimensions can be added to the request to further break down the output.| Dimension | Description |
|---|---|
date | Date events occurred. |
campaignId | Campaign ID. |
campaignName | Campaign name. |
lineItemId | Line item ID. |
lineItemName | Line item name. |
retailerId | Retailer ID where the line item served. |
retailerName | Retailer name where the line item served. |
buyType | Buy type of the line item. |
bidStrategy | Bid strategy of the line item. |
Migrating from reportType: capout
Replace your existing call on /reports/campaigns or /reports/line-items with a call to this endpoint. The underlying data is unchanged.
Endpoint change:
- Replace the top-level
accountId/campaignId/lineItemIdfields with afiltersobject containingaccountIds[],campaignIds[], orlineItemIds[]arrays. - Add required
dimensions[]andmetrics[]arrays to select output columns. startDateandendDateare now required (date-onlyYYYY-MM-DD; timestamps are rejected).- Remove
reportType: capout— it is not accepted on this endpoint.
| Old name | New name |
|---|---|
capoutMissedClicks | missedClicks |
capoutMissedImpressions | missedImpressions |
capoutMissedSales | missedSales |
capoutMissedSpend | missedSpend |
capoutMissedTraffic | missedTraffic |
capoutHour | capoutHour (unchanged) |
daypartingScheduled has moved from a dimension to a metric in this endpoint. Add it to your metrics[] array instead of dimensions[].