Version 2025.04 Release Notes - Criteo Docs

Documentation Index

Fetch the complete documentation index at: /llms.txt

Use this file to discover all available pages before exploring further.

Version 2025.04 of the Criteo Retail Media API is live as of April 22nd, 2025 and will be supported until April 28th, 2026. A new Postman collection for 2025.04 is also available in the Criteo Postman workspace.

New SDK Release A new SDK version will be available for the 2025.04 release.

This version introduces new capabilities to Criteo Retail Media API and changes to existing endpoints. This page aims at listing all changes that happened endpoint per endpoint. Only endpoints with changes are listed here. The changes of versions 2025.04 are:


New Base URL

With the introduction of this new version, the base URL will now change from the old base URL:

https://api.criteo.com/2025-01/retail-media/{endpoint}

to the new base URL:

https://api.criteo.com/2025-04/retail-media/{endpoint}

What’s New

Updated Terms & Conditions

We’ve introduced an updated Terms & Conditions page, which focuses on the below key areas:

You can find the new Terms & Conditions here.

Private Market Child Accounts

In version 2025.04, we’ve introduced a new endpoint that is used to view all private market child accounts within a private market retailer account. By calling this endpoint, retailers can retrieve information about all child accounts associated with their given accountId.


Updated Endpoints

The following new catalog endpoint can be found below:

Verb Endpoint Description
GET /account-management/accounts/{accountId}/private-market-child-accounts Get private market child accounts that are associated with the given retailer account

Sample Response

For Private Market Child Accounts:

{
    "metadata": {
        "count": 4,
        "offset": 0,
        "limit": 25
    },
    "data": [
        {
            "id": "680xxxxxxxxxxxxxxxx",
            "type": "RetailMediaChildAccount",
            "attributes": {
                "name": "test 1",
                "companyName": "test 1",
                "onBehalfCompanyName": "test 1",
                "type": "Demand",
                "subType": "Brand",
                "countryIds": [
                    "US"
                ],
                "currencyId": "USD",
                "timeZone": "UTC"
            }
        },
        {
            "id": "680xxxxxxxxxxxxxxxx",
            "type": "RetailMediaChildAccount",
            "attributes": {
                "name": "test 2",
                "companyName": "test 2",
                "onBehalfCompanyName": "test 2",
                "type": "Demand",
                "subType": "Brand",
                "countryIds": [
                    "US"
                ],
                "currencyId": "USD",
                "timeZone": "UTC"
            }
        },
        {
            "id": "680xxxxxxxxxxxxxxxx",
            "type": "RetailMediaChildAccount",
            "attributes": {
                "name": "test 3",
                "companyName": "test 3",
                "onBehalfCompanyName": "test 3",
                "type": "Demand",
                "subType": "Brand",
                "countryIds": [
                    "US"
                ],
                "currencyId": "USD",
                "timeZone": "UTC"
            }
        },
        {
            "id": "700xxxxxxxxxxxxxxxx",
            "type": "RetailMediaChildAccount",
            "attributes": {
                "name": "test 4",
                "companyName": "test 4",
                "onBehalfCompanyName": "test 4",
                "type": "Demand",
                "subType": "Seller",
                "countryIds": [
                    "US"
                ],
                "currencyId": "USD",
                "timeZone": "UTC"
            }
        }
    ],
    "warnings": [],
    "errors": []
}

Seller Search

In version 2025.04, we’ve introduced a new marketplace seller search endpoint that is focused on providing a programmatic way to identify all marketplace sellers (and, consequently, retailers) associated with the respective account. This endpoint enables the ability for users to leverage the appropriate information to support campaign activations.


Updated Endpoints Includes

The following new catalog endpoint can be found below:

Verb Endpoint Description
POST /accounts/sellers/search Search for Sellers, associated with retailers, given an account ID

Sample Request

For Seller Search:

curl --location 'https://api.criteo.com/2025-04/retail-media/accounts/sellers/search' \
--header 'Content-Type: application/json' \
--header 'Accept: text/plain' \
--header 'Authorization: Bearer ****' \
--data '{
  "data": {
    "attributes": {
      "accountIds": [
        "667xxxxxxxxxxxxxxxx",
        "524xxxxxxxxxxxxxxxx"
      ],
      "includeDetails": true
    },
    "type": "SellerSearch"
  }
}'

Sample Response

For Seller Search:

{
    "data": [
        {
            "type": "SellerSearchResult",
            "attributes": {
                "accountId": "667xxxxxxxxxxxxxxxx",
                "sellers": [
                    {
                        "sellerId": "5e0xxxxxxxxxxxxxxxx",
                        "retailerId": 1234,
                        "name": "Seller1"
                    }
                ]
            }
        },
        {
            "type": "SellerSearchResult",
            "attributes": {
                "accountId": "524xxxxxxxxxxxxxxxx",
                "sellers": [
                    {
                        "sellerId": "1xxxxxxxx",
                        "retailerId": 123,
                        "name": "Seller2"
                    }
                ]
            }
        }
    ],
    "warnings": [],
    "errors": []
}

