Revenue Report
Supply Side Revenue Report (v2)
Introduction
The revenue report serves as a vital tool for supply account owners, such as retailers, enabling them to understand the origins of their retail media revenue. It offers comprehensive visibility across all advertisers, media platforms, and sales channels, encompassing direct, indirect, and private market avenues.
This report delves into crucial aspects, including generated revenue, delivered impressions, clicks, average rates, and overall performance metrics. Through this API only, supply partners gain the ability to construct detailed reports by accessing several metrics and dimensions.
Default settingsWhen a retailer wants to view their default settings (as used in the user interface), we suggest constructing their API request or data call using the same default parameters that the UI uses. The specific default values used by the system are documented in Criteo Help Center.
Endpoints
The report generation uses an asynchronous endpoint that is used to receive the report creation request (using a POST
request). Then, using the report id
generated, it's possible to check the report status and to download the output results using the following GET
endpoint requests.
Verb | Endpoint | Description |
---|---|---|
POST | /reports/revenue | Request a retailer revenue report creation |
GET | /reports/{reportId}/status | Get status of a specific report |
GET | /reports/{reportId}/output | Download output of a specific report |
Attributes
Attribute | Data Type | Description |
---|---|---|
|
| Supply Account ID to pull results for Note: for apps with access to multiple supply accounts, it is also possible to use an Accepted values: |
|
| Report types are pre-packaged reports that allow the specification of the report breakdown. They enable reports to view revenue distribution by advertiser, brand, environment, page category, and page type. The metrics and dimensions in these report types are limited. Note: when metrics and dimensions are used, the report type is ignored. Accepted values: |
|
| The revenue type used to filter report results. Accepted values: |
|
| The sales channel of indirect sold, direct sold, or private market. This is an optional filter that can be used to narrow down results. Accepted values: |
|
| The campaign buying strategy. This optional filter can be used to filter down results Accepted values: |
|
| The format type the report should return results Accepted values: |
|
| The campaign type to filter results Accepted values: |
|
| The sales channel where attributed sales originated Accepted values: |
|
| The advertiser type where campaigns originated from Accepted values: |
|
| The post-click attribution window, defined as the maximum number of days considered between a click and a conversion for attribution; conversions are attributed to the date of conversion, not the date of click. Accepted values: |
|
| The post-view attribution window, defined as the maximum number of days considered between an impression and a conversion for attribution; conversions are attributed to the date of conversion, not the date of impression. Accepted values: |
|
| An array of strings used to define which dimensions to see in the report Accepted values: refer to Metrics and Dimensions for the complete list of supported dimensions |
|
| The attribution configuration modal allows users to retrieve data based on the specified product match for click events. The order of product match relationships from farthest to closest is This is not a filter that excludes events. Rather, it calculates attribution using the provided SKU match level. Accepted values: |
|
| The attribution configuration modal allows users to retrieve data based on the specified product match for view events. The order of product match relationships from farthest to closest is This is not a filter that excludes events. Rather, it calculates attribution using the provided SKU match level. Accepted values: |
(DEPRECATED) |
| The attributed rule used to match an impression/click to a sale. The filter will narrow down results of the attributed rules set by the advertiser at the campaign level. Accepted Values: ⚠️Note: This filter is deprecated. Please use |
|
| An array of strings used to define which metrics to see in the report. Accepted values: refer to Metrics and Dimensions for the complete list of supported metrics |
|
| Start date of the report (inclusive) Accepted values: |
|
| End date of the report (inclusive) Accepted values: |
|
| Time zone to consider in the metrics calculation, Accepted values: IANA (TZ database) time zones (example: |
|
| Gives the ability for the user to filter by account IDs. There are currently no limitations to the amount of IDs that can be added to the filter. |
|
| Gives the ability for the user to filter by campaign IDs. There are currently no limitations to the amount of IDs that can be added to the filter. |
|
| Gives the ability for the user to filter by line item IDs. There are currently no limitations to the amount of IDs that can be added to the filter. |
|
| Gives the ability for the user to filter their reporting by retailer ID(s). |
Metrics and DimensionsFor a complete list of all supported metrics and dimension, check out the Metrics and Dimensions
When utilizing the
clickMatchLevel
andviewMatchLevel
fields, we recommend including theattributionSettings
,activityType
, andskuRelation
. This will assist in gaining a clearer understanding of the click and view events, categorized by their attribution windows and SKU relationships.
Generate Revenue Report

https://api.criteo.com/{version}/retail-media/reports/revenue
Sample Request
curl -L 'https://api.criteo.com/{version}/retail-media/reports/revenue' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <MY_ACCESS_TOKEN>' \
-d '{
"data": {
"type": "SSPRevenueReport",
"attributes": {
"id": "203209148566716416",
"revenueType": "auction",
"soldBy": "directSold",
"buyType": "auction",
"skuRelations": [
"sameSku"
],
"format": "json",
"campaignType": "sponsoredProducts",
"salesChannel": "online",
"clickAttributionWindow": "7D",
"viewAttributionWindow": "1D",
"clickMatchLevel": "sameCategory",
"viewMatchLevel": "sameSKU",
"dimensions": [
"date",
"hour",
"advertiserType",
"accountName",
"campaignName",
"activityType",
"advProductId",
"advProductName",
"placementName",
"taxonomy1Name",
"taxonomy2Name",
"taxonomy3Name"
],
"metrics": [
"numberOfCampaigns",
"numberOfSkus",
"clicks",
"units",
"ctr",
"cr",
"workingMedia",
"netRevenue"
],
"startDate": "2024-04-10T21:14:53.816Z",
"endDate": "2024-04-10T21:14:53.816Z",
"timezone": "UTC"
}
}
}
}'
Sample Response
{
"data": {
"type": "RetailMediaReportStatus",
"id": "22fa642d-ab8a-463c-a2f6-fb174c2f72dd",
"attributes": {
"status": "pending",
"rowCount": null,
"fileSizeBytes": null,
"md5Checksum": null,
"createdAt": null,
"expiresAt": null,
"message": null
}
}
}
Get status of specific report

