Account Level Report - Criteo Docs

Introduction

This endpoint enables Retail Media DSP partners to request flexible reporting at the account level. This expands on existing Line Item and Campaign reporting capabilities by allowing reporting across one or more Account IDs, up to five at a time. The endpoint supports asynchronous report generation and provides access to the same set of metrics and dimensions.

You can find the list of DSP endpoints available here: Demand Side Analytics Endpoints.

Filter Parity This endpoint supports the same filters as the Campaign and Line Item endpoints, with one key difference: it introduces the accountIds attribute, allowing up to 5 account IDs per request for account-level reporting. It also only supports date ranges of up to 31 days at a time.


Endpoint

Verb Endpoint Description
POST /retail-media/reports/accounts Request flexible reporting at the account level

Reporting Asynchronous Workflow


Report Request Attributes

Attribute Data Type Description
accountIds* string Account ID(s) of the desired report
Examples: accountIds: "12345" accountIds: ["12345", "67890"]
When a supply account ID is included, other IDs in the request will be ignored. The report will include Commerce Max retailer-billed campaigns in addition to the campaigns running on that account. Use budgetModel to separate campaign types within the same report.
Accepted values: single or list of string/int64 (max 5 IDs per call) Writeable? N / Nullable? N
aggregationLevel enum Accepted values: campaign, lineItem
reportType enum Report types are pre-packaged reports that allow the specification of the report breakdown. See Report Types for more details about each of them.
- Note*: when metrics and dimensions are used, the reportType is ignored.
Accepted values: refer to Report Types page for a complete list of available values Writeable? N / Nullable? N
dimensions list Dimension attributes desired for metrics breakdown for the custom report of the campaign(s) / line item(s).
- Note: when metrics and dimensions are used, the reportType is automatically ignored
Accepted values: refer to Metrics and Dimensions page for a complete list of available values Writeable? N / Nullable? N
metrics list Quantitative metrics desired in the custom report of the campaign(s) / line item(s).
- Note*:
- when metrics and dimensions are used, the reportType is automatically ignored
- when including winRate metric, it is required to either define campaignType as sponsoredProducts or include campaignTypeName in the list of dimensions
Accepted values: refer to Metrics and Dimensions page for a complete list of available values Writeable? N / Nullable? N
startDate* date Start date to report (inclusive)
Accepted values: YYYY-MM-DD Writeable? N / Nullable? N
endDate* date End date to report (inclusive)
Accepted values: YYYY-MM-DD Writeable? N / Nullable? N
campaignType enum Campaign type
Accepted values: sponsoredProducts, onSiteDisplays Writeable? N / Nullable? N
timeZone string Time zone to consider in the report
Accepted values: IANA (TZ database) time zones (example: America/New_York, Europe/Paris, Asia/Tokyo, UTC) Writeable? N / Nullable? Y
clickAttributionWindow enum 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; defaults to campaign settings if omitted; must be specified if viewAttributionWindow is one of the accepted values.
Accepted values: none, 7D, 14D, 30D Writeable? N / Nullable? Y
viewAttributionWindow enum 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; defaults to campaign settings if omitted; must be less than or equal to clickAttributionWindow; must be specified if clickAttributionWindow is one of the accepted values.
Accepted values: none, 1D, 7D, 14D, 30D Writeable? N / Nullable? Y
salesChannel enum Filter on specific sales channel: online or offline
Accepted values: online, offline Writeable? N / Nullable? Y
format enum Format of the report data returned
Accepted values: json, json-compact, json-newline, csv Default: json Writeable? N / Nullable? N
searchTermTypes string The match type used to associate a search term and keywords entered for the campaign.
Accepted values: Entered: exact match, Searched: matches what a shopper searched, Null: All other cases.
searchTermTargeting string Indicates how the keyword was targeted — either manually by the user or automatically by the platform.
targetedKeywordType string Specifies the conquesting strategy used with the keyword.
mediaType string The type of creative asset used in the ad, such as Display or Video.
budgetModels [string] Identifies the funding source for the campaign’s media spend. Values: CriteoBudget, RetailerBudget
activationPlatforms [string] Platform through which the campaign was activated
Values: CommerceMax, PrivateMarket

(*) Required

Create an Account Level Report

Sample request

cURL

curl -X POST https://api.criteo.com/{version}/retail-media/reports/accounts \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "data": {
    "attributes": {
      "accountIds": [\
        "505471171905413120"\
      ],
      "startDate": "2026-05-01",
      "endDate": "2026-05-28",
      "aggregationLevel": "campaign",
      "campaignType": "all",
      "format": "csv",
      "mediaType": "all",
      "reportType": "summary",
      "salesChannel": "all",
      "timezone": "UTC",
      "budgetModels": ["RetailerBudget"],
      "activationPlatforms": ["CommerceMax"]
    },
    "type": "<string>"
  }
}'

Sample response

{
    "data": {
        "attributes": {
            "status": "success",
            "rowCount": 20,
            "fileSizeBytes": 2655,
            "md5CheckSum": "18796a1e29c0f94ac63a709a9adb4bb9",
            "createdAt": "2026-06-02T14:34:09.000Z",
            "expiresAt": "2026-06-09T14:34:50.000Z",
            "message": "rows_count=20",
            "id": "acc33cef-b36e-4eaf-a421-58078ef3f071"
        },
        "id": "acc33cef-b36e-4eaf-a421-58078ef3f071",
        "type": "StatusResponse"
    },
    "warnings": [],
    "errors": []
}

Responses

Response Description
🔵200 Call executed with success
- Report Type has been ignored* - Report Type has been ignored since Dimensions and Metrics have been provided. Please remove them if you want to use one of the templates.
When generating a report type using the metrics and dimensions filters for multi dimension reporting, a warning message will be presented in the 200 to inform that reportType is ignored. This is because multi dimension takes priority in this scenario.
🔴400 Common Validation Errors
- endDate cannot be more than 100 days from startDate
- Using a date range with more than 100 days apart
- reportType invalid
- calling an unsupported
report type will throw a 400 error
- timeZone must be a valid timezone
- using a time zone value that is not listed in the list tz database time zones
- format invalid
- using an unsupported file format
🔴410 Expired or Lost Report Error
The report is expired, lost, or failed to create. Re-create the report through a new request.