CPC Min Bid

In version 2025.04, we’ve introduced a new CPC Min Bid endpoint that is focused on providing a cleaner way to identify what the minimum bid will be when a selection of Sponsored Products are used for the intention of adding them to a line item. Line items have bid settings, and in order to set the right one, you will need to know what the minimum bid is for your products, as well as the highest minimum bid, because the highest one will be the minimum for your line item.

Updated Endpoints Includes

The following new catalog endpoint can be found below:

Verb Endpoint Description
POST /retailers/{retailerId}/cpc-min-bids Search for min bid CPC defined by collection of SKU IDs

Sample Request

For CPC Min Bids:

curl --location 'https://api.criteo.com/2025-04/retail-media/retailers/{retailerId}/cpc-min-bids' \
--header 'Content-Type: application/json' \
--header 'Accept: text/plain' \
--header 'Authorization: Bearer ****' \
--data '{
  "data": {
    "attributes": {
      "skuIds": [
        "a1b2c3",
        "d4e5f6",
        "g7h8i9"
      ]
    },
    "type": "CpcMinBidsRequest"
  }
}'

Sample Response

For CPC Min Bids:

{
    "data": {
        "type": "CpcMinBidsResponse",
        "attributes": {
            "overallMinBid": 0.5000,
            "skuMinBids": [
                {
                    "skuId": "a1b2c3",
                    "minBid": 0.3500
                },
                {
                    "skuId": "d4e5f6",
                    "minBid": 0.4500
                },
                {
                    "skuId": "g7h8i9",
                    "minBid": 0.5000
                }
            ]
        }
    },
    "warnings": [],
    "errors": []
}

New Metrics

In version 2025.04, we’ve introduced new metrics within the analytics endpoints. The updated analytics endpoints provide users with deeper, more comprehensive insights, enabling them to explore data more effectively. Additionally, the introduction of new report types empowers users to make more informed, data-driven decisions by offering tailored, actionable insights that better align with your strategic goals. In the latest version, you now have the flexibility to generate metrics with a focus on win rate to allow users to more precisely measure auction success rates. The win rate metric is only available to Sponsored Products via the DSP API today and is defined as the number of SKU slots that won at the auction divided by the number of SKUs that participated in the auction. There are also new metrics with a focus on video designed to provide deeper insights into our performance and impact. These metrics are available in flexible reporting only and can be accessed via line-item reporting only via the DSP API. These metrics are also available via the SSP API.

Updated Endpoints Includes

The following new reporting changes apply for both the asynchronous campaign and line-item endpoints for report generation:

Verb Endpoint Description
POST /reports/campaigns Create a Campaign Report Request
POST /reports/line-items Create a Line Item Report Request
POST /reports/revenue Create a Revenue Report Request

It should be noted that when you call for the winRate metric, you will be required to either call for the campaignType object and filter to sponsoredProducts or include the campaignTypeName dimension. This is due to the calculation for Sponsored Product & Onsite Display being different. As a result, it will be important as it relates to efficient reporting to include this object or dimension when calling for the metric. Omitting either of these when calling for the winRate metric will result in an error.

Sample Request for Win Rate without campaignType Object

For Campaign Report:

curl --location 'https://api.criteo.com/2025-04/retail-media/reports/campaigns' \
--header 'Content-Type: application/json' \
--header 'Accept: text/plain' \
--header 'Authorization: Bearer ****' \
--data '{
  "data": {
    "attributes": {
      "endDate": "2025-04-22",
      "startDate": "2025-04-01",
      "campaignType": "all",
      "clickAttributionWindow": "none",
      "dimensions": [
        "campaignName",
        "campaignId"
      ],
      "format": "csv",
      "id": "1234",
      "metrics": [
        "impressions",
        "clicks",
        "winRate"
      ],
      "reportType": "summary",
      "salesChannel": "all",
      "timezone": "UTC",
      "viewAttributionWindow": "none"
    },
    "type": "AsyncCampaignsReportRequest"
  }
}'

Sample Response for Win Rate without campaignType Object

For Both: Generating a campaign and line-item report will generate a reportId. Once the report is done, use the GET | /retail-media/reports/{reportId}/output to download results.

{
    "warnings": [],
    "errors": [
        {
            "traceId": "0ec574b04465214f64431be3d5321954",
            "traceIdentifier": "0ec574b04465214f64431be3d5321954",
            "type": "validation",
            "code": "win-rate-metric-not-allowed",
            "instance": "/v2/reports/async/line-items",
            "title": "WinRate metric is only supported for SponsoredProducts campaigns.",
            "detail": "Please provide either the 'campaignTypeName' in dimensions or filter on SponsoredProducts using the 'campaignType' filter."
        }
    ]
}