https://api.criteo.com/{version}/retail-media/reports/{reportId}/status
Sample Request
curl -L 'https://api.criteo.com/{version}/retail-media/reports/22fa642d-ab8a-463c-a2f6-fb174c2f72dd/status' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <MY_ACCESS_TOKEN>'
Sample Response
{
"data": {
"type": "RetailMediaReportStatus",
"id": "22fa642d-ab8a-463c-a2f6-fb174c2f72dd",
"attributes": {
"status": "success",
"rowCount": 2,
"fileSizeBytes": 341,
"md5Checksum": "f43cf2503a31a100f7b81db3c14d3fae",
"createdAt": "2023-07-10T16:00:32.000Z",
"expiresAt": "2023-07-17T16:00:32.000Z",
"message": null
}
}
}
Download Output of a Specific Report

https://api.criteo.com/{version}/retail-media/reports/{reportId}/output
Sample Request
curl -X GET "https://api.criteo.com/{version}/retail-media/reports/2e733b8c-9983-4237-aab9-17a42f426xx/output" \
-H "Authorization: Bearer <MY_ACCESS_TOKEN>"
Sample Responses
Report broken down by advertiser by JSON format
[
{
"date": "2024-04-10",
"hour": 15,
"advertiserType":"seller",
"accountName": "Account A",
"campaignName": "CampaignABC",
"placementName": "viewSearchResult",
"activityType": "imp",
"advProductId": "14364409",
"advProductName": "360 Deluxe (PC/Mac) - 5 Devices",
"taxonomy1Name": "computers & tablets",
"taxonomy2Name": "software",
"taxonomy3Name": "antivirus, security & utility software",
"numberOfCampaigns": 1,
"numberOfSkus": 1,
"clicks": 0,
"units": 1,
"ctr": null,
"cr": null,
"workingMedia": 0,
"netRevenue": 0
},
{
"date": "2024-04-10",
"hour": 11,
"advertiserType":"brand",
"accountName": "Account A",
"campaignName": "CampaignXYZ",
"placementName": "viewSearchResult",
"activityType": "click",
"advProductId": "15325425",
"advProductName": "Mini On-Ear Bluetooth Kids Headphones - Pink",
"taxonomy1Name": "audio",
"taxonomy2Name": "headphones",
"taxonomy3Name": "over-ear headphones",
"numberOfCampaigns": 1,
"numberOfSkus": 1,
"clicks": 0,
"units": 1,
"ctr": null,
"cr": null,
"workingMedia": 0,
"netRevenue": 0
},
{
"date": "2024-04-10",
"hour": 10,
"advertiserType":"seller",
"accountName": "Account B",
"campaignName": "CampaignDEF",
"placementName": "viewItem_API",
"activityType": "imp",
"advProductId": "17701444",
"advProductName": "City Pro Electric Scooter",
"taxonomy1Name": "sports, recreation & transportation",
"taxonomy2Name": "electric transportation",
"taxonomy3Name": "electric scooters",
"numberOfCampaigns": 1,
"numberOfSkus": 1,
"clicks": 0,
"units": 1,
"ctr": null,
"cr": null,
"workingMedia": 0,
"netRevenue": 0
}
]
Responses
Response | Description |
---|---|
🔵 | Call executed with success |
🔴 | Common Validation Errors:
|
Updated 11 days ago