Sample Request for Win Rate with campaignType Object

For Campaign Report:

curl --location 'https://api.criteo.com/2025-04/retail-media/reports/campaigns' \
--header 'Content-Type: application/json' \
--header 'Accept: text/plain' \
--header 'Authorization: Bearer ****' \
--data '{
  "data": {
    "attributes": {
      "endDate": "2025-04-22",
      "startDate": "2025-04-01",
      "campaignType": "sponsoredProducts",
      "clickAttributionWindow": "none",
      "dimensions": [
        "campaignName",
        "campaignId"
      ],
      "format": "csv",
      "id": "1234",
      "metrics": [
        "impressions",
        "clicks",
        "winRate"
      ],
      "reportType": "summary",
      "salesChannel": "all",
      "timezone": "UTC",
      "viewAttributionWindow": "none"
    },
    "type": "AsyncCampaignsReportRequest"
  }
}'

Sample Response for Win Rate with campaignType Object

{
    "data": {
        "attributes": {
            "status": "pending",
            "rowCount": 0,
            "fileSizeBytes": 0,
            "md5CheckSum": null,
            "createdAt": "2025-04-18T18:47:24.162Z",
            "expiresAt": null,
            "message": null,
            "id": "f4c73ba1-9a9e-447b-8c31-1baf81e1c957"
        },
        "id": "f4c73ba1-9a9e-447b-8c31-1baf81e1c957",
        "type": "StatusResponse"
    },
    "warnings": [
        {
            "type": "validation",
            "code": "ignored-report-type",
            "title": "Report Type has been ignored",
            "detail": "Report Type has been ignored because Dimensions and Metrics have been provided. Please remove them if you want to use one of the templates."
        },
        {
            "type": "validation",
            "code": "ignored-win-rate-metric",
            "title": "WinRate metric is only supported for SponsoredProducts campaigns.",
            "detail": "WinRate will be null for OnSiteDisplays campaigns."
        }
    ],
    "errors": []
}

New metrics

Key-Values Data Type Description
videoViews string The number of times at least 50% of the video ad appeared for at least 2 seconds (MRC standard).
videosStarted string The percentage of videos printed that started playing.
Formula: Video Starts / Placement Impressions
videosPlayedTo25 string The number of times one of your videos played to at least 25% of its duration.
videosPlayedTo50 string The number of times one of your videos played to at least 50% of its duration.
videosPlayedTo75 string The number of times one of your videos played to at least 75% of its duration.
videosPlayedTo100 string The number of times one of your videos played to 100% of its duration.
videoPlayingRate string The average played percentage of a started video.
Formula: Sum of Quartiles x 0.25 / (4 x Video starts)
videoCompletionRate string The percentage of started videos that played for their entire duration.
Formula: Number of videos that played to completion / Total number of videos started * 100
videosStarted string The number of times one of your video ads started playing.
videoStartingRate string The percentage of videos printed that started playing.
Formula: Video Starts / Placement Impressions
videoPlayingRate string The average played percentage of a started video.
Formula: Sum of Quartiles x 0.25 / (4 x Video starts)
videoMuted string The number of times users clicked the “mute” button on your video.
videoUnmuted string The number of times users clicked the “unmute” button on your video.
videoResumed string The number of times users activated the resume control after the creative had been stopped and paused.
videoPaused string The number of times users activated the pause control on the video.
videoViewability string The percentage of video ads that were considered viewable. At least 50% of the ad’s pixels must be visible on the screen for at least two continuous seconds (MRC standard). Requires OMID support.
Formula: Viewable Impressions / Placement Impressions

Update to Keyword Endpoints

In version 2025.04, we will be removing some older versions of our keyword endpoints to better guide users towards a comprehensive keyword targeting experience. A selection of endpoints are excluded from 2025.04 because they currently support only negative keyword targeting. The endpoints that are inclusive of both negative keyword targeting and positive keyword targeting already exist, and should be leveraged going forward for keyword targeting purposes. See below for the impacted endpoints: Endpoints to be removed:

Verb Endpoint Description
POST /auction-line-items/{line-item-id}/targeting/keywords/append This endpoint appends one or more negative keywords to targeting on the specified line item
POST /auction-line-items/{line-item-id}/targeting/keywords/delete This endpoint deletes one or more negative keywords to targeting on the specified line item
GET /auction-line-items/{line-item-id}/targeting/keywords This endpoint gets the negative keywords targeted on the specified line item.

Endpoints to use instead:

Verb Endpoint Description
POST /line-items/:id/keywords/add-remove Add or Remove keywords from the line item in bulk
GET /line-items/:id/keywords Fetch keywords associated with the specified line item