# API Authorization
Source: https://developers.criteo.com/criteo-apis/docs/api-authorization
Once you have completed your application setup and obtained your tokens, you will need access to advertiser accounts to start making API calls with our endpoints.
The following pages will guide you through generating consent URLs and requesting advertiser access for the Criteo account you intend to use.
# API Client Libraries
Source: https://developers.criteo.com/criteo-apis/docs/api-client-libraries
Officially supported client libraries for the Criteo Marketing Solutions, Retail Media, and Commerce Grid APIs.
API Client Libraries reduce the amount of code you need to write to start accessing Criteo programmatically. They also help expedite troubleshooting when issues arise.
***
## Marketing Solutions API
Three officially supported libraries:
|
HTTP code |
Description |
Notes |
|---|---|---|
|
|
Bad request, invalid syntax |
Generic response will be provided in case of technical failure due to malformed HTTP-request has been received. For example, the request is missing body altogether, has incompatible header and body, or serialization error encountered. In the case of business validation error, fine-grained error information will be provided in the response body. |
|
|
Authentication error |
If Criteo API responded with 401 it means that there is an issue with authentication, e.g invalid authentication credentials, or an expired token was supplied with the request. |
|
|
Forbidden |
The request is forbidden due to missing permission on advertiser or domain. Make sure your application requests all required permissions. In addition, ensure the consent has been granted on the scope of the requested account. The consent has to be granted by the account owner. If your connector has a UI you can relaunch the OAuth2 flow to reestablish your permission set on advertiser's account. This error type may have additional information in response body. Please note, non-existing resource or not enough permissions in case of request to the bulk endpoint requests will result in empty response and 200 response code (see note in the end) |
|
|
Not found |
Check correctness of the URL being called. |
|
|
Payload too large |
This error may appear if your request payload contains more data then the web-server is set to process in a single request. If you encounter this issue, try breaking up the request into several with smaller chunks of data or use pagination where it's supported. |
|
|
Unsupported media type |
This error means the wrong value for content-type header has been supplied. For example, you can get this type of error if you supply
instead of
|
|
|
Rate limit reached |
Client Credentials: 250 calls per minute; Authorization Code: 10 calls per minute. More details here . |
|
|
Internal server error |
Generic internal server error due to temporary unavailability of service. It is recommended to use an exponential backoff policy to ensure you are not overloading API network and the endpoint. For example, if your first request failed, wait 10 seconds before the retry. If the consequent request failed, wait for 20 seconds; then 40 seconds for a third time, and so on. |
|
|
Service unavailable |
Internal error due to overload or maintenance. It is recommended to use an exponential backoff policy to ensure you are not overloading API network and the endpoint. For example, if your first request failed, wait 10 seconds before the retry. If the consequent request failed, wait for 20 seconds; then 40 seconds for a third time, and so on. |
|
type |
example code |
example title |
example details |
|---|---|---|---|
|
access-control |
insufficient-advertiser-permissions |
"insufficient advertiser permissions" |
"You do not have permission. to access this Advertiser" |
|
availability |
internal-error |
"Campaigns are unavailable" |
"Campaigns are temporarily unavailable, please try again" |
|
deprecation |
deprecated-field |
"A field is deprecated" |
"
"
where
|
|
endpoint-deprecated |
"Endpoint deprecated" |
"Endpoint
|
|
|
validation |
required-field campaign-not-found |
"This field is required" "Campaign is not found" |
"
"Campaign
|
|
invalid-date-format |
"This field must be YYYY-MM-DD" |
Example:
"
|
|
|
invalid |
"This field must be in list of required values" |
"
|
|
|
invalid-range |
"This field is not in the valid range" |
"
|
|
|
invalid-timespan |
"The date span is too large" |
"
|
|
HTTP code |
Description |
Notes |
|---|---|---|
|
400 |
Bad request, invalid syntax |
Generic response will be provided in case of technical failure due to malformed HTTP-request has been received. For example, the request is missing body altogether, has incompatible header and body, or serialization error encountered. In the case of business validation error, fine-grained error information will be provided in the response body. |
|
401 |
Authentication error |
If Criteo API responded with 401 it means that there is an issue with authentication, e.g invalid authentication credentials, or an expired token was supplied with the request. Please check Authentication for further information. |
|
403 |
Forbidden |
The request is forbidden due to missing permission on advertiser or domain. Make sure your application requests all required permissions. In addition, ensure the consent has been granted on the scope of the requested account. The consent has to be granted by the account owner. If your connector has a UI you can relaunch the OAuth2 flow to reestablish your permission set on advertiser's account. This error type may have additional information in response body. Please note, non-existing resource or not enough permissions in case of request to the bulk endpoint requests will result in empty response and 200 response code (see note in the end) |
|
404 |
Not found |
Check correctness of the URL being called. Reference list of the endpoints can be found here . |
|
413 |
Payload too large |
This error may appear if your request payload contains more data then the web-server is set to process in a single request. If you encounter this issue, try breaking up the request into several with smaller chunks of data or use pagination where it's supported. |
|
415 |
Unsupported media type |
This error means the wrong value for content-type header has been supplied. For example, you can get this type of error if you supply
instead of
|
|
429 |
Rate limit reached |
Limit is 100 requests per minute per application. More details here . |
|
500 |
Internal server error |
Generic internal server error due to temporary unavailability of service. It is recommended to use an exponential backoff policy to ensure you are not overloading API network and the endpoint. For example, if your first request failed, wait 10 seconds before the retry. If the consequent request failed, wait for 20 seconds; then 40 seconds for a third time, and so on. |
|
503 |
Service unavailable |
Internal error due to overload or maintenance. It is recommended to use an exponential backoff policy to ensure you are not overloading API network and the endpoint. For example, if your first request failed, wait 10 seconds before the retry. If the consequent request failed, wait for 20 seconds; then 40 seconds for a third time, and so on. |
|
type |
example code |
example title |
example details |
|---|---|---|---|
|
access-control |
insufficient-advertiser-permissions |
"insufficient advertiser permissions" |
"You do not have permission. to access this Advertiser" |
|
availability |
internal-error |
"Campaigns are unavailable" |
"Campaigns are temporarily unavailable, please try again" |
|
deprecation |
deprecated-field |
"A field is deprecated" |
"
"
where
|
|
endpoint-deprecated |
"Endpoint deprecated" |
"Endpoint
|
|
|
validation |
required-field campaign-not-found |
"This field is required" "Campaign is not found" |
"
"Campaign
|
|
invalid-date-format |
"This field must be YYYY-MM-DD" |
Example:
"
|
|
|
invalid |
"This field must be in list of required values" |
"
|
|
|
invalid-range |
"This field is not in the valid range" |
"
|
|
|
invalid-timespan |
"The date span is too large" |
"
|
|
Operation |
Method |
Endpoint |
|---|---|---|
|
Create an entity |
|
|
|
Delete from a list |
|
|
|
Append to a list |
|
|
|
Get all entities |
|
|
|
Get a specific entity |
|
|
|
Update a specific entity |
|
|
|
Operation |
Method |
Endpoint |
|---|---|---|
|
Create a resource request |
|
or
|
|
Retrieve the status of the requested resource |
|
|
|
Retrieve the output of the requested resource |
|
|
|
Attribute |
Type |
Description |
|---|---|---|
|
|
string |
Unique ID for the entity.
|
|
|
string |
Resource data type returned in the response body (for example,
|
|
|
object |
Entity attributes - may be omitted entirely if an entity does not have additional attributes |
|
Attribute |
Type |
Description |
|---|---|---|
|
|
string |
Unique ID for the error response |
|
|
string |
Error category; machine-readable (e.g.
|
|
|
string |
Short machine-readable string for the error (e.g.
|
|
|
string |
URI referencing the endpoint that caused the error |
|
|
string |
Short human-readable string that summarizes the issue |
|
|
string |
Human-readable explanation of the issue |
|
|
object |
Object referencing the field that caused the error |
|
Query Parameters |
Type |
Description |
|---|---|---|
|
|
integer |
Defines the starting point from which records should be returned, i.e., will skip the first
|
|
|
integer |
Specifies the maximum number of entities returned in a single page; defaults to
|
|
Query Parameters |
Type |
Description |
|---|---|---|
|
|
integer |
Returns the specified page of results given a
|
|
|
integer |
Specifies the maximum number of entities returned in a single page; defaults to
|
|
Query Parameters |
Type |
Description |
|---|---|---|
|
|
integer |
Limits results to the entity IDs specified; parameter key is repeated, e.g.
|
|
Response |
Description |
|---|---|
|
🔵
|
Request successful |
|
🔵
|
The new entity was successfully created |
|
🔵
|
Request succeeded and no returned content should be expected |
|
🟡
|
This may occur when operating on multiple entities, such as the call resulting in some successes but also some failures |
|
🔴
|
For improper syntax, check your call structure |
|
🔴
|
If unauthenticated, refresh your access token |
|
🔴
|
Insufficient rights to perform this action |
|
🔴
|
Resource not found, check your entity IDs in the call |
|
🔴
|
Request timed out |
|
🔴
|
Request conflicts with something, such as a campaign name that already exists |
|
🔴
|
Too many requests |
|
🔴
|
Something's wrong on Criteo's end... |
|
EMEA |
APAC |
Americas |
|---|---|---|
|
178.250.0.0/21 185.235.84.0/22 91.212.98.0/24 91.199.242.0/24 2a02:2638::/32 |
74.119.116.0/22 199.204.168.0/22 177.73.128.0/21 2620: 100:a000::/44 |
116.213.20.0/22 182.161.72.0/22 2406:2600::/32 |
|
Parameter |
Description |
|---|---|
|
|
Set up your API credentials through our Developer Portal |
|
|
Set up your API credentials through our Developer Portal |
|
|
Must be
|
|
Application |
No access |
Read |
Manage |
|---|---|---|---|
|
Analytics |
Your application will not have access to any of the retail media analytics endpoints. |
Your application will have access to retrieve reporting data using the retail media analytics endpoints. |
|
|
Audiences |
Your application will not have access to any of the retail media audience endpoints. |
Your application will have access to retrieve audiences and make calls to GET endpoints only. |
Your application will have access to all audience endpoints, which includes both
|
|
Campaigns |
Your application will not have access to any of the retail media campaign management endpoints. This includes all campaign and line-item management features, balances, catalogs and creatives. |
Your application can only retrieve campaign man agent details. This includes
|
Your application will have access to all campaign management endpoints, which includes all
|
|
POST |
|
|
POST |
|
|
Parameter |
Description |
|---|---|
|
|
Your public signing key |
|
|
The UNIX timestamp of when your URL was generated, in seconds |
|
|
An arbitrary string to be included in the consent callback (e.g., the User ID of your app user) |
|
|
The URL to redirect the user to after consent delegation |
|
|
The HMAC-SHA512 hashed query string of the previous four parameters, in order |
|
Domain |
Description |
Authorization Types |
|---|---|---|
|
Accounts |
Manages permissions to endpoints responsible for describing accounts' entities, with their properties and relationships, like parent/child accounts |
No access / Read / Manage |
|
Analytics |
Manages permissions to generate reporting data for campaigns & line-items, considering desired list of dimensions & metrics |
No access / Read |
|
Audiences |
Manages permissions to check/manage audiences available to campaigns |
No access / Read / Manage |
|
Balances |
Manages permissions to endpoints responsible for configuring and retrieving balance entities, which define spending limits applied across campaigns linked to an account. |
No access / Read / Manage |
|
Billing |
Manages permissions to generate billing data for campaigns & line items for a retailer partner |
No access / Read |
|
Campaigns |
Manages permissions to endpoints responsible for campaigns management, including line-items, balances and creatives |
No access / Read / Manage |
|
Catalog |
Manages permissions to check/manage products catalogs |
No access / Read / Manage |
|
Parameters |
Description |
|---|---|
|
|
Your public key, accessible in the app credentials section. You can manage up to 5 pairs of credentials, even after the app has been activated. |
|
|
Your secret key, accessible only once when creating a pair of
|
|
|
The URL to redirect the user to after consent. Requires HTTPS. You can add up to 30 redirect URIs, manageable after app activation. |
|
Parameters |
Required |
Description |
|---|---|---|
|
|
Yes |
Indicates that an authorization code is expected as outcome. |
|
|
Yes |
Your public key from the app credentials section. |
|
|
Yes |
The URL to redirect the user after consent. Must match the configured URI. |
|
|
No |
Optional string to prevent Cross-Site Request Forgery attacks. |
|
Parameter |
Description |
|---|---|
|
|
A single-use authorization code valid for 60 seconds. |
|
|
The originally provided state parameter, returned as-is. |
|
Parameter |
Description |
|---|---|
|
|
Indicates that you are providing an authorization code |
|
|
Authorization code returned during redirection |
|
|
Must match the
|
|
|
Your public key from the app credentials |
|
|
Your secret key, accessible when creating credentials |
|
Parameter |
Description |
|---|---|
|
|
A short-lived (valid for 900 seconds) access token. |
|
|
A long-lived refresh token (that expires after 6 months) that can be used to renew the access token (see next section). |
|
|
Type of token. |
|
|
Lifetime of the token in seconds. |
|
Parameter |
Description |
|---|---|
|
|
Indicates that you are providing a refresh token. |
|
|
Refresh token shared when requesting an access token. |
|
|
Your public key accessible in app credentials section. |
|
|
Your secret key, accessible only once when creating a pair of
|
|
Parameter |
Required |
Description |
|---|---|---|
|
|
Yes |
Indicates that an authorization code is expected as outcome. |
|
|
Yes |
Your public key from the app credentials section. |
|
|
Yes |
The URL to redirect the user after consent. Must match the configured URI. |
|
|
No |
Optional string to prevent Cross-Site Request Forgery attacks. |
|
|
Yes when PKCE is enabled |
A challenge derived from the
|
|
|
No |
A method that was used to derive
The methods available:
|
|
Parameter |
Description |
|---|---|
|
|
Indicates that you are providing an authorization code. |
|
|
Authorization code returned during redirection. |
|
|
Must match the
|
|
|
Your public key from the app credentials. |
|
|
Your secret key, accessible when creating credentials. |
|
|
A high-entropy random string created by the client (usually 43–128 characters). |
|
Parameter |
Description |
|---|---|
|
|
Indicates that you are providing a refresh token. |
|
|
Refresh token shared when requesting an access token. |
|
|
Your public key accessible in app credentials section. |
|
|
Your secret key, accessible only once when creating a pair of
|
|
Header |
Description |
Example response with a limit set at 20 calls/minute |
|---|---|---|
|
|
the currently authorized limit for this caller |
20 |
|
|
the remaining calls for this caller (so, limit - current rate) |
0 |
|
|
the timestamp at which a new call could be performed |
1628249355 |
|
Verb |
Endpoint |
Description |
|---|---|---|
|
GET |
|
Get all Accounts |
|
GET |
|
Get all PM Demand Child (brand or seller) Accounts under the parent Supply Account (Retailer) |
|
POST |
|
Create a PM Demand-Brand Account under the Parent Supply Account |
|
POST |
|
Create a PM Demand-Seller Account under the Parent Supply Account |
|
POST |
|
Map brands to a demand brand account |
|
POST |
|
Remove brand from a demand brand account |
|
PUT |
|
Map or remove sellers from demand seller account. |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
string |
Account ID, from a demand or supply account, generated internally by Criteo Accepted values: string of int64 Writeable? N / Nullable? N |
|
|
string |
Account name, arbitrary and defined at account creation Accepted values: up to 510-chars string Writeable? Y / Nullable? N |
|
|
enum |
Account type, with
Accepted values:
Writeable? N / Nullable? N |
|
|
enum |
Account sub-type, specific for demand accounts
Accepted values:
Writeable? N / Nullable? Y |
|
|
list
|
List of Brand IDs associated with a demand brand account. Required in the demand brand account creation. Accepted values: list of string of int64 Writeable? Y / Nullable? N |
|
|
string |
Seller ID from Retailer's Catalog , associated with a demand seller account. Required in the demand seller account creation. Accepted values: string of int64 Writeable? Y / Nullable? N |
|
|
string |
Retailer ID, associated with the demand seller account, generated internally by Criteo. Required in the demand seller account creation. Accepted values: string of int64 Writeable? N / Nullable? N |
|
|
string |
This optional field, exclusively accessible to marketplaces within the European Union (in compliance with the Digital Service Act - DSA), will display the name of the company associated with the advertisement. Accepted values: up to 255-chars string Writeable? Y / Nullable? Y |
|
|
string |
This optional field, exclusively accessible to marketplaces within the European Union (in compliance with the Digital Service Act - DSA), will display the name of the company (on behalf of
Accepted values: up to 255-chars string Writeable? Y / Nullable? Y |
|
|
list
|
Countries associated with the account
Accepted values: 2-chars country code (in
ISO-3166
alpha-2 code; e.g.
Writeable? N / Nullable? N |
|
|
string |
Default currency for bulling, budgeting, bid settings & campaign performance metrics
Accepted values: 3-chars currency code (in
ISO-4217
; e.g.
Writeable? N / Nullable? N |
|
|
string |
Label used to associate multiple accounts Accepted values: up to 510-chars string
Default: same as
Writeable? Y / Nullable? N |
|
|
string |
Account time zone
Accepted values: time zone identifiers from
IANA (TZ database)
(e.g.
Writeable? N / Nullable? N |
|
Response |
Description |
|---|---|
|
🔵
|
Call completed successfully |
|
🔵
|
Account created successfully |
|
🔴
|
Validation Error - one or more required fields was not found. Confirm that all required fields are present in the API call |
|
Verb |
Endpoint |
Description |
|---|---|---|
|
POST |
|
This endpoint allows users to retrieve fee settings for one or more accounts they have access to. |
|
POST |
|
This endpoint allows Private Market retailers to update fees for child seller or demand accounts. |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
|
Account ID Up to 25 account IDs can be queried at once.
Accepted values: string of
Writeable: Y/ Nullable: N |
|
Query Parameters |
Data Type |
Description |
|---|---|---|
|
|
|
Pagination parameter, see API Response |
|
|
|
Pagination parameter, see API Response |
|
|
|
Comma-separated list of optional attributes to include in the response. Used to optimize response time and payload length. |
|
Attribute |
Data Type |
Description |
Writable |
Nullable |
|---|---|---|---|---|
|
|
|
Account ID
Accepted values: string of
|
Y |
N |
|
|
|
Defines the set of fees you can set on the Account. Possible values:
|
N |
N |
|
|
|
Value to apply as the
Accepted range: 0.00 to 1.00 Max precision: 2 decimal places |
Y |
N |
|
|
|
The managed service fee that is applied to the account. Options:
|
N |
N |
|
|
|
Indicates if
|
Y |
N |
|
|
|
Indicates if
|
Y |
N |
|
Response |
Title |
|---|---|
|
🟢
|
Success |
|
🔴
|
Bad Request: Model Validation Error. Check that the acceptable values for the attributes are correct. |
|
🔴
|
API user does not have the authorization to make requests to the account ID. For an authorization request, follow the authorization request steps . |
|
Method |
Endpoint |
Description |
|---|---|---|
|
GET |
|
Get all Accounts |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
string |
Account ID, from a demand or supply account (generated internally by Criteo) Accepted values: string of int64 Writeable? N / Nullable? N |
|
|
string |
Account name, arbitrary and defined at account creation Accepted values: up to 510-chars string Writeable? Y / Nullable? N |
|
|
enum |
Account type, with
Accepted values:
Writeable? N / Nullable? N |
|
|
enum |
Account sub-specific for demand accounts
Accepted values:
Writeable? N / Nullable? Y |
|
|
list\\ |
Countries associated with the account
Accepted values: 2-chars country code (in ISO-3166 alpha-2 code; e.g.
Writeable? N / Nullable? N |
|
|
string |
Default currency for bulling, budgeting, bid settings & campaign performance metrics
Accepted values: 3-chars currency code (in ISO-4217; e.g.
Writeable? N / Nullable? N |
|
|
string |
Label used to associate multiple accounts Accepted values: up to 510-chars string
Default: same as
Writeable? Y / Nullable? N |
|
|
string |
Account time zone
Accepted values: time zone identifiers from IANA (TZ database) (e.g.
Writeable? N / Nullable? N |
|
|
string |
This optional field, exclusively accessible to marketplaces within the European Union (in compliance with the Digital Service Act - DSA), will display the name of the company associated with the advertisement. Accepted values: up to 255-chars string Writeable? Y / Nullable? Y |
|
|
string |
This optional field, exclusively accessible to marketplaces within the European Union (in compliance with the Digital Service Act - DSA), will display the name of the company (on behalf of
Accepted values: up to 255-chars string Writeable? Y / Nullable? Y |
|
Response |
Description |
|---|---|
|
🟢
|
Call executed with success |
|
Verb |
Endpoint |
Description |
|---|---|---|
|
POST |
|
Search for audiences by audience IDs, retailer IDs and/or segment IDs. |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
string |
Audience ID, generated internally by Criteo Accepted values: string of int64 Writeable? N / Nullable? N |
|
|
string |
Audience name Accepted values: string Writeable? Y / Nullable? N |
|
|
string |
Description of the Audience Accepted values: string Writeable? Y / Nullable? N |
|
|
string |
Account ID associated with the Audience, generated internally by Criteo Accepted values: string of int64 Writeable? N / Nullable? N |
|
|
string |
Retailer ID, associated with the Audience Segment, generated internally by Criteo Accepted values: string of int64 Writeable? N / Nullable? N |
|
|
object |
Algebra node with the definition of how the different audience segments are combined together to create the audience, using logical operators
Accepted values: see Algebra Nodes Writeable? N / Nullable? N |
|
|
timestamp |
Timestamp of Audience creation, in UTC
Accepted values:
Writeable? N / Nullable? N |
|
|
string |
User ID who created the Audience (
Accepted values: string Writeable? N / Nullable? Y |
|
|
timestamp |
Timestamp of last Audience update, in UTC
Accepted values:
Writeable? N / Nullable? N |
|
Verb |
Endpoint |
Description |
|---|---|---|
|
POST |
|
Create a new Audience Segment |
|
PATCH |
|
Update an Audience Segment |
|
POST |
|
Delete an Audience Segment |
|
POST |
|
Search for Audience Segments by segment IDs, retailer IDs and/or segment types |
|
GET |
|
Retrieve contact list statistics |
|
POST |
|
Add/remove identifiers in contact list Audience Segment |
|
POST |
|
Clear all identifiers in contact list Audience Segment |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
string |
Audience Segment ID, generated internally by Criteo Accepted values: string of int64 Writeable? N / Nullable? N |
|
|
string |
Audience Segment name Accepted values: string Writeable? Y / Nullable? N |
|
|
string |
Description of the Audience Segment Accepted values: string Writeable? Y / Nullable? N |
|
|
string |
Account ID associated with the Audience Segment, generated internally by Criteo Accepted values: string of int64 Writeable? N / Nullable? N |
|
|
string |
Retailer ID, associated with the Audience Segment, generated internally by Criteo Accepted values: string of int64 Writeable? N / Nullable? N |
|
|
enum |
Type of segment Accepted values:
Writeable? Y / Nullable? N |
|
|
object |
Setting to target users with contact list. Note, either one of
See below for more details |
|
|
timestamp |
Timestamp of Audience Segment creation, in UTC
Accepted values:
Writeable? N / Nullable? N |
|
|
string |
User ID who created the Audience Segment (
Accepted values: string Writeable? N / Nullable? Y |
|
|
timestamp |
Timestamp of last Audience Segment update, in UTC
Accepted values:
Writeable? N / Nullable? N |
|
|
list
|
Channels associated to the audience
Accepted values:
Writeable? N / Nullable? N |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
boolean |
Indicates if the contact list can be edited
Accepted values:
Writeable? N / Nullable? N |
|
|
enum |
User identifier type from Contact list
Accepted values:
Writeable? N / Nullable? N |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
enum |
Operation required for the sub-set of users provided in the request
Accepted values:
Writeable? N / Nullable? N |
|
Method |
Endpoint |
Description |
|---|---|---|
|
GET |
|
Retrieve all balances associated with a specific account. |
|
GET |
|
Retrieve a specific balance |
|
POST |
|
Create a new balance for a specified account. |
|
PATCH |
|
Modify balance's metadata (name, start/end date - for deposited funds, see below) |
|
POST |
|
Add/remove funds deposited in a specific balance. |
|
GET |
|
Retrieve all campaigns linked to a specific balance. |
|
POST |
|
Add campaigns to a specific balance. |
|
POST |
|
Remove campaigns from a specific balance. |
|
GET |
|
Retrieve all changes made historically to a balance |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
|
Balance ID Accepted values: string of int64 Writeable? N / Nullable? N |
|
|
|
Balance name Accepted values: up to 255-char strings Writeable? Y / Nullable? N |
|
|
|
Amount of funds deposited; uncapped if
Accepted values:
Writeable? Y / Nullable? Y |
|
|
|
Amount of funds already spent
Accepted values: 0 ≤
Writeable? N / Nullable? N |
|
|
|
Amount of funds already spent
Accepted values: 0 ≤
Writeable? N / Nullable? Y |
|
|
|
Balance start date; if time zone is not set, will consider Account 's time zone as default
Accepted values:
Writeable? Y / Nullable? N |
|
|
|
Balance end date; if time zone is not set, will consider Account 's time zone as default
Accepted values:
Default: if
Writeable? Y / Nullable? Y |
|
|
|
Balance current status
Accepted values:
Writeable? N / Nullable? N |
|
|
|
Timestamp of balance creation, in UTC
Accepted values:
Writeable? N / Nullable? N |
|
|
|
Timestamp of last balance update, in UTC
Accepted values:
Writeable? N / Nullable? N |
|
|
|
An optional memo note that can be set in the balance Accepted values: up to 250-char strings Writeable? Y / Nullable? Y |
|
|
|
The balance type is computed based on the deposited amount:
Accepted values:
Writeable? N / Nullable? N
|
|
|
|
The type of balance that will be used based on the campaign type
Accepted values:
Writeable? N / Nullable? N |
|
|
|
Billing type of the balance
Accepted values:
⚠️ Note :
Writeable? N / Nullable? N |
|
|
|
Retailer this balance is scoped to. Present only on retailer budgets. Nullable? Y (null for balances without retailer budgets) |
|
|
|
Retailer purchase order number.
Replaces
the removed
Nullable? Y |
|
|
|
Criteo purchase order number.
Replaces
the removed
Nullable? Y |
|
|
|
Purchase order number.
Removed since 2026.01
and replaced by
Accepted values: up to 32-char strings Writeable? Y / Nullable? Y |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
|
Timestamp of balance update
Accepted values:
Writeable? N / Nullable? N |
|
|
|
Username who modified the insertion order Accepted values: strings in format "j.doe" Writeable? N / Nullable? N |
|
|
|
Definition of the type of change in a balance
Accepted values:
|
|
|
|
Structure with the change details (from Balance History endpoint) Parameters:
|
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
|
Difference amount of fund to be added/removed from balance; it cannot reduce the current amount of funds deposited to less than zero
Accepted values:
Writeable? N / Nullable? N |
|
|
|
New retailer purchase order number Accepted values: up to 32-char strings Writeable? Y / Nullable? Y |
|
|
|
A memo note that should be set in the balance together with this modification Accepted values: up to 250-char strings Writeable? Y / Nullable? Y |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
|
Campaign ID, respective to the campaign(s) currently appended to the balance Accepted values: string of int64 Writeable? N / Nullable? N |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
|
Campaign IDs to append or remove from the balance Accepted values: array of int64 strings Writeable? Y / Nullable? N |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
|
Campaign IDs to append or remove from the balance Accepted values: array of int64 strings Writeable? Y / Nullable? N |
|
Response |
Title |
Detail |
Troubleshooting |
|---|---|---|---|
|
🟢
|
Call executed with success |
||
|
🟢
|
Balance request created with success |
||
|
🔴
|
Error deserializing request |
Field xyz is not valid |
Review the value of field xyz provided in the request |
|
🔴
|
Change data capture type xxx is not supported |
Change data capture type xxx is not supported |
The value of
|
|
🔴
|
Invalid name |
Balance name should be unique. There exists balance with the specified name. Balance creation/update has been canceled |
Check value of
|
|
🔴
|
Invalid deltaamount |
Can not decrease funds to less than zero |
Review value of
|
|
🔴
|
Invalid operation |
Can only change the field xxx of a balance not billed by retailer. |
Cannot edit balances not created through the API; only balances with billing type
|
|
🔴
|
Invalid operation |
Can not add funds to a balance not billed by retailer. |
Cannot edit balances not created through the API; only balances with billing type
|
|
🔴
|
Authorization error |
Resource access forbidden: does not have permissions |
One of the permission levels was not respected. Make sure that the respective API app has access to:
|
|
Verb |
Endpoint |
Description |
|---|---|---|
|
GET |
|
Returns all bid multipliers per page types of the specified line item. |
|
PUT |
|
Updates bid multipliers with new values or reset to default one. |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
string |
Line item ID, generated internally by Criteo Accepted values: string of int64 Writeable? N / Nullable? N |
|
|
decimal |
Bid multiplier to the
Note: bids can be increased up to 500% (6.0) or decreased up to 50% (0.50)
Accepted values:
Default:
Writeable? Y / Nullable? N |
|
|
decimal |
Bid multiplier to the
Note: bids can be increased up to 500% (6.0) or decreased up to 50% (0.50)
Accepted values:
Default:
Writeable? Y / Nullable? N |
|
|
decimal |
Bid multiplier to the
Note: bids can be increased up to 500% (6.0) or decreased up to 50% (0.50)
Accepted values:
Default:
Writeable? Y / Nullable? N |
|
|
decimal |
Bid multiplier to the
Note: bids can be increased up to 500% (6.0) or decreased up to 50% (0.50)
Accepted values:
Default:
Writeable? Y / Nullable? N |
|
|
decimal |
Bid multiplier to the
Note: bids can be increased up to 500% (6.0) or decreased up to 50% (0.50)
Accepted values:
Default:
Writeable? Y / Nullable? N |
|
|
decimal |
Bid multiplier to the
Note: bids can be increased up to 500% (6.0) or decreased up to 50% (0.50)
Accepted values:
Default:
Writeable? Y / Nullable? N |
|
|
decimal |
Bid multiplier to the
Note: bids can be increased up to 500% (6.0) or decreased up to 50% (0.50)
Accepted values:
Default:
Writeable? Y / Nullable? N |
|
|
decimal |
Bid multiplier to the
Note: bids can be increased up to 500% (6.0) or decreased up to 50% (0.50)
Accepted values:
Default:
Writeable? Y / Nullable? N |
|
|
decimal |
Bid multiplier to the
Note: bids can be increased up to 500% (6.0) or decreased up to 50% (0.50)
Accepted values:
Default:
Writeable? Y / Nullable? N |
|
|
decimal |
Bid multiplier to the
Note: bids can be increased up to 500% (6.0) or decreased up to 50% (0.50)
Accepted values:
Default:
Writeable? Y / Nullable? N |
|
|
decimal |
Bid multiplier to the
Note: bids can be increased up to 500% (6.0) or decreased up to 50% (0.50)
Accepted values:
Default:
Writeable? Y / Nullable? N |
|
Response |
Description |
|---|---|
|
🔵
|
Call executed with success |
|
🔴
|
BidMultiplierOutOfRange A bid multiplier provided is out of range of the expected range and could not be accepted IllegalValueProvided An invalid page type or poorly formatted bid multiplier was provided |
|
🔴
|
Unauthorized User doesnt have permission to edit a specified line item |
|
🔴
|
LineItemDoesntExist Attempted to fetch or manipulate a line item that does not exist |
|
Method |
Endpoint |
Description |
|---|---|---|
|
GET |
|
Get Brands |
|
POST |
|
Search for Brands by name in Retailer(s) Catalogs |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
string |
Brand ID, generated internally by Criteo and originated from brand name provided in retailer's Catalog Accepted values: int64 Writeable? N / Nullable? N |
|
|
string |
Brand name, keyword to use as filter in the search (case-insensitive) or returned as final brand name available Accepted values: string Writeable? N / Nullable? N |
|
|
list |
List of Retailer IDs, to use as filter in the search or returned as containing the specific brand Accepted values: list of strings of int32 Writeable? N / Nullable? N |
|
|
enum |
Type of brands, to consider in the search or returned as attribute of the specific brand
Accepted values:
Default:
Writeable? N / Nullable? N |
|
Response |
Error |
Message |
Description |
|---|---|---|---|
|
🟢
|
Call completed successfully |
||
|
🔴
|
Validation Error |
|
One of the parameters provided in the request does not match the format accepted. Check the error details and the parameters informed in the call |
|
🔴
|
Authorization Error |
|
API user does not have the authorization to make requests to the account ID. For an authorization request, follow the authorization request steps |
|
Method |
Endpoint |
Description |
|---|---|---|
|
|
|
Retrieves all existing budget overrides at the campaign level. |
|
|
|
Replaces all existing campaign budget override settings. Use this endpoint can be used to add/remove or update existing budget overrides. |
|
|
|
Retrieves all existing budget overrides at the line-item level. |
|
|
|
Replaces all existing line-item budget override settings. Use this endpoint to add/remove or update existing budget overrides. |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
list
|
Line item budget override monthly part, chronological order restricted Parameters:
|
|
|
list
|
Line item budget override daily part, chronological order restricted Parameters:
|
|
|
string |
Start month of monthly budget override.
Accepted values: strings of date
Writeable? Y / Nullable? Y |
|
|
date |
Start date of daily budget override
Accepted values:
Writeable? Y / Nullable? Y |
|
|
string |
The number of
months
(for monthly Budget Override) or
days
(daily Budget Override) that the override is active, from
Accepted values:
Writeable? Y / Nullable? N |
|
|
decimal |
Monthly budget override maximum monthly spend amount
Accepted values:
Writeable? Y / Nullable? N |
|
|
decimal |
Daily budget override maximum daily spend amount
Accepted values:
Writeable? Y / Nullable? N |
|
|
enum |
Monthly or daily budget override computed status
Accepted values:
Writeable? N / Nullable? N |
|
Response |
Description |
|---|---|
|
🔵
|
Call executed with success |
|
🔵
|
Budget override was created with success |
|
🔴
|
|
|
Method |
Endpoint |
Description |
|---|---|---|
|
POST |
|
Create a new campaign for the specified account. |
|
GET |
|
Retrieve all campaigns associated with the specified account. |
|
GET |
|
Retrieve details of a specific campaign by its ID. |
|
PUT |
|
Update details of a specific campaign by its ID. |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
|
Campaign ID, generated internally by Criteo Accepted values: int64 Writeable? N / Nullable? N |
|
|
|
Account ID associated with the campaign, generated internally by Criteo Accepted values: int64 Writeable? N / Nullable? N |
|
|
|
Campaign name; must be unique within an Account Accepted values: up to 255-chars string Writeable? Y / Nullable? N |
|
|
|
Campaign type If the attribute is passed in the call, a value must be specified
Accepted values:
Default:
Writeable? Y / Nullable? N |
|
|
|
Campaign lifetime spend cap; uncapped if omitted or set to
Note that preferred campaign types cannot have budgets as these campaign types must be uncapped Accepted values: equals/greater than zero
Default:
Writeable? Y / Nullable? Y |
|
|
|
Amount the campaign has already spent Accepted values: equals/greater than zero
Default:
Writeable? N / Nullable? N |
|
|
|
Amount the campaign has remaining until cap is hit;
Accepted values: between zero and
Default:
Writeable? N / Nullable? Y |
|
|
list
|
List of brand IDs from promoted products in the campaign, originated from the retailer's Catalog * see also Brands Accepted values: list of strings Default: empty list Writeable? N / Nullable? N |
|
|
|
Post-click attribution window
Accepted values:
Default:
Writeable? Y / Nullable? N |
|
|
|
Post-view attribution window
Accepted values:
Default:
Writeable? Y / Nullable? N |
|
|
|
Post-click attribution scope
Accepted values:
Default:
Writeable? Y / Nullable? N |
|
|
|
Post-view attribution scope
Accepted values:
Default:
Writeable? Y / Nullable? N |
|
|
list
|
List of Balances the campaign is able to draw from; at least one balance is required for a campaign to start
Accepted values: list of
Default: empty list Writeable? Y / Nullable? N |
|
|
|
Campaign status, derived from the status of
Line Items
it holds;
Accepted values:
Default:
Writeable? N / Nullable? N |
|
|
|
The maximum monthly spend allowed for the campaign in the currency of the account. The spend is constrained by remaining account balance and total budget of the campaign. Monthly budget spend reset monthly at the start of the month based on the account timezone
Accepted values:
Default:
Writeable? Y / Nullable? Y |
|
|
|
The maximum daily spend allowed for the campaign in the currency of the account, as long as not set to
Accepted values:
Default:
Writeable? Y / Nullable? Y |
|
|
|
Auto daily pacing flag for the campaign budget. The daily pacing value is automatically calculated with respect to the days left in the month for the account. The campaign's remaining account balance, total budget, and monthly pacing value are constrained by account's timezone and the campaign status. If auto daily pacing is enabled,
Note the value may be affected by budget override. Daily budget spend is reset daily at the start of the day based on the account timezone. To activate, either campaign's
Accepted values:
Writeable? Y / Nullable? N |
|
|
|
Campaign start date. The campaign starts inactive if invalid start date is not today or end date is in previous day.
Accepted values:
Default: creation timestamp Writeable? Y / Nullable? Y
⚠️
Note
: if time/timezone designators are not provided, the default value to be considered will be
|
|
|
|
Campaign end date. The campaign starts inactive if invalid start date is not today or end date is in previous day
Accepted values:
Default:
Writeable? Y / Nullable? Y
⚠️
Note
: if time/timezone designators are not provided, the default value to be considered will be
|
|
|
|
Timestamp of campaign creation, in UTC
Accepted values:
Writeable? N / Nullable? N |
|
|
|
Timestamp of last campaign update, in UTC
Accepted values:
Writeable? N / Nullable? N |
|
|
|
This optional field, exclusively accessible to marketplaces within the European Union (in compliance with the Digital Service Act - DSA), will display the name of the company associated with the advertisement. Accepted values: up to 255-chars string Writeable? Y / Nullable? Y |
|
|
|
This optional field, exclusively accessible to marketplaces within the European Union (in compliance with the Digital Service Act - DSA), will display the name of the company (on behalf of
Accepted values: up to 255-chars string Writeable? Y / Nullable? Y |
|
|
|
The retailer this campaign is associated with. Required when using a retailer budget balance. Writeable? Y (at create) / Nullable? Y (for non-retailer-budget campaigns) |
|
Method |
Endpoint |
Description |
|---|---|---|
|
POST |
|
Create a catalog request to generate a new catalog for Brand account |
|
POST |
|
Create a catalog request to generate a new catalog for Seller account |
|
POST |
|
Create a request to export existing catalogs from a Brand account |
|
POST |
|
Create a request to export existing catalogs from a Seller account |
|
GET |
|
Retrieve the status of a specific catalog request. |
|
GET |
|
Download the output of a specific catalog once it's ready. |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
enum |
Format of the catalog data returned.
Accepted values:
Default:
Writeable? N / Nullable? Y |
|
|
list
|
Brand ID(s) used to filter down catalog results based on specified brands.
Accepted values: list of
Writeable? N / Nullable? N |
|
|
list
|
Retailer ID(s) used to filter catalog results based on specified retailers. If not specified, all retailers are included.
Accepted values: list of
Writeable? N / Nullable? Y |
|
|
|
Includes only SKUs modified after the specified time. Must be within the last 18 hours; otherwise, a full export is required.
Format:
Writeable? N / Nullable? Y |
|
|
list
|
Optional fields to include in the export. If not provided, those fields will return with
Accepted values:
Writeable? N / Nullable? Y |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
list
|
List of required seller pairs
Parameters:
Writeable? N / Nullable? N |
|
|
|
Includes only SKUs modified after the specified time. Must be within the last 18 hours; otherwise, a full export is required.
Format:
Writeable? N / Nullable? Y |
|
|
list
|
Optional fields to include in the export. If not provided, those fields will return with
Accepted values:
Writeable? N / Nullable? Y |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
string |
ID of the catalog creation request, to be used to retrieve its status and output (using other endpoints below - async) Accepted values: string of int64 Writeable? N / Nullable? N |
|
|
enum |
Possible status of respective catalog creation
Accepted values:
Default:
Writeable? N / Nullable? N |
|
|
enum |
Currency of the products in the catalog
Accepted values: 3-chars currency code (in
ISO-4217
; e.g.
Writeable? N / Nullable? Y |
|
|
integer |
Number of products available in the catalog (available when reach
Accepted values: int32 Writeable? N / Nullable? Y |
|
|
integer |
File size of catalog, in bytes (available when reach
Accepted values: int32 Writeable? N / Nullable? Y |
|
|
string |
MD5 checksum of catalog's content (available when reach
Accepted values: 32-char alpha-numeric strings Writeable? N / Nullable? Y |
|
|
timestamp |
Timestamp of catalog creation, in UTC
Accepted values:
Writeable? N / Nullable? N |
|
|
string |
Optional informative message, for developer consumption Accepted values: string Writeable? N / Nullable? Y |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
|
Product ID, defined by the retailer. Accepted values: case-insensitive, up to 50 characters, no quotation marks, ASCII characters Writeable? N / Nullable? N |
|
|
|
Product name, defined by the retailer. Accepted values: up to 500 characters Writeable? N / Nullable? N |
|
|
|
Product description, defined by the retailer. Accepted values: up to 5000 characters Writeable? N / Nullable? Y |
|
|
|
Product category, defined by the retailer. Accepted values: up to 1000 characters Writeable? N / Nullable? Y |
|
|
|
Category ID associated with the product, derived from the retailer catalog. Writeable? N / Nullable? Y |
|
|
|
Category associated with the product, derived from the Google Product Taxonomy . Writeable? N / Nullable? Y |
|
|
|
Brand ID of the product. For brand accounts, it is derived from the Universal Catalog. For retailer accounts, it is derived from the Retailer Catalog. Writeable? N / Nullable? N |
|
|
|
Brand name of the product; brands are standardized across retailers. Accepted values: up to 70 characters Writeable? N / Nullable? Y |
|
|
|
Seller ID(s) in the respective retailer’s catalog, used to filter down catalog items. Accepted values: case-insensitive, up to 50 characters, no quotation marks, ASCII characters Writeable? N / Nullable? Y |
|
|
|
Name of the seller associated with the
Accepted values: up to 200 characters Writeable? N / Nullable? Y |
|
|
|
Retailer ID that contains the product offer.
Accepted values: string of
Writeable? N / Nullable? N |
|
|
|
Name of the retailer that contains the product offer. Accepted values: up to 100 characters Writeable? N / Nullable? N |
|
|
|
Current product price in the respective retailer. Accepted values: up to 14 characters Writeable? N / Nullable? Y |
|
|
|
Flag indicating if the product is currently in stock.
Accepted values:
Writeable? N / Nullable? N |
|
|
|
Minimum CPC (Cost-Per-Click) bid required for the product, as set by the retailer.
Any
Line Item
with this product must have its
Accepted values: > 0.0 Writeable? N / Nullable? Y |
|
|
|
Global Trade Item Number (GTIN), if available. Also known as EAN or UPC. Accepted values: up to 14 digits Writeable? N / Nullable? Y |
|
|
|
Manufacturer Part Number (MPN), if available. Accepted values: up to 70 characters Writeable? N / Nullable? Y |
|
|
|
HTTP URL of the product image, as provided by the retailer. Accepted values: up to 2000 characters Writeable? N / Nullable? N |
|
|
|
Timestamp of the last product update, in UTC.
Format:
Writeable? N / Nullable? N |
|
Response |
Description |
|---|---|
|
🟢
|
Success |
|
🔴
|
The indicated catalog is not available for retrieval, wait for a success status |
|
🔴
|
API user does not have the authorization to make requests to the account ID. For an authorization request, follow the steps |
|
Method |
Endpoint |
Description |
|---|---|---|
|
POST |
|
Searches for available categories within a retailer's taxonomy |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
|
Unique identifier for the retailer.
Found using the
Required in URL path. Writable? N / Nullable? N |
|
|
|
Array of category ID strings for search filtering. Must be positive integer strings. Writable? Y / Nullable? Y |
|
|
|
Text string to search for in category names. Used for category name filtering. Writable? Y / Nullable? Y |
|
|
|
Pagination offset for search results.
Default:
Query parameter. Writable? Y / Nullable? Y |
|
|
|
Maximum number of results to return.
Default:
Query parameter. Writable? Y / Nullable? Y |
|
Code |
Meaning |
Troubleshooting Hint |
|---|---|---|
|
🟢 200 |
Success |
Request processed successfully with pagination metadata |
|
🔴 400 |
Bad Request |
Check that
|
|
🔴 403 |
Forbidden |
Verify authorization and retailer access permissions |
|
OAuth Method |
Rate limit |
Rate limit applies at level |
|---|---|---|
|
250 calls per minute for default endpoints 40 calls per minute for reporting endpoints |
Application level |
|
|
10 calls per minute |
Account |
|
Verb |
Endpoint |
Description |
|---|---|---|
|
POST |
|
Request a fill rate report creation |
|
POST |
|
Request an unfilled reasons report |
|
GET |
|
Get status of a specific report |
|
GET |
|
Download output of a specific report |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
list\\ |
Supply Account IDs to pull results for Accepted values: array of strings/int64 Writable? N / Nullable? N |
|
|
list\\ |
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 Writable? N / Nullable? N |
|
|
list\\ |
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 Writable? N / Nullable? N |
|
|
date |
Start date of the report (inclusive)
Accepted values:
Writable? N / Nullable? N |
|
|
date |
End date of the report (inclusive)
Accepted values:
Writable? N / Nullable? N |
|
|
string |
Time zone to consider in the metrics calculation,
Accepted values: IANA (TZ database) time zones (example:
Default:
Writable? N / Nullable? Y |
|
|
enum |
The format type the report should return results
Accepted values:
Default:
Writable? N / Nullable? N |
|
|
enum |
The ad server responsible for rending the ad on the retailer site.
Accepted values:
|
|
Response |
Description |
|---|---|
|
🟢
|
Call executed with success |
|
🔴
|
Common Validation Errors:
|
|
🔴
|
|
|
Verb |
Endpoint |
Description |
|---|---|---|
|
GET |
|
Retrieve a Keywords Approval report to the specific supply account, with a count of keywords in review state at line-item |
|
GET |
|
Retrieve a set of all keywords in review state for the specific line-item |
|
POST |
|
Review keyword(s) for the specific line-item |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
string |
Line Item ID, respective to the amount of keywords in review Accepted values: string of int64 Writeable? N / Nullable? N |
|
|
string |
Line Item name, respective to the amount of keywords in review Accepted values: up to 255-chars string Writeable? Y / Nullable? N |
|
|
string |
Campaign ID, respective to the amount of keywords in review Accepted values: string of int64 Writeable? N / Nullable? N |
|
|
string |
Campaign name, respective to the amount of keywords in review Accepted values: up to 255-chars string Writeable? Y / Nullable? N |
|
|
string |
Account ID, respective to the amount of keywords in review Accepted values: string of int64 Writeable? N / Nullable? N |
|
|
string |
Account name, respective to the amount of keywords in review Accepted values: up to 255-chars string Writeable? Y / Nullable? N |
|
|
string |
Retailer ID, respective to the amount of keywords in review Accepted values: string of int64 Writeable? N / Nullable? N |
|
|
string |
Retailer name, respective to the amount of keywords in review Accepted values: up to 255-chars string Writeable? Y / Nullable? N |
|
|
integer |
Amount of keywords in review for the respective line-item
Accepted values:
Writeable? N / Nullable? N |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
string |
Line Item ID, respective to the amount of keywords in review Accepted values: string of int64 Writeable? N / Nullable? N |
|
|
enum |
Status of the Keyword Review (only applicable for
Accepted values:
Default:
Writeable? N / Nullable? N |
|
|
enum |
The matching algorithm to be used when comparing this keyword with shopper search phrases Accepted values:
Writeable? N / Nullable? N |
|
|
decimal |
The bid override for the positive keyword. The keyword will use the default line item bid if the value is
Accepted values: retailer's
Default:
Writeable? Y / Nullable? Y |
|
|
object |
Keywords supplied by the user matching this normalized keyword phrase binned by match type (see examples below) Parameters:
Writeable? Y / Nullable? Y |
|
|
timestamp |
Timestamp the keyword was created in the line-item (or recommended to line-item)
Accepted values:
Writeable? N / Nullable? N |
|
|
timestamp |
Last timestamp the keyword was updated in the line-item (or recommended to line-item)
Accepted values:
Writeable? N / Nullable? N |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
list
|
List of object pairs made of
Parameters:
Writeable? N / Nullable? N |
|
|
enum |
Normalized keyword for approval review
Accepted values: string keywords returned from previous endpoint (in
Writeable? N / Nullable? N |
|
|
enum |
Approval result of the Keyword Review Accepted values:
Writeable? N / Nullable? N |
|
Response |
Title |
Detail |
Troubleshooting |
|---|---|---|---|
|
🟢
|
Call executed with success |
||
|
🟢
|
Entity request created with success |
||
|
🔴
|
Keyword Error |
One or more keywords given are not found on this line item |
Double-check the value of the keyword informed in the Review request; it should contain only existing keywords with
|
|
🔴
|
Model validation error |
Error converting value "xyz" to type 'Criteo.RetailMedia.
|
Value "xyz" provided is not a valid value for that respective parameter. Check the error details for more information |
|
🔴
|
Forbidden |
The account ID provided is not suitable for those endpoints (only supply accounts), the account is not included in the consent from the API app or the API app doesn't have Manage access to the Campaign domain/scope. Review the Types of Permissions in Authorization Requests |
|
Verb |
Endpoint |
Description |
|---|---|---|
|
GET |
|
Retrieve a set of positive and negative keywords for a line item |
|
GET |
|
Retrieve a collection of recommended keywords for a line item |
|
POST |
|
Add or remove keywords from a line item |
|
POST |
|
Set a bid override at keyword level |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
string |
Line Item ID, generated internally by Criteo Accepted values: string of int64 Writeable? N / Nullable? N |
|
|
object |
Keywords structure, indexed by normalized keyword phrases each of them containing structure of:
|
|
|
enum |
Matching algorithm type to be used when comparing this keyword with shopper search phrases. Accepted values:
Default:
Writeable? N / Nullable? N |
|
|
enum |
Status of Keyword review, only applicable for
Keywords not reviewed by the automatic keyword service will be reviewed and approved by the retailer. Accepted values:
Default:
Writeable? N / Nullable? N |
|
|
decimal |
The bid override for the positive keyword. The keyword will use the default line item bid if the value is
Accepted values: retailer's
Default:
Writeable? Y / Nullable? Y |
|
|
boolean |
Control flag to add or remove the keyword from the line-item
Accepted values:
Writeable? N / Nullable? N |
|
|
object |
Keywords structure associated with line-item containing normalized keyword phrases and organized by match type. Parameters:
|
|
|
string |
Raw text of the keyword to be added or removed Accepted values: up to 255-chars string Writeable? Y / Nullable? N |
|
|
timestamp |
Timestamp when keyword was configured in the line-item (or recommended to line-item)
Accepted values:
Writeable? N / Nullable? N |
|
|
timestamp |
Timestamp when keyword was last modified in the line-item (or recommended to line-item)
Accepted values:
Writeable? N / Nullable? N |
|
Response |
Description |
|---|---|
|
🔵
|
Call completed with success |
|
🔵
|
|
|
🔴
|
Setting a bid for a positive keyword that doesn't exist on the line item. Error Message
Setting a keyword bid above the line-item
Error Message
Setting a keyword bid below the retailer
Error Message
|
|
Method |
Endpoint |
Description |
|---|---|---|
|
GET |
|
Retrieve all line items associated with a specific account. |
|
GET |
|
Retrieve details of a specific line item. |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
string |
Line item ID, generated internally by Criteo Accepted values: string of int64 Writeable? N / Nullable? N |
|
|
string |
Line item name, must be unique within a campaign Accepted values: up to 255-chars string Writeable? Y / Nullable? N |
|
|
string |
Campaign ID, in which the respective line item belongs Accepted values: string of int64 Writeable? N / Nullable? N |
|
|
enum |
Campaign type
Accepted values:
Writeable? Y / Nullable? N |
|
|
string |
Retailer ID, in which the respective line item serves ad on Accepted values: string of int64 Writeable? N / Nullable? N |
|
|
date |
Start date of the line item, in the Account timezone; used to schedule its activation and start serving ads. To understand the conditions that will cause a status to change, check out Campaign & Line Item Status
Accepted values:
Writeable? Y / Nullable? N |
|
|
date |
End date of the line item, in the Account timezone; serves ads indefinitely if omitted or set to
A timestamp can be included as well if the line item is desired to end at a certain time of day
Accepted values:
Default: if
Writeable? Y / Nullable? Y |
|
|
decimal |
Line item lifetime spend cap, uncapped if omitted or set to
Accepted values:
Default:
Writeable? Y / Nullable? Y |
|
|
decimal |
Budget amount the line item has already spent
Accepted values:
Default:
Writeable? N / Nullable? N |
|
|
decimal |
Budget amount the line item has remaining until cap is hit;
Accepted values: 0 ≤
Default:
Writeable? N / Nullable? Y |
|
|
enum |
Line item status; can only be updated by a user to
Accepted values:
Writeable? Y / Nullable? N |
|
|
timestamp |
Timestamp of line item creation, in UTC
Accepted values:
Writeable? N / Nullable? N |
|
|
timestamp |
Timestamp of last line item update, in UTC
Accepted values:
Default: same as
Writeable? N / Nullable? N |
|
Response |
Description |
|---|---|
|
🟢
|
Call completed successfully. The specified line item details are returned. |
|
🔴
|
API user is not authorized to make requests for the account ID. To request authorization, follow the steps. |
|
🔴
|
Line item ID not found. Ensure the
is correct and exists. |
|
Dimensions |
Description |
|---|---|
|
|
The date of when reported activity took place occurred |
|
|
The hour of the day when rendered ad received an event |
|
|
The associated account that is connected to the supply or demand account |
|
|
The computed and unique identifier of the supply or demand account |
|
|
The supply or demand account name |
|
|
The account type of the reported activity. Options will include:
|
|
|
The advertiser account type where the ad activity originated from. Options includes:
|
|
|
The computed unique campaign identifier of the demand or supply account that generated the activity |
|
|
The campaign name of the demand or supply account that generated the activity |
|
|
The campaign type available. Available options are
|
|
|
The start date set for the campaign |
|
|
The end date set for campaign |
|
|
The computed unique identifier of a line-item |
|
|
The line-item name provided by the advertiser |
|
|
The start date set for the line-item |
|
|
The end date set for the line-item |
|
|
The status of the line-item associated with the selected dimension, such as the date or hour indicating of when the event took place. |
|
|
The retailer ID that is associated with the report activities . This will be the same
|
|
|
The retailer name that is associated to the report activity. |
|
|
The brand ID provided by the retailer brand ID associated with the advertised SKU |
|
|
The retailer brand name associated with the advertised SKU |
|
|
The id of the placement where the ad creative was displayed. |
|
|
The name of the placement where the ad creative was displayed. |
|
|
The page type where the ad was rendered |
|
|
The environment where the ad was rendered on. Options will include web, mobile and app |
|
|
The source of where activities originated from. Options will include
|
|
|
The campaign buying strategy. Options will include
|
|
|
Sales channel the attributed purchase was made through. Available options are:
|
|
|
The lookback click and view attribution window of the requested report. The attribution window is based on the parameters selected in the report API request. The
Post-Click (C) lookback window none, 7, 14, 30 days Post-view (V) lookback window none, 1, 7, 14, 30 days |
|
|
The type of ad engagement the sale was attributed to. Available options will include
|
|
|
Keyword or phrase used to land on the search page where an ad creative rendered. |
|
|
Attribution rule used to match the impression or click to a sale. Available options are:
|
|
|
Advertised product ID; this references the same product ID of the retailer Catalogs |
|
|
Advertised product name |
|
|
Advertised product GTIN |
|
|
Advertised product MPN |
|
|
The retailer defined category of the page where ads are rendered |
|
|
The retailer category provides the type of product the SKU belongs to. This fields provides the id of that product type |
|
|
The name of that product type |
|
|
The category breadcrumb of the product using retailer product taxonomies (L1, L2 L3 etc.). This is for analysis where SKUs are present in the displays |
|
|
The ID SKU's taxonomy. The revenue report provides the option to select level 1 through level 7.
ℹ️
Note
: SKUs will normally have at least the primary sku taxonomy (L1). All following levels are considered additional taxonomies. If a SKU does not have an additional taxonomy level, the report will default to
|
|
|
The name SKU's taxonomy. If a SKU does not have an additional taxonomy level, the report will default to
|
|
|
The conquesting ad strategy used with the keywords. Output values of this dimension includes:
|
|
Dimensions |
Description |
|---|---|
|
|
the total count of campaigns associated with the selected report dimension. |
|
|
The total count of line-items associated with the selected report dimension. |
|
|
The total count of skus associated with the selected report dimension. |
|
|
The total price of each SKU unit.
|
|
|
The count of unique ad calls on a retailer network. Use this metric when referencing to dimensions that relates to itself to receive a more comprehensive data. Using dimensions such as
|
|
|
An impression represents each time an ad renders on a page, regardless of clicks or views. An impression for a Sponsored Product ad is when the sponsored SKU renders on the page (the product being the ad). An impression for a Commerce Display ad is when the entire banner (creative + product) renders on the page. An impression for a Display banner ad is when the creative banner renders on the page. |
|
|
Total count of the click events that occur when a user clicks a product in a placement |
|
|
Total count of the click events that occur when a user clicks a placement |
|
|
The total count of all click events
|
|
|
The total attributed revenue from product sales |
|
|
The total attributed product units sold |
|
|
Sales revenue attributed to a click or impression of all the ads that appeared on a page within the chosen attribution window (specified at the campaign level) but were not determined to be the
|
|
|
The number of events that occurred that helped generated a sale. Assisted units are excluded from
|
|
|
The total amount of sponsored products revenue generated on the set date, not including sponsorships. |
|
|
The total amount of onsite display revenue generated on the set date, not including sponsorships. |
|
|
The total amount of sponsored products revenue generated on the set date, not including sponsorships. |
|
|
The total amount of onsite display revenue generated on the set date, not including sponsorships. |
|
|
The total revenue generated on the set date. The
|
|
|
The total amount of attributed orders/transactions |
|
|
The percentage of shoppers who clicked an ad rendered on a page. Product and Product Category Report Types
All other report types
|
|
|
The number of conversion generated by the visitors to the retailer site.
|
|
|
Average cost-per-click calculated by dividing openAuctionRevenue / clicks or preferredDealsRevenue / clicks |
|
|
Average cost per mille calculated by diving
|
|
|
Return-on-ad-spend (ROAS), calculated by dividing
|
|
|
The total spend paid by the brand |
|
|
The total revenue from brand spend for the retailer |
|
|
The number of distinct shoppers exposed to an ad within the reporting period. Each shopper is counted once using the retailer cookie ID.
Criteo uses retailer cookie IDs to identify users across sessions on the same device. Each ID can last up to a year, provided the user does not clear their cookies. |
|
|
An average representing how often an impression has been shown to the same user |
|
Key-Values |
Data Type |
Description |
|---|---|---|
|
|
|
The number of times at least 50% of the video ad appeared for at least 2 seconds (MRC standard). |
|
|
|
The number of times one of your video ads started playing. |
|
|
|
The number of times one of your videos played to at least 25% of its duration. |
|
|
|
The number of times one of your videos played to at least 50% of its duration. |
|
|
|
The number of times one of your videos played to at least 75% of its duration. |
|
|
|
The number of times one of your videos played to 100% of its duration. |
|
|
|
The average played percentage of a started video. Formula: Sum of Quartiles x 0.25 / (4 x Video starts) |
|
|
|
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 |
|
|
|
The percentage of videos printed that started playing. Formula: Video Starts / Placement Impressions |
|
|
|
The average played percentage of a started video. Formula: Sum of Quartiles x 0.25 / (4 x Video starts) |
|
|
|
The number of times users clicked the “mute” button on your video. |
|
|
|
The number of times users clicked the “unmute” button on your video. |
|
|
|
The number of times users activated the resume control after the creative had been stopped and paused. |
|
|
|
The number of times users activated the pause control on the video. |
|
|
|
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 |
|
Dimensions |
Description |
|---|---|
|
|
The date of when reported activity took place occurred |
|
|
The retailer ID that is associated with the report activities. This will be the same
|
|
|
The retailer name that is associated to the report activity. |
|
|
The environment where the ad was rendered on. Options will include web, mobile and app |
|
|
The page type where the ad was rendered |
|
|
The
|
|
|
The name of the placement where the ad creative was displayed. |
|
|
The ad server where the ad was rendered on.
Value:
|
|
|
The retailer category provides the type of product the SKU belongs to. This field provides the ID of that product type. |
|
|
The name of that product type |
|
|
The category breadcrumb of the retailer page where ads are rendered Example: "*beauty and grooming > fragrances > deodorants > sprays > jive sprays > jive moon dream 9 piece body spray - for men & women*" |
|
Dimensions |
Description |
|---|---|
|
|
The number of available placements that were available to fill, including non-deliverable and deliverable placements. |
|
|
The total count of all click events
Formula
:
|
|
|
The number of covered placements divided by the number of deliverable placements |
|
|
A placement with candidates where Criteo has provided SKUs or line-items in the ad response |
|
|
Average cost-per-click
Formula
:
|
|
|
Average cost per *mille*, calculated by:
Formula
:
|
|
|
Available placement that the retailer allowed Criteo to run an auction for |
|
|
The number of times a deliverable placement on a page was populated with an ad (even if the impression was not viewable). Calculated by dividing the placement impressions by deliverable placements.
Formula
:
|
|
|
An impression represents each time an ad renders on a page, regardless of clicks or views. An impression for a Sponsored Product ad is when the sponsored SKU renders on the page (the product being the ad). An impression for a Commerce Display ad is when the entire banner (creative + product) renders on the page. An impression for a display banner ad is when the creative banner renders on the page. |
|
|
The total revenue from brand spend for the retailer |
|
|
A non-deliverable placement is a placement against which Criteo is not allowed by the retailer to run an auction. |
|
|
The count of unique ad calls on a retailer network. Use this metric when referencing to dimensions that relates to itself to receive a more comprehensive data. Using dimensions such as
|
|
|
Total count of the click events that occur when a user clicks a placement |
|
|
The number of placement impressions. |
|
|
The percentage of shoppers who clicked an ad placement rendered on a page
Formula
: (
|
|
|
The total revenue generated by placement impressions of CPM ads |
|
|
A placement with candidates is a placement for which Criteo is allowed by the retailer to run an auction and has sufficient information and demand to run it. |
|
|
Total count of the click events that occur when a user clicks a product in a placement |
|
|
The total revenue generated by product clicks of CPC ads |
|
|
The number of filled product impressions |
|
|
The number of clicks divided by the number of product impressions
Formula
:
|
|
|
The total revenue generated on the set date. The
|
|
|
The number of unfilled placements |
|
|
The total spend paid by the brand |
|
Reason |
Definition |
|---|---|
|
Uncovered |
|
|
|
The number of available ad placements that did not serve any impressions. |
|
|
There is not enough line items eligible to the placement for run of site placements. |
|
|
Ads returned to the retailer, but on placements that the retailer rarely paints. If a placement has a painted rate of less than 1% over the last 7 days, it can be considered as broken. |
|
|
Filtering reasons are the set of reasons for which line items can and will be excluded from pre-auctions, which decreases the number of ad opportunities overall. Filtering reasons may be of technical, supply, or demand nature (out of stock, dayparting, audience targeting, capping…) |
|
|
Available opportunities without candidate campaigns, that happen on branded keywords on retailers that disabled conquesting (on that particular placement). No demand on branded keyword conquesting disabled |
|
|
Available opportunities without candidate campaigns, that happen on branded keywords on retailers that enabled conquesting (on that particular placement) |
|
|
Ad placements available on general (non-branded) inventory, but no campaigns are set up to use them |
|
|
Ads returned to the retailer but not displayed (on placements that aren't broken). |
|
|
Ad placements on keywords that the keyword model cannot categorize. |
|
Undeliverable |
|
|
|
Ad placements for opt-out users that are not delivering because you have not enabled ads for these users |
|
|
Ad placements on pages where you have blocked Criteo from running auctions (e.g., some categories on which you do not want any ads to be served) |
|
|
Ad placements where the page does not have enough organic results to display ads. For example, if an ad is meant to appear on line 5 but fewer than 5 lines of products exist. |
|
|
These are ad placements that are still in testing and not fully enabled. |
|
|
Ad placements on category and merchandising pages that aren't deliverable because their category keys are missing from the retailer’s product feed. |
|
|
Product pages where items can't be identified in the retailer's product feed. |
|
Verb |
Endpoint |
Description |
|---|---|---|
|
|
|
Search for min bid CPC defined by collection of SKU IDs |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
string |
Retailer ID where the line item will serve ads on Accepted values: int64 Writeable? N / Nullable? N |
|
|
list
|
List of SKU IDs in which the minimum bid is requested (usually, the SKUs promoted by the line item). Values are available through Catalog endpoints
Accepted values: at least, an empty list
Writeable? N / Nullable? N |
|
|
string |
SKU ID respective to the
Accepted values: SKU IDs from catalog Writeable? N / Nullable? N |
|
|
decimal |
Overall minimum bid resulted from the list of SKUs requested, that the line item should respect to, effectively, deliver ads
Acceptable values: at least
Writeable? N / Nullable? N |
|
|
decimal |
Minimum bid for the respective SKU
Acceptable values: at least
Writeable? N / Nullable? N |
|
Response |
Description |
|---|---|
|
🟢
|
Call executed with success |
|
🔴
|
json-serialization-error Required attribute missing or with unexpected format in request's body |
|
🔴
|
Not Found Retailer ID informed in request's path was not found |
|
Match Type |
Negative keyword |
Ads won't show for |
Ads may show for |
|---|---|---|---|
|
Broad match |
Men's shoes |
Men shoes, Blue men’s shoes, Men's shoe size 9 |
Shoes, Boy’s shoes, Men’s basketball shoes |
|
Exact match |
Men’s shoes |
Men’s shoes, Mens shoes, Mens shoe |
Shoes, Blue men’s shoes, Mens shoe size 9 |
|
Submitted keyword match type |
Positive keyword |
Ads will show for |
Ads won’t show for |
|---|---|---|---|
|
Exact match |
Women's shoes |
Women's shoes, Womens shoes, Womens shoe |
Shoes, Blue women’s shoes, Womens shoe size 9 |
|
Method |
Endpoint |
Description |
|---|---|---|
|
GET |
|
Get all auction line items from a specific campaign |
|
POST |
|
Create a new auction line item |
|
GET |
|
Get a specific auction line item |
|
PUT |
|
Update a specific auction line item |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
string |
Auction line item ID, generated internally by Criteo Accepted values: string of int64 Writeable? N / Nullable? N |
|
|
string |
Line item name, must be unique within the Campaign Accepted values: between 2 and 255-chars string Writeable? Y / Nullable? N |
|
|
string |
Campaign ID, in which the respective line item belongs and generated internally by Criteo Accepted values: string of int64 Writeable? N / Nullable? N |
|
|
string |
Retailer ID where the line item will serve ads on. For retailer-budgets campaigns, must match the campaign's
Accepted values: string of int64 Writeable? N / Nullable? N |
|
|
date |
Start date of the line item, used to schedule its activation and start serving ads. To understand the conditions that will cause a status to change, check out Campaign & Line Item Status
ℹ️ This now supports datetime offset to define the desired time zone, in the format of
Accepted values:
Writeable? Y / Nullable? N |
|
|
date |
End date of the line item; serves ads indefinitely if omitted or set to
ℹ️ This now supports datetime offset to define the desired time zone, in the format of
Accepted values:
Default: if
Writeable? Y / Nullable? Y |
|
|
decimal |
Lifetime spend cap of line item (optional), uncapped if omitted or set to
Accepted values:
Default:
Writeable? Y / Nullable? Y |
|
|
decimal |
Budget amount the line item has already spent
Accepted values:
Default:
Writeable? N / Nullable? N |
|
|
decimal |
Amount the line item has remaining until cap is hit;
Accepted values: 0 ≤
Default:
Writeable? N / Nullable? Y |
|
|
decimal |
Amount the line item can spend per calendar month (optional), in the Account time zone. Omitting or setting to
Accepted values:
Default:
Writeable? Y / Nullable? Y |
|
|
decimal |
Amount the line item can spend per calendar day (optional), in the Account time zone. It resets each day; overwritten by calculation if
Accepted values:
Default:
Writeable? Y / Nullable? Y |
|
|
boolean |
To activate, either line item
Accepted values:
Default:
Writeable? Y / Nullable? N |
|
|
enum |
Indicate whether Adaptive CPC is enabled or not
Accepted values:
Default:
Writeable? Y / Nullable? N |
|
|
enum |
Bid algorithm optimizing for sales conversions, sales revenue or clicks
Accepted values:
Default:
Writeable? Y / Nullable? N |
|
|
bidStrategy decimal |
If optimizing for
ℹ️ Note:
Accepted values: at least the greatest value of
Default:
Writeable? Y / Nullable? Y |
|
|
decimal |
If optimizing for
ℹ️ Note:
Accepted values: at least
⚠️ Note: As of Writeable? Y / Nullable? Y |
|
|
enum |
Line item status; can only be updated by a user to
Accepted values:
Writeable? Y / Nullable? N |
|
|
object |
Settings allowing custom scheduling for serving ads serving, organized by a combination of
Accepted values: see below Writeable? Y / Nullable? Y |
|
|
enum |
Keyword strategy used to target users according to the promoted products appended in the line item and their competitors ℹ️ Note: "*Conquesting*" is not available for all retailers; when creating a new line item for those retailers, a validation error will return which can be avoided by omitting this attribute from the request Accepted values:
Default:
Writeable? Y / Nullable? N |
|
|
timestamp |
Timestamp of line item creation, in UTC
Accepted values:
Writeable? N / Nullable? N |
|
|
timestamp |
Timestamp of last line item update, in UTC
Accepted values:
Default: same as
Writeable? N / Nullable? N |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
enum |
Day of the week or day type that the respective
Accepted values:
Writeable? Y / Nullable? N |
|
|
time |
Start time that the respective
ℹ️ This time value will be interpreted considering the time zone provided in the
Accepted values:
Writeable? Y / Nullable? N |
|
|
time |
End time that the respective
ℹ️ This time value will be interpreted considering the time zone provided in the
Accepted values:
Writeable? Y / Nullable? N |
|
Response |
Title |
Description |
|---|---|---|
|
🔵
|
Call completed with success |
|
|
🔵
|
Line item created with success |
|
|
🔴
|
Invalid
|
Cannot turn on
|
|
🔴
|
Conquesting not enabled |
|
|
🔴
|
|
|
|
Verb |
Endpoint |
Description |
|---|---|---|
|
POST |
|
Request a partner billing report creation |
|
GET |
|
Get status of a specific report |
|
GET |
|
Download output of a specific report |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
list |
Account IDs (currently supports only Supply Account IDs) Accepted values: array of strings/int64 Writeable? N / Nullable? N |
|
|
list |
Retailer IDs Accepted values: array of strings/int64 Writeable? N / Nullable? N |
|
|
date |
Start date of the report (inclusive)
Accepted values:
Writeable? N / Nullable? N |
|
|
date |
End date of the report (inclusive)
Accepted values:
Writeable? N / Nullable? N |
|
|
enum |
The format type the report should return results
Accepted values:
Default:
Writeable? N / Nullable? N |
|
Response |
Title |
Detail |
Troubleshooting |
|---|---|---|---|
|
🟢
|
Call executed with success |
||
|
🟢
|
Report request created with success |
||
|
🔴
|
Validation error |
Invalid date range. Maximum allowed is 31 days. |
Review the
|
|
🔴
|
Model Validation error |
|
Review the value of respective field provided, ensuring it was informed with a valid format |
|
🔴
|
The scope Billing is missing |
The scope Billing is required to access this endpoint and is missing from the provided token |
The respective API app doesn't have access to the domain/scope Billing. Review the Types of Permissions in Authorization Requests |
|
🔴
|
Authorization error |
Resource access forbidden: all the accounts/retailers are not accessible. |
Review the Account/Retailer ID(s) provided in the report request |
|
Dimensions |
Data Type |
Description |
|---|---|---|
|
|
string |
Account name |
|
|
string |
Account ID, generated by Criteo |
|
|
string |
Flag if report item is billable or not based on the non-billable settings |
|
|
string |
The category the account falls under, values can be:
|
|
|
string |
Retailer name tied to the account |
|
|
string |
Managed service or self-service
⚠️
Note
: if the
|
|
|
string |
The value should reflect either “Retailer” or “Criteo” is doing the billing |
|
|
string |
Account currency, in 3-chars code (in ISO-4217 ) |
|
|
string |
Indicates the source of account creation, distinguishing whether the account was created by a third-party partner working with Criteo; if so, the partner’s name is specified, otherwise,
|
|
|
integer |
|
|
|
string |
Balance ID associated with the account, generated by Criteo |
|
|
string |
Balance name
⚠️
Note
: if the
|
|
|
string |
Purchase order associated to the Balance
⚠️
Note
: if the
|
|
|
timestamp |
Start date of the Balance, in format
⚠️
Note
: if the
|
|
|
The payment option of the Private Market demand account at the balance level
⚠️
Note
: if the
|
|
|
|
string |
Campaign ID, generated by Criteo |
|
|
string |
Campaign name |
|
|
string |
Campaign type (⚠️ Campaigns eg:
|
|
|
string |
Campaign buying type (e.g. Auction, Preferred Deals, Sponsorship) |
|
|
string |
Line item ID, generated by Criteo |
|
|
string |
Line item name |
|
|
decimal |
Working media spend |
|
|
decimal |
Credit spend is the amount of credit applied in a given month to restore a working media budget that was originally impacted by bots, technical errors, or human errors. |
|
|
decimal |
Value add spend is the amount of free budget applied in a given month, typically granted to brands or agencies as an incentive to spend above a specific threshold, invest in new retailers, expand into new product categories, or test different formats and audiences. |
|
|
integer |
Amount of billable clicks recorded |
|
|
integer |
Amount of billable impressions recorded |
|
|
decimal |
Retailer's SSP fee amount |
|
|
decimal |
Managed service fee set at the supply account, which applies to the demand side of the supply account |
|
|
decimal |
Retailer's managed service fee amount |
|
|
decimal |
Retailer's offsite audience revenue before Criteo's take rate |
|
|
decimal |
Criteo's take rate from retailer offsite audience revenue |
|
|
string |
Timezone offset of the account |
|
|
decimal |
Retailer's sales enablement professional service fee amount |
|
|
decimal |
Retailer's self-service enablement professional service fee amount |
|
Method |
Endpoint |
Description |
|---|---|---|
|
GET |
|
Retrieve all products associated with a specific line item. |
|
POST |
|
Add products to a specific line item or update their bid override. |
|
POST |
|
Remove products from a specific line item. |
|
POST |
|
Pause products on a specific line item, preventing them from being advertised. |
|
POST |
|
Reactivate paused products on a specific line item, allowing them to be advertised again. |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
string |
Product ID, unique identifier at the Retailer catalog and obtained from the account Catalog
Accepted values: up to
Writeable? N / Nullable? N |
|
|
string |
Line Item ID, in which the product is to be promoted; required in the endpoints' path to define in which line item to perform the action Accepted values: string or int64 Writeable? N / Nullable? N |
|
|
decimal |
Bid value for the specific product; overrides
Accepted values:
Writeable? N / Nullable? Y |
|
|
enum |
Status of Promoted Product; can only be updated to
For more details about each state, check out Campaign, Line Item & Products Status
Returned values:
Writeable? Y / Nullable? N |
|
Response |
Description |
|---|---|
|
🟢
|
Call completed with success |
|
🟢
|
Promoted product paused or unpaused with success (no body content returned) |
|
🔴
|
Bad Request - Common validation errors:
|
|
🔴
|
API user does not have authorization to make requests for the account ID. For authorization, follow the authorization request steps. |
|
🔴
|
Line item ID not found |
|
Verb |
Endpoint |
Description |
|---|---|---|
|
POST |
|
Retrieves real-time Retail Media performance metrics |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
date |
Start date (YYYY-MM-DD) for the reporting window. Must be no more than 7 days in the past in the requested timezone. |
|
|
date |
End date (YYYY-MM-DD) for the reporting window. Optional |
|
|
array of strings |
Single retailer ID filter. Optional |
|
|
array of strings |
Filter by account IDs. Max 5 IDs.
Choose
one
of:
|
|
|
array of strings |
Filter by campaign IDs. Max 50 IDs.
Choose
one
of:
|
|
|
array of strings |
Filter by line item IDs. Max 50 IDs.
Choose
one
of:
|
|
|
array of strings |
Grouping dimensions. Must contain at least one value. |
|
|
array of strings |
Requested metrics. Must contain at least one value. |
|
|
string |
Time zone identifier. Defaults to UTC if not provided. |
|
Response |
Title |
Detail |
Troubleshooting |
|---|---|---|---|
|
🟢
|
Success |
Data returned successfully |
Call executed with success |
|
🔴
|
Validation Error |
Invalid request (timezone, filters, dimensions, metrics, look back, etc.) |
Review request parameters |
|
🔴
|
Missing Entity Filters |
No
|
Provide exactly one entity filter |
|
🔴
|
Entity Filter Limit Exceeded |
Too many IDs provided |
Respect max limits |
|
🔴
|
Missing Metrics |
metrics is missing or empty |
Provide at least one metric |
|
🔴
|
Missing Dimensions |
dimensions is missing or empty |
Provide at least one dimension |
|
🔴
|
Look back Window Exceeded |
|
Ensure ≤ 7 days |
|
🔴
|
Invalid Timezone |
Unsupported timezone |
Use valid timezone |
|
🔴
|
Deserialization Error |
Invalid format or type |
Fix payload format |
|
🔴
|
Forbidden |
Unauthorized access to resources |
Check permissions |
|
Method |
Endpoint |
Description |
|---|---|---|
|
POST |
|
Gets the top 50 recommended categories for specified products |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
|
Unique identifier for the retailer. Found using the
Required in URL path. Writable? N / Nullable? N |
|
|
|
Array of product ID strings for category recommendations. Min: 1 item, Max: 1000 items. Required field. Writable? Y / Nullable? N |
|
Code |
Meaning |
Troubleshooting Hint |
|---|---|---|
|
🟢 200 |
Success |
Request processed successfully, returns up to 50 recommended categories. |
|
🔴 400 |
Bad Request |
Check that
|
|
🔴 403 |
Forbidden |
Verify authorization and retailer access permissions. |
|
Method |
Endpoint |
Description |
|---|---|---|
|
POST |
|
Gets the top 100 recommended keywords for specified products |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
|
Unique identifier for the retailer. Found using the
Required in URL path. Writable? N / Nullable? N |
|
|
|
Array of product ID strings for keyword recommendations. Min: 1 item, Max: 1000 items. Required field. Writable? Y / Nullable? N |
|
Code |
Meaning |
Troubleshooting Hint |
|---|---|---|
|
🟢 200 |
Success |
Request processed successfully, returns up to 100 recommended keywords |
|
🔴 400 |
Bad Request |
Check if
|
|
🔴 403 |
Forbidden |
Verify authorization and retailer access permissions |
|
Verb |
Endpoint |
Description |
|---|---|---|
|
GET |
|
Get a single balance. Now includes
|
|
GET |
|
List balances. Now includes retailer fields. Retailer-budgets balances hidden on prior versions. |
|
GET |
|
Get balance change history. Now includes
|
|
POST |
|
Add campaigns to a balance. Validates retailer consistency. |
|
POST |
|
Remove campaigns from a balance. Returns error for retailer-billed balances. |
|
POST |
|
Create a campaign. Now accepts and validates
|
|
GET |
|
List campaigns. Now returns
|
|
GET |
|
Get a campaign. Now returns
|
|
POST |
|
Create a line item. Enforces
|
|
POST |
|
Search retailers. Now returns
|
|
Attribute |
Data Type |
Mutable |
Description |
|---|---|---|---|
|
|
|
init |
Retailer this balance is scoped to. Present only on retailer-budgets balances. *Nullable?* Y (null for non-retailer-billed) |
|
|
|
always |
Retailer purchase order number.
Replaces
the removed
*Nullable?* Y |
|
|
|
always |
Criteo purchase order number.
Replaces
the removed
*Nullable?* Y |
|
|
|
init |
Billing type for Private Market. Values:
|
|
\~\~
|
~~string~~ |
— |
Removed
in
|
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
|
The retailer this campaign is associated with. Required when using a retailer-budgets balance. Writeable? Y (at create) Nullable? Y (for non-retailer-budgets campaigns) |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
|
Budget model(s) supported for the given
Values:
Writeable? N Nullable? N |
|
Error code |
Endpoint |
Meaning |
|---|---|---|
|
|
|
Cannot remove a retailer-budgets balance from a campaign. |
|
|
|
Campaign
|
|
|
|
Line item
|
|
Response |
Title |
Detail |
Troubleshooting |
|---|---|---|---|
|
🟢
|
Success |
Request executed successfully. |
|
|
🔴
|
Retailer-budget balance mapping |
"Only retailer-sold campaigns are allowed to be mapped to a retailer-billed balance." |
Only campaigns scoped to the same retailer as the balance can be appended via
|
|
🔴
|
|
Campaign
|
Ensure the
|
|
🔴
|
|
Line item
|
Ensure
|
|
🔴
|
|
A required field is missing or has an invalid value. |
Review the request body against the attributes table above. |
|
🔴
|
|
Verify your access token and that your account has access to the retailer in question. |
|
Method |
Endpoint |
Description |
|---|---|---|
|
POST |
|
Search for Retailers associated with specific account |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
|
Retailer ID, generated internally by Criteo Accepted values: string of int64 Writeable? N / Nullable? N |
|
|
|
Retailer name, arbitrary and defined during Retailer integration phase Accepted values: up to 100-chars string Writeable? Y / Nullable? N |
|
|
|
Set of retail media capabilities available for the specific Retailer, separated by the different
Accepted values: see table below Writeable? N / Nullable? N |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
|
Campaign type that the following attributes are available for
Accepted values:
Writeable? N / Nullable? N |
|
|
|
Buy type for the ad impressions of the campaign, that the following attributes are available for
Accepted values:
Writeable? N / Nullable? N |
|
|
|
Budget models available for this
Values:
Writeable? N / Nullable? Y |
|
|
|
List of page type and environment where the campaign type & buy type are available to deliver ad impressions
Accepted values: list of
Writeable? N / Nullable? N |
|
|
|
Page type available in the current integration of the associated Retailer Accepted values: case-insensitive values of
Writeable? N / Nullable? N |
|
|
|
Environment where the page type is available in the associated Retailer integration Accepted values: case-insensitive values of
Writeable? N / Nullable? N |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
|
Optional list of Retailer IDs, generated internally by Criteo, to retrieve retail media capabilities from
Accepted values: list of integers, empty list or
|
|
Response |
Description |
|---|---|
|
🟢
|
Call executed with success |
|
🔴
|
"*Model validation error: The field limit must be between 1 and 10*". This indicates that the endpoint above was invoked requesting more than 10 retailers, which is not possible. Define a
|
|
🔴
|
API user does not have the authorization to make requests to the account ID. For an authorization request, follow the authorization request steps |
|
Verb |
Endpoint |
Description |
|---|---|---|
|
POST |
|
Request a retailer revenue report creation |
|
GET |
|
Get status of a specific report |
|
GET |
|
Download output of a specific report |
|
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:
Writable? N / Nullable? N |
|
|
|
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.
Use the
*Note: when metrics and dimensions are used, the report type is ignored.*
Accepted values:
Writable? N / Nullable? Y |
|
|
|
The revenue type used to filter report results. If the revenue type filter is not specified, the report will return all existing revenue data for sponsored products and preferred deals within the specified timeframe.
Accepted values:
Writable? N / Nullable? Y |
|
|
|
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:
Writable? N / Nullable? Y |
|
|
|
Filter on the budget model. Optional.
Accepted values:
Writable? N / Nullable? Y |
|
|
|
Filter on the activation platform. Optional.
Accepted values:
Writable? N / Nullable? Y |
|
|
|
The campaign buying strategy. This optional filter can be used to filter down results
Accepted values:
Writable? N / Nullable? Y |
|
|
|
The format type the report should return results
Accepted values:
Writable? N / Nullable? N |
|
|
|
The campaign type to filter results
Accepted values:
Default:
Writable? N / Nullable? N |
|
|
|
The sales channel where attributed sales originated
Accepted values:
Default:
Writable? N / Nullable? N |
|
|
|
The advertiser type where campaigns originated from
Accepted values:
Writable? N / Nullable? N |
|
|
|
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:
Default: if omitted, defaults to
Campaign
settings; must be specified if
Writable? N / Nullable? Y |
|
|
|
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:
Default: if omitted, defaults to
Campaign
settings; must be less than or equal to
Writable? N / Nullable? Y |
|
|
|
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 Writable? N / Nullable? Y |
|
|
|
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:
Default: if omitted, defaults to Campaign settings Writable? N / Nullable? Y |
|
|
|
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:
Default: if omitted, defaults to Campaign settings Writable? N / Nullable? Y |
|
(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:
Writable? N / Nullable? Y
⚠️
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 Writable? N / Nullable? Y |
|
|
|
Start date of the report (inclusive)
Accepted values:
Writable? N / Nullable? N |
|
|
|
End date of the report (inclusive)
Accepted values:
Writable? N / Nullable? N |
|
|
|
Time zone to consider in the metrics calculation,
Accepted values:
IANA (TZ database)
time zones (example:
Default:
Writable? N / Nullable? Y |
|
|
|
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). |
|
Response |
Description |
|---|---|
|
🔵
|
Call executed with success |
|
🔴
|
Common Validation Errors:
|
|
Verb |
Endpoint |
Description |
|---|---|---|
|
POST |
|
Search for Sellers, associated with retailers, given an account ID |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
string |
Account ID, to consider in the search for Seller accounts Accepted values: int64 Writeable? N / Nullable? N |
|
|
boolean |
Flag indicating to include accounts' details in the response, such as
It may improve performance when set to
Accepted values:
Default:
Writeable? N / Nullable? Y |
|
|
string |
Seller ID, specific to the associated Retailer Accepted values: int64 Writeable? N / Nullable? N |
|
|
integer |
Retailer ID which the seller account is associated with Accepted values: int32 Writeable? N / Nullable? N |
|
|
string |
Seller name Accepted values: string Writeable? N / Nullable? Y |
|
Response |
Error |
Message |
Description |
|---|---|---|---|
|
🟢
|
Call completed successfully |
||
|
🔴
|
Validation Error |
|
One of the parameters provided in the request does not match the format accepted. Check the error details and the parameters informed in the call |
|
🔴
|
Authorization Error |
|
API user does not have the authorization to make requests to the account ID. For an authorization request, follow the authorization request steps |
|
Verb |
Endpoint |
Description |
|---|---|---|
|
POST |
|
Insert or update store(s) |
|
POST |
|
Delete store(s) |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
integer |
The ID of the managing account.
Criteo: the
Accepted values: integer (int32) Writeable? N / Nullable? N |
|
|
string |
Identifies this event. Should be unique for a given endpoint call. Writeable? Y / Nullable? N |
|
|
string |
Identifies a product Accepted values: up to 50 chars string Writeable? Y / Nullable? N |
|
|
string |
Identifies the store for the customer. Accepted values: up to 64 chars string Writeable? Y / Nullable? N |
|
|
string |
Accepted values:
Writeable? Y / Nullable? N |
|
|
string |
Product's price at this store Accepted values: up to 14 chars string Writeable? Y / Nullable? N |
|
|
string |
The sale price of the product Accepted values: up to 14 chars string Writeable? Y / Nullable? Y |
|
Error code |
Error text |
Description |
|---|---|---|
|
400 |
Bad request |
Validation errors, required fields, unique
|
|
400 |
Request too large |
Payload exceeds 1000 events |
|
401 |
Unauthorized |
Authentication required |
|
403 |
Forbidden |
Not authorized |
|
429 |
Too Many Requests |
Rate limiting |
|
500 |
Internal Error |
Server error |
|
503 |
Service Unavailable |
Service temporarily unavailable |
|
Field Name |
Type |
Optional / Required / Computed |
Description |
|---|---|---|---|
|
|
String |
Computed |
Unique ID of the audience |
|
|
String |
Required |
Name of the audience. It must be unique per advertiser. |
|
|
String |
Optional |
Description of the audience |
|
|
String |
Computed |
ISO-8601 timestamp in UTC of audience creation (read-only) |
|
|
String |
Computed |
ISO-8601 timestamp in UTC of audience update (read-only) |
|
|
String |
Required |
Advertiser associated to the audience |
|
|
String Array |
Computed |
Ad sets associated to the audience (read-only). |
|
|
Required |
Algebra Node with the definition of how the different segments are mixed to create the audience using logical operators: AND, OR, NOT. |
|
Name |
Required / Optional |
Description |
|---|---|---|
|
|
optional |
The number of elements to be returned. The default is 50 and the maximum is 100. |
|
|
optional |
The (zero-based) offset into the collection. The default is 0. |
|
Field name and type |
Type |
Possible value |
Optional / Required / Computed |
Description |
|---|---|---|---|---|
|
|
String |
Required |
Unique ID of the segment |
|
|
|
String |
Required |
Name of the segment. It must be unique per advertiser. |
|
|
|
String |
Optional |
Description of the segment |
|
|
|
|
|
Computed |
Type of audience segment (read-only). Once created, the type cannot be changed. |
|
|
String |
Computed |
ISO-8601 timestamp in UTC of segment creation (read-only) |
|
|
|
Computed |
ISO-8601 timestamp in UTC of segment update (read-only) |
||
|
|
String |
Required |
Advertiser associated to the segment |
|
Field name |
Type |
Optional / Required / Computed |
Description |
|---|---|---|---|
|
|
In-market |
Optional |
Indicates that this should be an Audience Segment of type In-market |
|
Field name |
Type |
Optional / Required / Computed |
Description |
|---|---|---|---|
|
country |
String The ISO 3166-1 alpha-2 country code |
Required (if In-market is set) |
Reach people of a specific country. |
|
buyingPower |
BuyingPower array BuyingPower can be:
|
Optional |
Reach people who frequently purchase high price range items to lower price range items. If empty, don't filter people based on buying power. |
|
gender |
Gender Gender can be:
|
Optional |
Reach people who’ve shown interest in products made for a specific gender. If empty, don't filter people based on gender. |
|
String array |
Required (if In-market is set) |
Reach new people based on their commercial interests |
|
|
String array |
Required (if In-market is set) |
Choose the commercial brands your segment might be interested in |
|
|
priceRange |
PriceRange array PriceRange can be:
|
Optional |
Reach people who’ve shown interest in products within a specific price range. If empty, don't filter people based on price range. |
|
Field name |
Type |
Optional / Required / Computed |
Description |
|---|---|---|---|
|
|
ContactList |
Optional |
Indicates that this should be an Audience Segment of type Contact List |
|
Field name |
Type |
Optional / Required / Computed |
Description |
|---|---|---|---|
|
isReadOnly |
Boolean |
Computed |
True if the contact list-specific information cannot be edited through the public API, false otherwise. Contact Lists can be created through the Public API or through Commerce Growth, and this determines where they’re editable: if created through the Public API, they can only be edited through the Public API; same for Commerce Growth.
Segments created in Commerce Growth will show up as
|
|
Field name |
Type |
Optional / Required / Computed |
Description |
|---|---|---|---|
|
|
Location |
Optional |
Indicates that this should be an Audience Segment of type Location |
|
Field name |
Type |
Optional / Required / Computed |
Description |
|---|---|---|---|
|
registryType |
RegistryType RegistryType can take only one value (for now):
|
Required (if location set) |
The type of location audience segment |
|
pointsOfInterest |
PointsOfInterest array. Each point has a name, latitude and longitude |
Required (if location set) |
Reach users which have been historically located in the given coordinates |
|
→ name |
String |
Required |
Name of the point of interest |
|
→ latitude |
Decimal |
Required |
ISO-6709 latitude |
|
→ longitude |
Decimal |
Required |
ISO-6709 longitude |
|
radiusInKm |
Integer |
Required (if location set) |
The expected maximum distance in kilometers between a user and a point of interest |
|
Field name |
Type |
Optional / Required / Computed |
Description |
|---|---|---|---|
|
|
Behavioral |
Computed |
Indicates that this should be an Audience Segment of type Behavioral |
|
Field name |
Type |
Optional / Required / Computed |
Default Value |
Description |
|---|---|---|---|---|
|
country |
String |
Computed |
The user's country |
|
|
category |
BehavioralCategory. Can take any of these values:
|
Computed |
The behavioral's category |
|
|
startDate |
DateTime |
Computed (can be empty) |
Empty |
The date when this audience segment will start to be filled with audience data |
|
endDate |
DateTime |
Computed (can be empty) |
Empty |
The date when this audience segment will be cleaned of audience data |
|
Field name |
Type |
Optional / Required / Computed |
Description |
|---|---|---|---|
|
|
Prospecting |
Optional |
Indicates that this should be an Audience Segment of type Prospecting |
|
Field name |
Type |
Optional / Required / Computed |
Description |
|---|---|---|---|
|
|
Lookalike |
Optional |
Indicates that this should be an Audience Segment of type Lookalike |
|
Field |
Type |
Mandatory |
Description |
|---|---|---|---|
|
|
string |
Yes |
Id of existing Contact List or Event segment that will be treated as a seed. |
|
|
int64 |
No |
The target size of the resulting segment after computation. |
|
Field name |
Type |
Optional / Required / Computed |
Description |
|---|---|---|---|
|
|
Retargeting |
Optional |
Indicates that this should be an Audience Segment of type Retargeting |
|
Name |
Type |
Optional/Required |
Description |
|---|---|---|---|
|
visitorsType |
VisitorsType Can take three values:
*
*
|
Required |
The type of users being targeted. |
|
daysSinceLastVisitMin |
Integer |
Required |
Include users who visited your website before this number of days |
|
daysSinceLastVisitMax |
Integer |
Required |
Include users who visited your website after this number of days |
|
Name |
Required / Optional |
Description |
|---|---|---|
|
|
required |
The Advertiser Id |
|
|
required |
The ISO 3166-1 alpha-2 country code |
|
Name |
Required / Optional |
Description |
|---|---|---|
|
|
required |
The Advertiser Id |
|
|
required |
The ISO 3166-1 alpha-2 country code |
|
Parameter |
Type |
Description |
|---|---|---|
|
|
string |
Please see below for instructions on getting your credentials through Partner Dashboard |
|
|
string |
Please see below for instructions on getting your credentials through Partner Dashboard |
|
|
string |
Must be
|
|
|
string |
Only for Authorization Code apps . Authorization code returned during redirection |
|
|
string |
Only for Authorization Code apps
. Must match the
|
|
Parameter |
Definition |
Type |
Required? |
|---|---|---|---|
|
|
A list of advertiser ids (comma separated) |
string |
N |
|
|
The currency to be used in the report, ISO format. A list of supported currencies is available here. |
string |
Y |
|
|
Start date, ISO 8601 format. |
string |
Y |
|
|
End date, ISO 8601 format. |
string |
Y |
|
|
The output format. CSV, JSON, XML or EXCEL. |
string |
Y |
|
|
See the Dimensions page. |
Arrayk:api-he |
Y |
|
|
See the Metrics page. |
Arrayk:api-he |
Y |
|
|
The timezone for organizing the data in the report. A list of supported values is available here. |
string |
N UTC will be default timezone if not specified. |
|
Type |
Dimension |
|---|---|
|
Campaign |
|
|
Time |
|
|
Other |
|
|
Currency Code |
Symbol |
Full Name |
|---|---|---|
|
EUR |
€ |
Euro |
|
USD |
\$ |
US Dollar |
|
GBP |
£ |
British Pound |
|
CHF |
Ch |
Swiss Franc |
|
JPY |
¥ |
Japanese Yen |
|
BGN |
Л |
Bulgarian Lev |
|
CZK |
K |
Czech Koruna |
|
DKK |
Kr |
Danish Krone |
|
HUF |
Ft |
Hungarian Forint |
|
LTL |
Lt |
Lithuanian Litas |
|
PLN |
Z |
Polish Zloty |
|
RON |
Le |
Romanian New Leu |
|
SEK |
Kr |
Swedish Krona |
|
NOK |
Kr |
Norwegian Krone |
|
HRK |
Kn |
Croatian Kuna |
|
RUB |
Р |
Russian Ruble |
|
TRY |
Tl |
Turkish Lira |
|
AUD |
\$ |
Australian Dollar |
|
BRL |
R\$ |
Brazilian Real |
|
CAD |
\$ |
Canadian Dollar |
|
CNY |
¥ |
Chinese Yuan Renminbi |
|
HKD |
Hk |
Hong Kong Dollar |
|
IDR |
Rp |
Indonesian Rupiah |
|
INR |
Rs |
Indian Rupee |
|
KRW |
N/A |
South Korean Won |
|
MXN |
\$ |
Mexican Peso |
|
MYR |
Rm |
Malaysian Ringgit |
|
NZD |
\$ |
New Zealand Dollar |
|
PHP |
N/A |
Philippine Peso |
|
SGD |
\$ |
Singapore Dollar |
|
THB |
N/A |
Thai Baht |
|
ZAR |
R |
South African Rand |
|
ARS |
\$ |
Argentine Peso |
|
COP |
\$ |
Colombian Peso |
|
AED |
د |
United Arab Emirates Dirham |
|
KZT |
Т |
Kazakhstani Tenge |
|
SAR |
N/A |
Saudi Riyal |
|
UAH |
N/A |
Ukrainian Hryvnia |
|
EGP |
£ |
Egyptian Pound |
|
MAD |
Dh |
Moroccan Dirham |
|
ILS |
N/A |
Israeli Shekel |
|
BHD |
Bd |
Bahraini Dinar |
|
JOD |
Jd |
Jordanian Dinar |
|
KWD |
ك |
Kuwaiti Dinar |
|
LBP |
ل |
Lebanese Pound |
|
OMR |
N/A |
Omani Rial |
|
QAR |
N/A |
Qatari Riyal |
|
NGN |
N/A |
Nigerian Naira |
|
KES |
Ks |
Kenyan Shilling |
|
ALL |
Le |
Albania Lek |
|
ETB |
Br |
Ethopian Birr |
|
BSD |
\$ |
Bahamian Dollar |
|
BDT |
N/A |
Bangladeshi Taka |
|
BAM |
Km |
Bosnia-Herzegovina Convertible Mark |
|
BWP |
P |
Botswana Pula |
|
MMK |
K |
Burmese Kyat |
|
AFN |
؋ |
Afghan Afghani |
|
BTN |
Nu |
Bhutanese Ngultrum |
|
GEL |
N/A |
Georgian Lari |
|
GHS |
Gh |
Ghanaian Cedi |
|
GIP |
£ |
Gibraltar Pound |
|
ISK |
Kr |
Icelandic Krona |
|
KHR |
N/A |
Cambodian Riel |
|
JMD |
J\$ |
Jamaican Dollar |
|
LAK |
N/A |
Lao Kip |
|
MKD |
Д |
Macedonian Denar |
|
MUR |
N/A |
Mauritian Rupee |
|
MNT |
N/A |
Mongolian Tögrög |
|
NPR |
N/A |
Nepalese Rupee |
|
NAD |
\$ |
Namibian Dollar |
|
PKR |
N/A |
Pakistani Rupee |
|
RWF |
Fr |
Rwandan Franc |
|
LKR |
N/A |
Sri Lankan Rupee |
|
SZL |
L |
Swazi Lilangeni |
|
TZS |
Ts |
Tanzanian Shilling |
|
TTD |
Tt |
Trinidad And Tobago Dollar |
|
UGX |
Us |
Ugandan Shilling |
|
ZMW |
Zk |
Zambian Kwacha |
|
BOB |
\$B |
Bolivian Boliviano |
|
CRC |
N/A |
Costa Rican Colón |
|
DOP |
Rd |
Dominican Peso |
|
GTQ |
Q |
Guatemalan Quetzal |
|
HNL |
L |
Honduran Lempira |
|
NIO |
C\$ |
Nicaraguan Córdoba |
|
PAB |
B/ |
Panamanian Balboa |
|
PYG |
Gs |
Paraguayan Guaraní |
|
PEN |
S/ |
Peruvian Nuevo Sol |
|
UYU |
\$U |
Uruguayan Peso |
|
VEF |
Bs |
Venezuelan Bolívar |
|
XAF |
Fr |
Central African Cfa Franc |
|
XOF |
Fr |
West African Cfa Franc |
|
HTG |
G |
Haitian Gourde |
|
MGA |
Ar |
Malagasy Ariary |
|
DZD |
د |
Algerian Dinar |
|
IQD |
د |
Iraqi Dinar |
|
LYD |
ل |
Libyan Dinar |
|
TND |
د |
Tunisian Dinar |
|
YER |
N/A |
Yemeni Rial |
|
BND |
\$ |
Brunei Dollar |
|
AOA |
Kz |
Angolan Kwanza |
|
MZN |
Mt |
Mozambican Metical |
|
AMD |
Am |
Armenian Dram |
|
AZN |
М |
Azerbaijani Manat |
|
KGS |
Л |
Kyrgyzstani Som |
|
TJS |
Tj |
Tajikistani Somoni |
|
UZS |
Л |
Uzbekistani Som |
|
MDL |
L |
Moldovan Leu |
|
RSD |
Д |
Serbian Dinar |
|
XPF |
Fr |
Cfp Franc |
|
MOP |
Mo |
Macanese Pataca |
|
VND |
N/A |
Viet Nam Dong |
|
TWD |
Nt |
Taiwan Dollar |
|
CLP |
\$ |
Chilean Peso |
|
Entity |
Description |
|---|---|
|
Advertiser |
Marketplace business entity |
|
Campaign (
|
Shared campaign configuration |
|
Seller (
|
Marketplace merchant |
|
Seller-Campaign (
|
Seller participation in a campaign |
|
Budgets |
Campaign-level and seller-level spend controls |
|
Type |
Description |
|---|---|
|
Campaign-level |
Shared across all sellers |
|
Seller-level |
Optional per seller-campaign |
|
Component |
Role |
|---|---|
|
Campaign Budget |
Total available spend |
|
CPC Bids |
Seller competitiveness |
|
Seller Budgets |
Optional caps per seller |
|
Issue |
Check |
|---|---|
|
No delivery |
Seller exists, CPC > 0, budgets active |
|
Low delivery |
CPC too low, budget limited |
|
Under-spend |
Campaign budget too small |
|
Over-spend |
Budget configuration / reset behaviour |
|
Verb |
Endpoint |
Description |
|---|---|---|
|
POST |
|
Create a new Audience Segment |
|
PATCH |
|
Update an Audience Segment |
|
POST |
|
Delete an Audience Segment |
|
POST |
|
Search for Audience Segments by segment IDs, data provider IDs and/or segment types |
|
GET |
|
Retrieve contact list statistics |
|
POST |
|
Add/remove identifiers in contact list Audience Segment |
|
POST |
|
Clear all identifiers in contact list Audience Segment |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
string |
Audience Segment ID, generated internally by Criteo Accepted values: string of int64 Writeable? N / Nullable? N |
|
|
string |
Audience Segment name Accepted values: string Writeable? Y / Nullable? N |
|
|
string |
Description of the Audience Segment Accepted values: string Writeable? Y / Nullable? N |
|
|
string |
Data Provider ID associated with the Audience Segment, generated internally by Criteo Accepted values: string of int64 Writeable? N / Nullable? N |
|
|
enum |
Type of segment Read-only value, which can be one of:
Writeable? N / Nullable? N |
|
|
object |
Setting to target users with contact list. See below for more details |
|
|
timestamp |
Timestamp of Audience Segment creation, in UTC
Accepted values:
Writeable? N / Nullable? N |
|
|
timestamp |
Timestamp of last Audience Segment update, in UTC
Accepted values:
Writeable? N / Nullable? N |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
string |
ID owned by the client and used to identify the Audience Segment. If none is provided, one will be generated internally by Criteo Accepted values: string Writeable? Y / Nullable? N |
|
Attribute |
Data Type |
Description |
|---|---|---|
|
|
enum |
Operation required for the sub-set of users provided in the request
Accepted values:
Writeable? Y / Nullable? N |
|
|
enum |
Type of identifiers that are being uploaded
Accepted values:
Writeable? Y / Nullable? N |
|
|
string\[] |
Array of identifiers represented as strings |
|
Endpoint |
Use case |
|---|---|
|
|
Template-level aggregation across all sellers |
|
|
Per-seller aggregation across campaigns |
|
|
Per seller-campaign (most granular) |
|
Identifier |
When to use |
|---|---|
|
|
Filter stats for all sellers under a specific template |
|
|
Filter stats for a specific seller across templates |
|
|
Filter stats for a specific seller on a specific template (most precise) |
|
Column in CSV |
Metric |
Type |
Description |
|---|---|---|---|
|
A |
Day |
String |
Day of impression or click event |
|
B |
Hour |
Integer |
Hour of impression or click event |
|
C |
Timestamp |
Integer |
Timestamp of impression or click event |
|
D |
Event type |
String |
Impression or click event specification |
|
E |
Campaign ID |
Integer |
Criteo-assigned numerical AdSet identifier |
|
F |
Campaign name |
String |
Name of AdSet as seen in Commerce Growth |
|
G |
Ad format |
String |
Format of display (i.e. 'mozaic' is a dynamic banner) |
|
H |
Banner ID |
Integer |
Criteo-assigned numerical banner identifier |
|
I |
Category ID |
Integer |
Identifier of product category in the catalog |
|
J |
Category name |
String |
Name of product category in the catalog |
|
K |
Referrer |
String |
Publisher domain on which ad was served |
|
L |
Environment |
String |
Browsing medium (web or app) |
|
M |
Device family |
String |
Device specification of user agent |
|
N |
OS family |
String |
Operating system specification of user agent |
|
O |
App ID |
String |
Identifier of app |
|
P |
App name |
String |
Specification of app |
|
Q |
Viewability |
String |
Indicates if display was viewable for at least 50% of a continuous second -1 = impression was untracked; no insight into if it was viewed 0 = impression was tracked, but not viewable 1 = impression was tracked, and was viewable |
|
R |
Marketplace revenue currency |
String |
Currency of the impression display cost |
|
S |
Marketplace revenue (local) |
Double |
Impression display cost in local currency |
|
T |
Marketplace revenue (USD) |
Double |
Impression display cost in USD currency |
|
U |
Click revenue currency |
String |
Currency of the click cost |
|
V |
Click revenue (local) |
Double |
Cost per click in local currency |
|
W |
Click revenue (USD) |
Double |
Cost per click in USD currency |
|
Question |
Answer |
|---|---|
|
How do I differentiate my AdSets from one another? |
If you have multiple AdSets under a given advertiser, they will be identified uniquely in the reports by the AdSet ID field. You can also reference the AdSet field. |
|
Why does the referrer field contain "null" or "unknown"? |
Due to legal and technical limitations, we might not receive the exact publishers' domain information (also known as blind traffic). These instances are tracked as “null” under the “referrer” field in the Log-level reports. This is a general behavior in the industry and it is common to have around 10% of traffic that falls under this definition. |
|
Why am I seeing a lot of itunes.apple.com and play.google.com? |
Our inApp displays will report as itunes.apple.com or play.google.com depending on the operating system the user has. itunes.apple.com = iOS play.google.com = Android |
|
Why am I seeing users from different countries included in these reports? |
User targeting is derived from continental data base location. Every AdSet has an account ID that is linked to a specific data base. Unless there is a country-specific geofilter applied on the AdSet, it technically can target any user in that geographical region. For example, an AdSet linked to one of our Americas data centers could target a user in any North or South American country unless it has a country-specific geofilter applied. |
|
Why am I seeing values of 0 in the category\_ID field? And "unknown" in the category\_name field? |
If your Criteo product catalog does not have category IDs mapped to specific product IDs, this will display a value of 0. Likewise, this is why "unknown" appears in the category\_name field. |
|
“Why do I sometimes see revenue related to clicks, and other times related to display? |
If the AdSet is using an adaptive optimizer or a target budget mechanism, it will show a click revenue of 0 because we are billing displays, not clicks. If you’re using a standard click-billed AdSet, you will see a click cost unless smoothing is activated. |
|
Field |
Required |
Description |
|---|---|---|
|
|
Yes |
Marketplace seller identifier for which the budget applies |
|
|
Yes |
List containing the Single-Seller template campaign ID (length = 1) |
|
|
Yes |
Total amount for the budget period (monetary value in your currency) |
|
|
Yes |
Date when the budget becomes active |
|
|
Yes |
Date when the budget stops allowing spend |
|
|
Yes |
Must be
|
|
|
Optional |
|
|
|
Response |
Unique budget identifier (
|
|
Reason |
Description |
Action required |
|---|---|---|
|
ManuallyStopped |
Campaign manually paused |
Resume via budget |
|
NoBudgetDefined |
No valid budget linked |
Create a budget |
|
NoCpcDefined |
No CPC set |
Set CPC via API |
|
NoMoreBudget |
Budget fully spent |
Create a new budget |
|
RemovedFromCatalog |
Products removed |
Restore products |
|
NotYetStarted |
Newly created |
Wait |
|
NoMoreDailyBudget |
Daily limit reached |
Wait for daily reset |
|
Other |
Internal/system issue |
Contact your Criteo team |
|
Pattern |
Supported? |
Notes |
|---|---|---|
|
Single-Seller + no productSet (default) |
Yes |
All eligible products from the seller are used. |
|
Single-Seller + one
|
Yes |
Recommended pattern for SKU restriction. |
|
Multiple
|
No |
Updates replace the existing rule. |
|
|
No |
|
Parameter |
Definition |
Type |
Required? |
|---|---|---|---|
|
|
Show only metrics for this advertiser. |
|
No |
|
|
Specify the click attribution policy for salesUnits, revenue, CR, CPO, COS, and ROAS |
|
No |
|
|
Return up to the first count rows of data (default is all rows). |
|
No |
|
|
Filter out all events that occur after date (default is today’s date). |
|
No |
|
|
Specify the aggregation interval for events used to compute stats (default is "day"). |
|
|
|
|
Show only metrics for this seller (default all sellers). |
|
|
|
|
Filter out all events that occur before date (default is the value of
|
|
No |
|
Query Parameter |
Format |
Meaning |
|---|---|---|
|
|
|
Filter out all events that occur before date (default is the value of
|
|
|
|
Filter out all events that occur after date (default is today’s date) |
|
Query Parameter |
Options |
Meaning |
|---|---|---|
|
|
Int > 0 |
Return up to the first count rows of data (default is to return all rows available). |
|
Parameter |
Definition |
Type |
Required? |
|---|---|---|---|
|
|
Show only metrics for this advertiser. |
|
No |
|
|
Specify the click attribution policy for salesUnits, revenue, CR, CPO, COS, and ROAS |
|
No |
|
|
Return up to the first count rows of data (default is all rows). |
|
No |
|
|
Filter out all events that occur after date (default is today’s date). |
|
No |
|
|
Specify the aggregation interval for events used to compute stats (default is "day"). |
|
No |
|
|
Show only metrics for this seller (default all sellers). |
|
No |
|
|
Filter out all events that occur before date (default is the value of
|
|
No |
|
Parameter |
Definition |
Type |
Required? |
|---|---|---|---|
|
|
Show only metrics for this advertiser. |
|
No |
|
|
Show only metrics for this campaign (default all campaigns). |
|
No |
|
|
Specify the click attribution policy for salesUnits, revenue, CR, CPO, COS, and ROAS |
|
No |
|
|
Return up to the first count rows of data (default is all rows). |
|
No |
|
|
Filter out all events that occur after date (default is today’s date). |
|
No |
|
|
Specify the aggregation interval for events used to compute stats (default is "day"). |
|
No |
|
|
Filter out all events that occur before date (default is the value of
|
|
No |
|
Parameter |
Definition |
Type |
Required? |
|---|---|---|---|
|
|
Show only metrics for this advertiser. |
|
No |
|
|
Show only metrics for this campaign (default all campaigns). |
|
No |
|
|
Specify the click attribution policy for salesUnits, revenue, CR, CPO, COS, and ROAS |
|
No |
|
|
Return up to the first count rows of data (default is all rows). |
|
No |
|
|
Filter out all events that occur after date (default is today’s date). |
|
No |
|
|
Specify the aggregation interval for events used to compute stats (default is "day"). |
|
No |
|
|
Show only metrics for this seller (default all sellers). |
|
No |
|
|
Filter out all events that occur before date (default is the value of
|
|
No |
|
Parameter |
Definition |
Type |
Required? |
|---|---|---|---|
|
|
Return only budgets that pay for a given advertiser. Default is to not filter on advertiser |
integer |
No |
|
|
Return only budgets that pay for a given campaign. Default is to not filter on campaign |
integer |
No |
|
|
Return only budgets belonging to the given seller. Default is to not filter on seller. |
string |
No |
|
|
Return budgets that end after the given date. Default is today (
|
string |
No |
|
|
Return budgets that start on or before the given date. Default is to not filter on startDate. |
string |
No |
|
|
Return only budgets with the given status. Default is to not filter on status. Possible values: Archived , \*\* Current , Scheduled\*\* |
string |
No |
|
|
Return only budgets of the given type. Default is to not filter on budget type. Possible values: Capped , \*\* Uncapped , Daily\*\* |
string |
No |
|
|
Return budgets with remaining balance. Default is to not filter on balance. |
boolean |
No |
|
|
Return budgets with any positive spend. Default is to not filter on spend |
boolean |
No |
|
Parameter |
Definition |
Type |
Required? |
|---|---|---|---|
|
|
Filters budgets belonging to the specified seller campaign. |
|
Yes |
|
|
Returns budgets ending after the specified date (
|
|
No |
|
|
Returns budgets starting on or before the specified date (
|
|
No |
|
|
Filters budgets by their status. Possible values: Archived , \*\* Current , Scheduled\*\*. |
|
No |
|
|
Filters budgets by the specified budget type. |
|
No |
|
|
Returns only budgets with a positive balance. |
|
No |
|
|
Returns budgets with a positive spend amount. |
|
No |
|
Parameter |
Definition |
Type |
Required? |
|---|---|---|---|
|
|
Return sellers for the given advertiser Id. Default is to not filter on advertiser |
|
No |
|
|
Return sellers for the given campaign Id. Default is to not filter on campaign |
|
No |
|
|
Returns only sellers with the given
|
|
No |
|
|
Return only sellers with a specific status. Possible values: Inactive , \*\* Active\*\*. |
|
No |
|
|
Return sellers with any budget having the given state. Default is to not filter on the budget state. Possible values: Archived , \*\* Current , Scheduled\*\* |
|
No |
|
|
Return sellers with or without products in the catalog. The default is not to filter on products in the catalog. |
|
No |
|
Parameter |
Definition |
Type |
Required? |
|---|---|---|---|
|
|
Filters budgets to those owned by the specified seller. |
|
Yes |
|
|
Filters budgets to those funding the specified campaign. |
|
No |
|
|
Returns budgets ending after the given date (
|
|
No |
|
|
Returns budgets starting on or before the given date (
|
|
No |
|
|
Filters budgets by the specified status. Possible values: Archived , \*\* Current , Scheduled\*\*. |
|
No |
|
|
Filters budgets by the specified budget type. |
|
No |
|
|
Returns only budgets that currently have a remaining balance. |
|
No |
|
|
Returns budgets that have a positive spend amount. |
|
No |
|
Parameter |
Definition |
Type |
Required? |
|---|---|---|---|
|
|
Limits results to campaigns belonging to the specified seller. |
|
Yes |
|
|
Filters campaigns by the budget status. Possible values: Archived , \*\* Current , Scheduled\*\*. |
|
No |
|
|
Filters campaigns linked to the specified campaign ID. |
|
No |
|
|
Filters campaigns by the seller's status. Possible values: Inactive , \*\* Active\*\*. |
|
No |
|
Responsibility |
Tasks |
|---|---|
|
Criteo |
MPO enablement on the account; campaign / template configuration; core advertiser and campaign readiness for MPO use |
|
Marketplace |
Event collection on web and/or app; product catalog integration; seller data mapping in the feed; OAuth / API integration for ongoing operations; seller activation, budgets, bids, and statistics retrieval once onboarding is complete |
|
Field |
Description |
|---|---|
|
|
ID of the advertiser |
|
|
ID of the ad set |
|
|
Name of the ad set |
|
|
Web/Android/iOS |
|
|
The name of the ad placement |
|
Field |
Description |
|---|---|
|
|
The number of clicks driven by the add. |
|
|
The number of displays/impressions of ads served on sites through the Criteo Publisher Network. |
|
|
The amount of money spent on Criteo advertising. |
|
|
The number of completed e-commerce transactions or purchases. Attribution model pc30d |
|
|
The number of completed e-commerce transactions or purchases. Attribution model pv1d |
|
|
The amount of money generated by the online sales. Attribution model pc30d |
|
|
The amount of money generated by the online sales. Attribution model pv1d |
|
|
Cost Of Sales - the ratio between the cost generated by the campaign(s) vs. the revenue generated by the sales, figured as a percentage. Attribution model pc30d |
|
|
Cost Of Sales - the ratio between the cost generated by the campaign(s) vs. the revenue generated by the sales, figured as a percentage. Attribution model pv1d |
|
|
Return On Ad Spend - the ratio between the revenue generated and the cost. Attribution model pc30d |
|
|
Return On Ad Spend - the ratio between the revenue generated and the cost. Attribution model pv1d |
|
|
Cost Per Order - the amount of money that needs to be spent to get one order or transaction. Attribution model pc30d |
|
|
Cost Per Order - the amount of money that needs to be spent to get one order or transaction. Attribution model pv1d |
|
|
ConVersion Rate - the percentage of completed purchases compared to the clicks that occurred. Attribution model pc30d |
|
|
ConVersion Rate - the percentage of completed purchases compared to the clicks that occurred. Attribution model pv1d |
|
Field |
Description |
Optional/Required |
Type |
Default Value |
|---|---|---|---|---|
|
|
start of the period |
required |
DateTime |
|
|
|
end of the period |
required |
DateTime |
|
|
|
List of Advertiser Ids separated by commas |
required |
string of ID's separated by commas |
|
|
|
List of Ad Set Ids separated by commas |
optional |
string of ID's separated by commas |
|
|
|
Filter for Ad Set names |
optional |
string |
|
|
|
Web/Android/iOS |
optional |
string |
|
|
|
Time zone used for dates |
required |
Timezone |
|
|
|
Currency used for amounts |
required |
||
|
|
Filter the value of the placement |
optional |
string |
|
|
|
Format of the report provided in the response (json, xml, csv, xls) |
optional |
string |
CSV |
|
|
undisclosed exchanges for which we don't have the domain |
required |
string |
true |
|
Field |
Type |
Required |
Default Value |
Description |
|---|---|---|---|---|
|
|
DateTime |
Yes |
Start of the report in YY-MM-DD format |
|
|
|
DateTime |
Yes |
End of the report in YY-MM-DD format |
|
|
|
string |
Yes |
Comma separated list of Advertiser IDs in an array |
|
|
|
string |
No |
null |
Report only on the specified adset Id |
|
|
string |
No |
Report only on the specified category |
|
|
|
string |
No |
Report only on the specified domain |
|
|
|
boolean |
No |
true |
Specify if the domain dimension is displayed in the report |
|
|
Timezone |
No |
UTC |
Timezone used for dates |
|
|
string |
Yes |
CSV |
Format of the report: JSON, XML, CSV, XLS |
|
Catalog Field Name |
API Field Name |
Operators Available |
|---|---|---|
|
Category 1, Category 2, Category 3 |
|
|
|
Brand |
|
|
|
Product ID |
|
|
|
Custom Label 0, Custom Label 1, Custom Label 2 , Custom Label 3, Custom Label 4 |
|
|
|
Sale Price |
|
|
|
Reason |
Meaning |
Action |
|---|---|---|
|
|
Budget manually suspended |
Resume via budget
|
|
|
No active budget exists |
Create a valid budget |
|
|
No CPC set |
Set a CPC bid |
|
|
Budget fully spent |
Create a new budget for a future period |
|
|
All products removed |
Restore products in the catalog |
|
|
Newly created, not yet processed |
Wait for provisioning |
|
|
Daily spend limit reached |
No action needed; resets the next day |
|
|
Internal error |
Contact Criteo Product or R\&D |
|
Entity |
Who creates it |
What it does |
|---|---|---|
|
Campaign |
Criteo |
Top-level ad configuration; not managed via MPO API |
|
Template campaign (
|
Criteo |
Single-Seller blueprint; defines shared settings for all derived seller-campaigns |
|
Seller-campaign (
|
Created implicitly by Criteo on first budget
|
Per-seller delivery campaign; managed via budgets and
|
|
Reason |
Meaning |
Action |
|---|---|---|
|
|
Budget manually suspended |
Resume via budget
|
|
|
No active budget exists |
Create a valid budget |
|
|
Budget fully spent |
Create a new budget for a future period |
|
|
All products removed |
Restore products in the catalog |
|
|
Newly created, not yet processed |
Wait for provisioning |
|
|
Daily spend limit reached |
No action needed; resets the next day |
|
|
Internal error |
Contact Criteo Product or R\&D |
|
Endpoint |
Use case |
|---|---|
|
|
Aggregated across all sellers for a template |
|
|
Per-seller aggregation |
|
|
Per seller-campaign (most granular) |
|
|
Parameters |
Description |
|---|---|---|
|
|
required:
maxBytes:
extensions:
width:
height:
safeZoneWidth:
|
Background image that can be used for desktop and mobile (mobile field can be hidden through override if needed) |
|
|
required:
maxChars:
|
Text description of the Desktop background image for ADA compliancy purposes. |
|
|
required:
maxBytes:
extensions:
width:
height:
|
Background image of mobile ad |
|
|
required:
maxChars:
|
Text description of the Desktop background image for ADA compliancy purposes. |
|
|
required:
|
URL user is redirected to upon clicking on CTA button |
|
|
required:
Option 1:
Option 2:
|
Defines where the link opens: same tab (
|
|
|
required:
|
App URL user is redirected to upon clicking on CTA button from App environment |
|
|
required:
maxChars:
|
Text of CTA button |
|
|
default:
|
Text color of CTA button |
|
|
default:
|
CTA button background color |
|
|
maxChars:
|
Legal text (Desktop: next to CTA; Mobile/App: always visible) |
|
|
maxChars:
|
Legal text (Desktop: on hover “i” icon; Mobile/App: always visible) |
|
|
default:
Option 1:
Option 2:
|
Defines light or dark display mode for better viewing experience |
|
Detail |
Legal text |
More info |
|---|---|---|
|
Height |
40 pixels |
Dynamic, based on text length |
|
Padding |
5 pixels on both the left and right sides of the tile |
8 pixels, all around |
|
Font |
Roboto Regular, 12 pixels |
Roboto Regular, 12 pixels |
|
Max characters |
90 |
180 |
|
|
Parameters |
Description |
|---|---|---|
|
|
required:
maxBytes:
extensions:
width:
height:
safeZoneWidth:
safeZoneHeight:
|
Background image of desktop ad |
|
|
required:
maxChars:
|
Text description of the Desktop background image for ADA compliancy purposes. |
|
|
required:
maxBytes:
extensions:
width:
height:
|
Background image of mobile ad |
|
|
required:
maxChars:
|
Text description of the Desktop background image for ADA compliancy purposes. |
|
|
required:
|
URL user is redirected to upon clicking on CTA button |
|
|
required:
Option 1:
Option 2:
|
Defines where the link opens: same tab (
|
|
|
required:
|
App URL user is redirected to upon clicking on CTA button from App environment |
|
|
required:
maxChars:
|
Text of CTA button |
|
|
default:
|
Text color of CTA button |
|
|
default:
|
CTA button background color |
|
|
maxChars:
|
Legal text (Desktop: next to CTA; Mobile and App: always visible) |
|
|
maxChars:
|
Legal text (Desktop: on hover “i” icon; Mobile and App: always visible) |
|
|
default:
Option 1:
|
Defines light or dark display mode for better viewing experience |
|
Detail |
Legal text |
More info |
|---|---|---|
|
Location |
below branding zone (right of CTA button if enabled) |
contained in interactive overlay |
|
Height |
Dynamic, based on text length |
Dynamic, based on text length |
|
Padding |
|
8 pixels, all around |
|
Font |
Roboto Regular, 12 pixels |
Roboto Regular, 12 pixels |
|
Max characters |
90 |
180 |
|
Background |
Displayed over a colored layer (the layer color adapts based on color mode) |
Same as legal text |
|
Format Type |
Legacy Formats Name |
New Formats Name |
|---|---|---|
|
Commerce Display |
Flagship |
Commerce Display Spotlight |
|
Commerce Display |
Showcase |
Commerce Display Grid Shelf |
|
Commerce Display |
Butterfly |
Commerce Display Grid Duet |
|
Commerce Display |
Branded Header (Mobile) |
Now integrated into the new formats |
|
Commerce Display |
Interactive Header (Mobile) |
Now integrated into the new formats |
|
Display Banners |
Digital Shelf Talker |
Branding Display Grid Solo |
|
Display Banners |
Display Panel |
Branding Display Spotlight Solo |
|
Display Banners |
IAB Banners |
IAB Banners (unchanged) |
|
Feature |
Feeds |
Product Importer API |
|---|---|---|
|
Data Format |
XML, CSV, JSON |
JSON |
|
Ingestion Speed |
Slower, due to file processing |
Faster, enabling almost real-time updates |
|
Automation |
Requires manual uploads or scheduling |
Fully automated via API endpoints |
|
Flexibility |
Limited |
High, with granular update capabilities |
|
Use Case |
Suitable for small catalogs or periodic updates |
Designed for large catalogs and updates |
|
Format Type |
Legacy Formats |
New Formats |
|---|---|---|
|
Commerce Display |
Flagship |
Commerce Display Spotlight |
|
Commerce Display |
Showcase |
Commerce Display Grid Shelf |
|
Commerce Display |
Butterfly |
Commerce Display Grid Duet |
|
Commerce Display |
Branded Header (Mobile) |
Now integrated into the new formats |
|
Commerce Display |
Interactive Header (Mobile) |
Now integrated into the new formats |
|
Display Banners |
Digital Shelf Talker |
Branding Display Grid Solo |
|
Display Banners |
Display Panel |
Branding Display Spotlight Solo |
|
Display Banners |
IAB Banners |
IAB Banners (unchanged) |
|
Product Category |
Example Sizes |
|---|---|
|
Men's T-Shirt |
S, M, L, XL, XXL |
|
Women's Dress |
2, 4, 6, 8, 10 |
|
Shoes (US) |
7, 7.5, 8, 8.5, 9 |
|
Kids Apparel |
2T, 3T, 4T, 5T |
|
Accessories |
One Size, Adjustable |
|
Furniture |
Small, Medium, Large, Queen, King |
|
Product Example |
Color Description |
|---|---|
|
Nike Air Max (Black/White) |
Black/White |
|
Levi's 501 Jeans – Indigo Rinse |
Indigo |
|
Patagonia Down Jacket – Forge Grey |
Grey |
|
Apple Watch Band – Midnight Blue |
Midnight Blue |
|
Floral Summer Dress – Red/Pink Combo |
Red/Pink |
|
Title |
Name |
To Check |
Mandatory |
|---|---|---|---|
|
|
|
Your Criteo Account ID, will be provided by your technical contact
Ex:
|
Yes |
|
|
|
Unauthenticated User ID, consistent across sessions
Ex:
|
Yes |
|
|
|
After logging in, whether there is a unique user ID Can also log in with a different device or log-in with the same account on another browser/incognito.
Ex:
|
Yes |
|
|
|
Hash value of the user email address SHA256
Ex:
|
Only if discussed with your Criteo team |
|
|
|
To be used when the log of this call shouldn't be counted as a real page view. (used for our cached API response scenario)
Ex:
Can be used on preprod accounts. |
Only if discussed with your Criteo team |
|
|
|
A parameter to be used to return the specific products that are set in the call, only for sponsored products. To be used with the cached API response scenario or to use the recommendation engine. |
Only if discussed with your Criteo team |
|
|
|
The region IDs that are sent are accurate to the regions IDs that are shared in the daily feed. If multiple region IDs are to be sent, then they need to be separated by the pipe symbol.
Ex:
|
Only if discussed with your Criteo team |
|
Title |
Name |
To Check |
Mandatory |
|---|---|---|---|
|
|
|
The page ID should follow the format of:
EMEA:
AMER:
Ex:
|
Yes |
|
|
|
We are using the
|
Yes |
|
Title |
Name |
To Check |
Mandatory |
|---|---|---|---|
|
|
|
The page ID should follow the format of:
EMEA:
AMER:
Ex:
|
Yes |
|
|
|
We are using the
|
Yes |
|
|
|
IDs of the organic products visible. These IDs need to match the product IDs provided in the feed. They will be used for deduplication in the ad response
Ex:
|
Yes |
|
|
|
The parent item ID of the organics products on the page, if the product has a parent ID.
Ex:
This should only be used if parent/child SKUs have been set up. |
Only if discussed with your Criteo team |
|
|
|
The current page-number.
Ex:
|
Recommended |
|
|
|
The category path of the current category, either numerical or alphanumerical. The path provided in the tag needs to match "product\_type\_key" from the feed
Ex:
|
Yes |
|
|
|
Used to restrict the response to products which have a certain attribute with the exact value in the Feed
Ex:
|
Only if discussed with your Criteo team |
|
|
|
The total number of organic products that show on the page.
Ex:
|
Recommended |
|
Title |
Name |
To Check |
Mandatory |
|---|---|---|---|
|
|
|
The page ID should follow the format of:
EMEA:
AMER:
Ex:
|
Yes |
|
|
|
We are using the
|
Yes |
|
|
|
IDs of the organic products visible. These IDs need to match the product IDs provided in the feed. They will be used for deduplication in the ad response
Ex:
|
Yes |
|
|
|
The parent item ID of the organics products on the page, if the product has a parent ID.
Ex:
This should only be used if parent/child SKUs have been set up. |
Only if discussed with your Criteo team |
|
|
|
The current page-number.
Ex:
|
Recommended |
|
|
|
The keyword which was entered by the user
Ex:
|
Yes |
|
|
|
Used to restrict the response to products which have a certain attribute with the exact value in the Feed
Ex:
|
Only if discussed with your Criteo team |
|
|
|
The total number of organic products that show on the page.
Ex:
|
Recommended |
|
Title |
Name |
To Check |
Mandatory |
|---|---|---|---|
|
|
|
The page ID should follow the format of:
EMEA:
AMER:
Ex:
|
Yes |
|
|
|
We are using the
|
Yes |
|
|
|
Item of the currently visited product. This ID needs to match with the ID provided in the feed
Ex:
|
Yes |
|
|
|
Parent Item of the currently visited product. This ID needs to match with the ID provided in the feed. We can only use this to update all the variants (child products)
Ex:
|
Only if discussed with your Criteo team |
|
|
|
The current price of the product. This price will be used to update the product price on criteo's side in real time
Ex:
|
Yes |
|
|
|
Current non-discounted price / MSRP of the product.
Ex:
|
Recommended |
|
|
|
The current availability of the product, 1 for "in-stock", 0 for "out of stock". This value will be used to update the in-stock value of the product on Criteo's side in real time
Ex:
|
Yes |
|
Title |
Name |
To Check |
Mandatory |
|---|---|---|---|
|
|
|
For the
EMEA:
AMER:
Ex:
|
Yes |
|
|
|
We are using the
|
Yes |
|
|
|
The ID of the product that was added to the basket, the SKU that has to match the ID provided in the feed.
Ex:
|
Yes |
|
|
|
Parent Item of the products currently in the users' basket. This ID needs to match with the ID provided in the feed. We can only use this to update all the variants (child products)
Ex:
|
Only if discussed with your Criteo team |
|
|
|
Array of products in the basket single unit price
Ex:
|
Yes |
|
|
|
Array of quantity of each product in the basket
Ex:
|
Yes |
|
|
|
Unique ID present at the bottom of the API call of the current page.
Ex:
|
Yes |
|
Title |
Name |
To Check |
Mandatory |
|---|---|---|---|
|
|
|
The page ID should follow the format of:
EMEA:
AMER:
Ex:
|
Yes |
|
|
|
We are using the
|
Yes |
|
|
|
Array of products in the basket, including SKU that has to match the ID provided in the feed.
Ex:
|
Yes |
|
|
|
Parent Item of the products currently in the users' basket. This ID needs to match with the ID provided in the feed. We can only use this to update all the variants (child products)
Ex:
|
Only if discussed with your Criteo team |
|
|
|
Array of products in the basket single unit price
Ex:
|
Yes |
|
|
|
Array of products in the basket overall quantity of the item
Ex:
|
Yes |
|
Title |
Name |
To Check |
Mandatory |
|---|---|---|---|
|
|
|
The page ID should follow the format of:
EMEA:
AMER:
Ex:
|
Yes |
|
|
|
We are using the
|
Yes |
|
|
|
Unique order / transaction ID
Ex:
|
Yes |
|
|
|
Array of products bought by the user, including ID, single unit price and overall quantity of the item. The ID has to match the ID provided in the feed.
Ex:
|
Yes |
|
|
|
Parent Item of the currently visited product. This ID needs to match with the ID provided in the feed. We can only use this to update all the variants (child products)
Ex:
|
Only if discussed with your Criteo team |
|
|
|
Array of products in the basket single unit price
Ex:
|
Yes |
|
|
|
Array of products in the basket overall quantity of the item
Ex:
|
Yes |
|
|
|
The local currency of the retailer should be added here
Ex:
|
This should only be used if discussed with your Criteo team |
|
Field |
Description |
|---|---|
|
|
Do not use this field. It is reserved for Criteo purposes only. All video-related information, assets and tracking must be used from the VAST XML only. |
|
|
Do not use these fields.
It is reserved for Criteo purposes only. The optional redirection link to a landing page if the user clicks on the video player is available in the VAST definition (cf.
|
|
|
Text to display in an alt\_text div attribute for WCAG compliancy purposes. |
|
|
Free text field to display a legal message upon user hover. This field is optional for the advertiser to complete. |
|
|
Do not use these fields. It is reserved for Criteo purposes only. |
|
Level |
Name |
Response field |
Explanation |
Mandatory |
|---|---|---|---|---|
|
Format |
Impression |
|
URL to be called when the whole placement is loaded onto the page. For display ads, the placement is considered "loaded" when the entire unit is rendered. This beacon should only be fired once. |
Yes |
|
Format |
View |
|
URL to be called when the placement is viewed according to IAB's viewable ad impression measurement guidelines. At least 50% of the unit must be in the user's viewport for at least 1 uninterrupted second. This beacon should only be fired once. |
Yes |
|
Format |
Click |
|
URL to be called when the user clicks on the placement itself. |
Yes |
|
Format |
File download |
|
URL to be called when a click is made by the user on a CTA button, or from the creative image of the format, which leads to a file download. |
Yes |
|
Product |
Impression |
|
URL to be called when the individual product tile is loaded onto the page. If leveraging universal beacons , this field will be blank. This beacon should only be fired once. |
Yes |
|
Product |
View |
|
URL to be called when the individual product tile is viewed according to IAB's viewable ad impression measurement guidelines. At least 50% of the placement must be in the user's viewport for at least 1 uninterrupted second. This beacon should only be fired once per product. |
Yes |
|
Product |
Click |
and/or
|
productPage
This element is a URL that will send an
It is possible to use this as the
onClickBeacon URL to be called when the individual product tile is clicked. This refers to *any* click interaction with the product tile outside of adding to cart or adding to wishlist (see next two rows). This beacon should fire on all of the range of clicks; left click, middle click, right click to open in a new tab and keyboard shortcuts that simulate a click. Both This beacon should be fired on every click event. Criteo will deduplicate clicks for billing purposes internally. |
Yes |
|
Product |
Add-to-cart |
|
URL to be called when a product is added to or removed from the basket/cart. You can add the quantity of products as a query string parameter. If no
This beacon should be fired on *every* add-to-cart click event. Criteo will deduplicate clicks for billing purposes internally. |
Yes |
|
Product |
Add-to-wishlist |
|
URL to be called when the product is added to the wishlist/favorites. This beacon should be fired on *every* add-to-wishlist click event. Criteo will deduplicate clicks for billing purposes internally. |
Yes |
|
Check |
Explanation |
Mandatory |
|---|---|---|
|
Breakpoint adherence |
|
Yes |
|
Differing product counts |
Ensure that the design for a single product matches the mock-ups and that all parts of the ad unit (SKUs, navigation arrows, navigation dots, buttons, etc.) ahere to the mock-ups when multiple products are returned. |
Yes |
|
Mock-up adherence |
The design of the mock-ups should be followed, ensuring the following:
|
Yes |
|
Check |
Explanation |
Mandatory |
|---|---|---|
|
Leveraging regiondata |
|
Yes, if regiondata has been implemented |
|
Check |
Explanation |
Mandatory |
|---|---|---|
|
Single product navigation |
Ads display without navigation arrows for both desktop and mobile and there are no "navigation dots" on the mobile carousel. |
Yes |
|
Multi-product navigation |
Ads display with navigation arrows for both desktop and mobile and there are "navigation dots" on the mobile carousel. |
Yes |
|
Option |
Check |
Mandatory |
|---|---|---|
|
No redirection |
Nothing happens |
Yes |
|
Redirection URL |
The user gets redirected to the URL provided in the ad response |
Yes |
|
File download |
The user downloads the file provided |
Yes |
|
Detail |
Legal text |
More info |
|---|---|---|
|
Height |
40 pixels |
Dynamic, based on text length |
|
Padding |
5 pixels on both the left and right sides of the tile |
8 pixels, all around |
|
Font |
Roboto Regular, 12 pixels |
Roboto Regular, 12 pixels |
|
Max characters |
90 |
180 |
|
|
Description / Parameter |
Description |
|---|---|---|
|
|
required:
maxBytes:
extensions:
width:
height:
safeZoneWidth:
|
Background image that can be used for desktop and mobile. The mobile image can be hidden through override if needed. |
|
|
required:
maxChars:
|
Text description of the desktop background image for ADA compliance. |
|
|
required:
maxBytes:
width:
height:
|
Background image of the mobile ad. |
|
|
required:
maxChars:
|
Text description of the mobile background image for ADA compliance. |
|
|
required:
|
URL users are redirected to upon clicking the background image or CTA button. |
|
|
required: true Options:
|
Determines if the redirect opens in the same tab (
|
|
|
required:
|
App-specific URL users are redirected to when clicking the CTA from an app environment. |
|
|
required:
maxChars:
|
Text displayed on the CTA button. |
|
|
default:
|
Text color of the CTA button. |
|
|
default:
|
Background color of the CTA button. |
|
|
maxChars:
|
Always-visible legal copy. Shown next to the CTA on desktop, and persistently on mobile and app. |
|
|
maxChars:
|
Supplemental legal information. Visible on hover on desktop ("i" icon), and persistently on mobile and app. |
|
|
default:
|
Sets visual mode for optimal readability. Light mode uses white text on dark backgrounds; dark mode uses dark text on light backgrounds. |
|
Detail |
Legal text |
More info |
|---|---|---|
|
Location |
below branding zone (right of CTA button if enabled) |
contained in interactive overlay |
|
Height |
Dynamic, based on text length |
Dynamic, based on text length |
|
Padding |
|
8 pixels, all around |
|
Font |
Roboto Regular, 12 pixels |
Roboto Regular, 12 pixels |
|
Max characters |
90 |
180 |
|
Background |
Displayed over a colored layer (the layer color adapts based on color mode) |
Same as legal text |
|
Name (API key) |
Parameters |
Description |
|---|---|---|
|
|
required:
maxBytes:
extensions:
height:
safeZoneWidth:
safeZoneHeight:
|
Background image of desktop ad |
|
|
required:
maxChars:
|
Text description of the desktop background image for ADA compliance |
|
|
required:
maxBytes:
extensions:
width:
height:
|
Background image of mobile ad. Alternate size allowed:
|
|
|
required:
|
Text description of the mobile background image for ADA compliance |
|
|
required:
|
URL user is redirected to upon clicking on the CTA button |
|
|
required:
Options:
|
Defines whether redirection opens in the same tab or a new tab |
|
|
required:
|
App URL user is redirected to upon clicking CTA from an app environment |
|
|
required:
|
Text label of the CTA button |
|
|
default:
|
Text color of the CTA button |
|
|
default:
|
Background color of the CTA button |
|
|
maxChars:
|
(Desktop) Visible next to the CTA (Mobile & app) Always visible |
|
|
maxChars:
|
(Desktop) Shown on hover via “i” icon- (Mobile & app) Always visible |
|
|
default:
|
Determines the contrast mode for optimal legibility depending on image brightness |
|
Key |
Description |
|---|---|
|
|
Image file.
Required:
Width:
Height:
Max size:
Extensions:
|
|
|
Alternative text for the branding image.
Required:
Max characters:
|
|
|
Background color for the full unit.
Required:
Default:
|
|
|
Border color for the full unit.
Required:
Default:
|
|
|
Main ad message.
Required:
Max characters:
|
|
|
Color of the messaging text.
Required:
Default:
|
|
|
Brand name displayed with “Sponsored by” tag.
Required:
Max characters:
|
|
|
Legal text add-on for the video.
Max
Desktop: visible on hover of the “i” icon; Mobile/App: always visible below the video. |
|
|
Only for web. Ignored if no ClickThrough is provided in the VAST.
Values:
|
|
|
Video alternative text for accessibility. |
|
|
Preset theme for UI elements. Values:
|
|
Key |
Description |
|---|---|
|
|
A URL to load a VAST XML that includes all information to render the video part (left side). |
|
OR |
* |
|
|
A VAST XML to provide a video player |
|
Attribute |
Specification |
|---|---|
|
File size |
300 MB |
|
Supported file types |
MP4 |
|
Video ratio |
16:9 |
|
Max duration |
30 seconds |
|
Attribute |
Specification |
|---|---|
|
Maximum characters |
90 characters, including spaces |
|
Attribute |
Specification |
|---|---|
|
File size |
300 KB |
|
Supported file types |
JPEG, PNG in 72 dpi. |
|
Dimension (W x H) |
1200x1200 |
|
Attribute |
Specification |
|---|---|
|
Maximum characters |
140 characters, including spaces |
|
Attribute |
Specification |
|---|---|
|
CTA Text |
25 characters, including spaces |
|
Redirection URL |
Choice on redirection target: On current page, on new tab |
|
Field |
Description |
|---|---|
|
|
URL of the background image file for desktop/tablet app |
|
|
Alternative text for desktop background image |
|
|
URL of the background image file for mobile |
|
|
Alternative text for mobile background image |
|
|
URL of the logo image file for mobile |
|
|
Alternative text for mobile logo image |
|
|
Hex code for the format's outline color |
|
|
Hex code for the background color of the branding zone |
|
|
Product button color |
|
|
Selected product button color |
|
|
Product button text color |
|
|
Selected button text color |
|
|
Option type. Can have the following values:
|
|
|
Option text (non-applicable for mobile version) |
|
|
Web URL that the user is redirected to |
|
|
App deeplink that the user is redirected to |
|
|
Redirection target. Can have the following values:
(only applicable for web) |
|
|
URL of media file |
|
|
Option text color |
|
|
Option background color |
|
Field |
Description |
|---|---|
|
|
The button text |
|
|
The product that should be rendered when the button is clicked. The array is contains the priority order of product rendering. If you are checking product availability in real time, you should render the first available product in the array, i.e., if the first product is not available, check the second one, then check the third, and so on. |
|
|
If
If
|
|
Level |
Name |
Response field |
Explanation |
Mandatory |
|---|---|---|---|---|
|
Format |
Impression |
|
URL to be called when the whole placement is loaded onto the page. For display ads, the placement is considered "loaded" when the entire unit is rendered. This beacon should only be fired once. |
Yes |
|
Format |
View |
|
URL to be called when the placement is viewed according to IAB's viewable ad impression measurement guidelines. At least 50% of the unit must be in the user's viewport for at least 1 uninterrupted second. This beacon should only be fired once. |
Yes |
|
Format |
Click |
|
URL to be called when the user clicks on the placement itself. |
Yes |
|
Format |
File download |
|
URL to be called when a click is made by the user on a CTA button, or from the creative image of the format, which leads to a file download. |
Yes |
|
Product |
Impression |
|
URL to be called when the individual product tile is loaded onto the page. If leveraging universal beacons , this field will be blank. This beacon should only be fired once. |
Yes |
|
Product |
View |
|
URL to be called when the individual product tile is viewed according to IAB's viewable ad impression measurement guidelines. At least 50% of the placement must be in the user's viewport for at least 1 uninterrupted second. This beacon should only be fired once per product. |
Yes |
|
Product |
Click |
and/or
|
productPage
This element is a URL that will send an
It is possible to use this as the
onClickBeacon URL to be called when the individual product tile is clicked. This refers to *any* click interaction with the product tile outside of adding to cart or adding to wishlist (see next two rows). This beacon should fire on all of the range of clicks; left click, middle click, right click to open in a new tab and keyboard shortcuts that simulate a click. Both This beacon should be fired on every click event. Criteo will deduplicate clicks for billing purposes internally. |
Yes |
|
Product |
Add-to-cart |
|
URL to be called when a product is added to or removed from the basket/cart. You can add the quantity of products as a query string parameter. If no
This beacon should be fired on *every* add-to-cart click event. Criteo will deduplicate clicks for billing purposes internally. |
Yes |
|
Product |
Add-to-wishlist |
|
URL to be called when the product is added to the wishlist/favorites. This beacon should be fired on *every* add-to-wishlist click event. Criteo will deduplicate clicks for billing purposes internally. |
Yes |
|
Check |
Explanation |
Mandatory |
|---|---|---|
|
Breakpoint adherence |
|
Yes |
|
Product button formatting |
Ensure that the button's shape, font, font size, and position are aligned with the provided mock-ups. |
Yes |
|
Product button text |
Ensure the name can fit on two lines and supports at least 20 characters of text |
Yes |
|
Redirection button formatting |
Ensure that the button's shape, font, font size, and position are aligned with the provided mock-ups. |
Yes |
|
Redirection button text |
Ensure that the button text supports up to 20 characters in length. |
Yes |
|
Mock-up adherence |
The design of the mock-ups should be followed, ensuring the following:
|
Yes |
|
Check |
Explanation |
Mandatory |
|---|---|---|
|
Leveraging regiondata |
|
Yes, if regiondata has been implemented |
|
Check |
Explanation |
Mandatory |
|---|---|---|
|
Product navigation |
Ads display without navigation arrows for both desktop and mobile and there are no "navigation dots" on the mobile carousel. |
Yes |
|
Option |
Check |
Mandatory |
|---|---|---|
|
No redirection |
Nothing happens |
Yes |
|
Redirection URL |
The user gets redirected to the URL provided in the ad response |
Yes |
|
File download |
The user downloads the file provided |
Yes |
|
|
Description / Parameter |
Description |
|---|---|---|
|
|
required:
maxBytes:
extensions:
width:
height:
safeZoneWidth:
|
Background image that can be used for desktop and mobile. The mobile image can be hidden through override if needed. |
|
|
required:
maxChars:
|
Text description of the desktop background image, used for ADA compliance. |
|
|
required:
maxBytes:
extensions:
width:
height:
|
Background image of the mobile ad. |
|
|
required:
maxChars:
|
Text description of the mobile background image, used for ADA compliance. |
|
|
required:
|
The URL users are redirected to when they click the background image or CTA button. |
|
|
required:
Options:
|
Defines whether the link opens in the current tab (
|
|
|
required:
|
App-specific URL users are redirected to when they click the CTA button from an app environment. |
|
|
required:
maxChars:
|
The label text displayed on the CTA button. |
|
|
default:
|
The text color of the CTA button. |
|
|
default:
|
The background color of the CTA button. |
|
|
maxChars:
|
Legal text always visible on mobile and app, and next to the CTA on desktop. Typically used for trademarks, copyright, or disclaimers. |
|
|
maxChars:
|
Supplementary legal or disclosure text, shown on hover (“i” icon) on desktop, and always visible on mobile and app. |
|
|
default:
|
Determines whether the creative uses light or dark mode, optimized for different background hues. |
|
Detail |
Legal text |
More info |
|---|---|---|
|
Height |
40 pixels |
Dynamic, based on text length |
|
Padding |
5 pixels on both the left and right sides of the tile |
8 pixels, all around |
|
Font |
Roboto Regular, 12 pixels |
Roboto Regular, 12 pixels |
|
Max characters |
90 |
180 |
|
Key |
Description |
|---|---|
|
|
This parameter controls the visibility and color theme of player controls (play/pause, mute/unmute, closed captions, and the legal text “i” icon) to ensure sufficient contrast over the video background.
Required:
Default:
There are two default theme options for the control elements to ensure visibility over any video file provided: It can have one of the following values:
|
|
|
Standard option to open the link on current page or new page.
Ignored if no
Values:
|
|
|
Legal text add-on for the video.
Max
Desktop: visible on hover of the “i” icon; Mobile / App: always visible below the video. |
|
|
Video background color.
Required:
Default:
|
|
|
Video alt text.
Required:
|
|
Key |
Description |
|---|---|
|
|
A URL to load a VAST XML that includes all information to render the video part (left side). |
|
OR |
* |
|
|
A VAST XML to provide a video player |
|
Attribute |
Specification |
|---|---|
|
File size |
300 MB |
|
Supported file types |
MP4 |
|
Video ratio |
9:16 |
|
Min duration |
4 seconds |
|
Max duration |
30 seconds |
|
Attribute |
Specification |
|---|---|
|
Maximum characters |
90 characters, including spaces |
|
Attribute |
Specification |
|---|---|
|
Maximum characters |
120 characters, multi-line text field |
|
Attribute |
Specification |
|---|---|
|
File type |
|
|
Encoding |
UTF-8 |
|
Attribute |
Specification |
|---|---|
|
Redirection URL |
There are two possible redirection options:
|
|
Key |
Description |
|---|---|
|
|
Legal text add-on for the video. Max 90 characters long including spaces.
|
|
|
\_(only applicable for web). Can be ignored if no
Redirection target, can have the following values:
|
|
|
Video alternative text |
|
|
There are two default settings for the legal text box, buttons, and options (
It can have one of the following values:
|
|
Key |
Description |
|---|---|
|
|
A URL to load a VAST XML that includes all information to render the video. |
|
OR |
\- |
|
|
A VAST XML to provide a video player |
|
Attribute |
Specification |
|---|---|
|
File size |
≤300 MB |
|
Supported file types |
MP4 |
|
Video ratio |
16:9 |
|
Min duration |
4 seconds |
|
Max duration |
30 seconds |
|
Max dimensions |
640 x 360 px |
|
Attribute |
Specification |
|---|---|
|
Maximum characters |
90 characters (including spaces) |
|
Attribute |
Specification |
|---|---|
|
Maximum characters |
120 characters, multi-line text field |
|
Attribute |
Specification |
|---|---|
|
File type |
|
|
Encoding |
UTF-8 |
|
Condition |
Behavior |
|---|---|
|
|
Opens the target URL |
|
No
|
Video toggles play/pause |
|
Field |
Description |
|---|---|
|
|
URL of Background image file for desktop |
|
|
Alternative text for desktop background image |
|
|
URL of Background image file for mobile |
|
|
Alternative text for mobile background image |
|
|
Background color hexa code of the creative tile |
|
|
Web URL that the user should be redirected to |
|
|
App deeplink that the user should be redirected to |
|
|
Redirection target, can have the following values:
(only applicable for web) |
|
|
Button text (not applicable for mobile version) |
|
|
Button text color (not applicable for mobile version) |
|
|
Button background color (not applicable for mobile version) |
|
Level |
Name |
Response field |
Explanation |
Mandatory |
|---|---|---|---|---|
|
Format |
Impression |
|
URL to be called when the whole placement is loaded onto the page. For display ads, the placement is considered "loaded" when the entire unit is rendered. This beacon should only be fired once. |
Yes |
|
Format |
View |
|
URL to be called when the placement is viewed according to IAB's viewable ad impression measurement guidelines. At least 50% of the unit must be in the user's viewport for at least 1 uninterrupted second. This beacon should only be fired once. |
Yes |
|
Format |
Click |
|
URL to be called when the user clicks on the placement itself. |
Yes |
|
Format |
File download |
|
URL to be called when a click is made by the user on a CTA button, or from the creative image of the format, which leads to a file download. |
Yes |
|
Check |
Explanation |
Mandatory |
|---|---|---|
|
Breakpoint adherence |
|
Yes |
|
Redirection button formatting |
Ensure that the button's shape, font, font size, and position are aligned with the provided mock-ups. |
Yes |
|
Redirection button text length |
Ensure that the button text supports up to 20 characters in length. |
Yes |
|
Mock-up adherence |
The design of the mock-ups should be followed, ensuring the following:
|
Yes |
|
Check |
Explanation |
Mandatory |
|---|---|---|
|
Leveraging regiondata |
|
Yes, if regiondata has been implemented |
|
Option |
Check |
Mandatory |
|---|---|---|
|
No redirection |
Nothing happens |
Yes |
|
Redirection URL |
The user gets redirected to the URL provided in the ad response |
Yes |
|
File download |
The user downloads the file provided |
Yes |
|
Field |
Description |
|---|---|
|
|
URL of Background image file for desktop |
|
|
Alternative text for desktop background image |
|
|
URL of Background image file for mobile |
|
|
Alternative text for mobile background image |
|
|
Web URL that the user should be redirected to |
|
|
App deeplink that the user should be redirected to |
|
|
Redirection target, can have the following values:
(only applicable for web) |
|
Level |
Name |
Response field |
Explanation |
Mandatory |
|---|---|---|---|---|
|
Format |
Impression |
|
URL to be called when the whole placement is loaded onto the page. For display ads, the placement is considered "loaded" when the entire unit is rendered. This beacon should only be fired once. |
Yes |
|
Format |
View |
|
URL to be called when the placement is viewed according to IAB's viewable ad impression measurement guidelines. At least 50% of the unit must be in the user's viewport for at least 1 uninterrupted second. This beacon should only be fired once. |
Yes |
|
Format |
Click |
|
URL to be called when the user clicks on the placement itself. |
Yes |
|
Format |
File download |
|
URL to be called when a click is made by the user on a CTA button, or from the creative image of the format, which leads to a file download. |
Yes |
|
Check |
Explanation |
Mandatory |
|---|---|---|
|
Breakpoint adherence |
|
Yes |
|
Mock-up adherence |
The design of the mock-ups should be followed, ensuring the following:
|
Yes |
|
Check |
Explanation |
Mandatory |
|---|---|---|
|
Leveraging regiondata |
|
Yes, if regiondata has been implemented |
|
Option |
Check |
Mandatory |
|---|---|---|
|
No redirection |
Nothing happens |
Yes |
|
Redirection URL |
The user gets redirected to the URL provided in the ad response |
Yes |
|
File download |
The user downloads the file provided |
Yes |
|
Key |
Description |
|---|---|
|
|
URL of the background image file for desktop/tablet app |
|
|
Alternative text for desktop background image |
|
|
URL of the background image file for mobile |
|
|
Alternative text for mobile background image |
|
|
Hex code for the format's outline color |
|
|
Can have the following values:
|
|
|
URL that the user should be redirected to |
|
|
Deeplink app that the user should be redirected to |
|
|
Redirection target, can have the following values:
(only applicable for web) |
|
|
URL of the file that the user would download after clicking |
|
Field |
Description |
|---|---|
|
|
The product that should be rendered when the button is clicked. The array is contains the priority order of product rendering. If you are checking product availability in real time, you should render the first available product in the array, i.e., if the first product is not available, check the second one, then check the third, and so on. |
|
|
If
If
|
|
Level |
Name |
Response field |
Explanation |
Mandatory |
|---|---|---|---|---|
|
Format |
Impression |
|
URL to be called when the whole placement is loaded onto the page. For display ads, the placement is considered "loaded" when the entire unit is rendered. This beacon should only be fired once. |
Yes |
|
Format |
View |
|
URL to be called when the placement is viewed according to IAB's viewable ad impression measurement guidelines. At least 50% of the unit must be in the user's viewport for at least 1 uninterrupted second. This beacon should only be fired once. |
Yes |
|
Format |
Click |
|
URL to be called when the user clicks on the placement itself. |
Yes |
|
Format |
File download |
|
URL to be called when a click is made by the user on a CTA button, or from the creative image of the format, which leads to a file download. |
Yes |
|
Product |
Impression |
|
URL to be called when the individual product tile is loaded onto the page. If leveraging universal beacons , this field will be blank. This beacon should only be fired once. |
Yes |
|
Product |
View |
|
URL to be called when the individual product tile is viewed according to IAB's viewable ad impression measurement guidelines. At least 50% of the placement must be in the user's viewport for at least 1 uninterrupted second. This beacon should only be fired once per product. |
Yes |
|
Product |
Click |
and/or
|
productPage
This element is a URL that will send an
It is possible to use this as the
onClickBeacon URL to be called when the individual product tile is clicked. This refers to *any* click interaction with the product tile outside of adding to cart or adding to wishlist (see next two rows). This beacon should fire on all of the range of clicks; left click, middle click, right click to open in a new tab and keyboard shortcuts that simulate a click. Both This beacon should be fired on every click event. Criteo will deduplicate clicks for billing purposes internally. |
Yes |
|
Product |
Add-to-cart |
|
URL to be called when a product is added to or removed from the basket/cart. You can add the quantity of products as a query string parameter. If no
This beacon should be fired on *every* add-to-cart click event. Criteo will deduplicate clicks for billing purposes internally. |
Yes |
|
Product |
Add-to-wishlist |
|
URL to be called when the product is added to the wishlist/favorites. This beacon should be fired on *every* add-to-wishlist click event. Criteo will deduplicate clicks for billing purposes internally. |
Yes |
|
Check |
Explanation |
Mandatory |
|---|---|---|
|
Breakpoint adherence |
|
Yes |
|
Differing product counts |
Ensure that the design for a single product matches the mock-ups and that all parts of the ad unit (SKUs, navigation arrows, navigation dots, buttons, etc.) ahere to the mock-ups when multiple products are returned. |
Yes |
|
Mock-up adherence |
The design of the mock-ups should be followed, ensuring the following:
|
Yes |
|
Check |
Explanation |
Mandatory |
|---|---|---|
|
Leveraging regiondata |
|
Yes, if regiondata has been implemented |
|
Check |
Explanation |
Mandatory |
|---|---|---|
|
Single product navigation |
Ads display without navigation arrows for both desktop and mobile and there are no "navigation dots" on the mobile carousel. |
Yes |
|
Multi-product navigation |
Ads display with navigation arrows for both desktop and mobile and there are "navigation dots" on the mobile carousel. |
Yes |
|
Option |
Check |
Mandatory |
|---|---|---|
|
No redirection |
Nothing happens |
Yes |
|
Redirection URL |
The user gets redirected to the URL provided in the ad response |
Yes |
|
File download |
The user downloads the file provided |
Yes |
|
Parameter |
Type |
Example(s) |
Description |
Required |
|---|---|---|---|---|
|
|
int |
|
The key that corresponds with your specific partner ID within Criteo. Please reach out to your Technical Account Manager to set up if needed. |
Yes |
|
|
string |
|
The page name as exposed in the Criteo configuration. Please reach out to your Technical Account Manager to set up if needed. |
Yes (can be hardcoded) |
|
|
string |
|
The placement name as exposed in the Criteo configuration. Please reach out to your Technical Account Manager to set up if needed. |
Yes (can be hardcoded) |
|
|
string |
|
A unique
|
Yes |
|
|
string |
|
Contextual data that can be any of: A keyword, A category, A SKU ID. Delivery will use the page type to determine how to use this context data to look up ads. |
Required for all page types except homepage |
|
|
URL encoded JSON |
URL Encoded:
URL Decoded:
|
Used to pass extra data for rendering purpose only. In this example, the lang parameter would be used to select the ad language to render.
It can be accessed from the creative response using:
|
No (optional) |
|
|
URL encoded JSON |
URL Encoded:
URL Decoded:
|
Used to pass extra data for to populate dynamically the passback tag only.
It can be accessed from the Passback tag using:
|
No (optional) |
|
|
string |
|
|
No (optional) |
|
|
string |
|
Store ID selected by the user when browsing the retailer’s site. It should match the store IDs in the product feed. See more details here . |
Yes, if Store IDs are defined in the product feed |
|
|
string |
|
Indicates if GDPR applies to this user. (1: yes, the user is in Europe and GDPR applies; 2: no, the user is outside Europe). |
Yes, if using TCFv2 standard |
|
|
string |
|
The encoded TCFv2 consent string. |
Yes, if using TCFv2 standard |
|
|
bit |
|
Value '1' is for opt-out users. (Value '0' can also be passed for opt-in users.) |
No, only when the user is opt-out and not using the TCFv2 standard |
|
Field |
Description |
|---|---|
|
|
URL of Background image file for desktop, mobile & app |
|
|
Alternative text for background image file for desktop, mobile & app |
|
|
Web URL that the user should be redirected to |
|
|
App deeplink that the user should be redirected to |
|
|
Redirection target, can have the following values:
(only applicable for web) |
|
Level |
Name |
Response field |
Explanation |
Mandatory |
|---|---|---|---|---|
|
Format |
Impression |
|
URL to be called when the whole placement is loaded onto the page. For display ads, the placement is considered "loaded" when the entire unit is rendered. This beacon should only be fired once. |
Yes |
|
Format |
View |
|
URL to be called when the placement is viewed according to IAB's viewable ad impression measurement guidelines. At least 50% of the unit must be in the user's viewport for at least 1 uninterrupted second. This beacon should only be fired once. |
Yes |
|
Format |
Click |
|
URL to be called when the user clicks on the placement itself. |
Yes |
|
Check |
Explanation |
Mandatory |
|---|---|---|
|
Breakpoint adherence |
|
Yes |
|
Mock-up adherence |
The design of the mock-ups should be followed, ensuring the following:
|
Yes |
|
Check |
Explanation |
Mandatory |
|---|---|---|
|
Leveraging regiondata |
|
Yes, if regiondata has been implemented |
|
Option |
Check |
Mandatory |
|---|---|---|
|
No redirection |
Nothing happens |
Yes |
|
Redirection URL |
The user gets redirected to the URL provided in the ad response |
Yes |
|
File download |
The user downloads the file provided |
Yes |
|
Level |
Name |
Response field |
Explanation |
Mandatory |
|---|---|---|---|---|
|
Format |
Impression |
|
URL to be called when the whole placement is loaded onto the page. For display ads, the placement is considered "loaded" when the entire unit is rendered. This beacon should only be fired once. |
Yes |
|
Format |
View |
|
URL to be called when the placement is viewed according to IAB's viewable ad impression measurement guidelines. At least 50% of the unit must be in the user's viewport for at least 1 uninterrupted second. This beacon should only be fired once. |
Yes |
|
Format |
Click |
|
URL to be called when the user clicks on the placement itself. |
Yes |
|
Format |
File download |
|
URL to be called when a click is made by the user on a CTA button, or from the creative image of the format, which leads to a file download. |
Yes |
|
Product |
Impression |
|
URL to be called when the individual product tile is loaded onto the page. If leveraging universal beacons , this field will be blank. This beacon should only be fired once. |
Yes |
|
Product |
View |
|
URL to be called when the individual product tile is viewed according to IAB's viewable ad impression measurement guidelines. At least 50% of the placement must be in the user's viewport for at least 1 uninterrupted second. This beacon should only be fired once per product. |
Yes |
|
Product |
Click |
and/or
|
productPage
This element is a URL that will send an
It is possible to use this as the
onClickBeacon URL to be called when the individual product tile is clicked. This refers to *any* click interaction with the product tile outside of adding to cart or adding to wishlist (see next two rows). This beacon should fire on all of the range of clicks; left click, middle click, right click to open in a new tab and keyboard shortcuts that simulate a click. Both This beacon should be fired on every click event. Criteo will deduplicate clicks for billing purposes internally. |
Yes |
|
Product |
Add-to-cart |
|
URL to be called when a product is added to or removed from the basket/cart. You can add the quantity of products as a query string parameter. If no
This beacon should be fired on *every* add-to-cart click event. Criteo will deduplicate clicks for billing purposes internally. |
Yes |
|
Product |
Add-to-wishlist |
|
URL to be called when the product is added to the wishlist/favorites. This beacon should be fired on *every* add-to-wishlist click event. Criteo will deduplicate clicks for billing purposes internally. |
Yes |
|
Check |
Explanation |
Mandatory |
|---|---|---|
|
Breakpoint adherence |
|
Yes |
|
Product button formatting |
Ensure that the button's shape, font, font size, and position are aligned with the provided mock-ups. |
Yes |
|
Product button text |
Ensure the name can fit on two lines and supports at least 20 characters of text |
Yes |
|
Redirection button formatting |
Ensure that the button's shape, font, font size, and position are aligned with the provided mock-ups. |
Yes |
|
Redirection button text |
Ensure that the button text supports up to 20 characters in length. |
Yes |
|
Mock-up adherence |
The design of the mock-ups should be followed, ensuring the following:
|
Yes |
|
Check |
Explanation |
Mandatory |
|---|---|---|
|
Leveraging regiondata |
|
Yes, if regiondata has been implemented |
|
Check |
Explanation |
Mandatory |
|---|---|---|
|
Product navigation |
Ads display without navigation arrows for both desktop and mobile and there are no "navigation dots" on the mobile carousel. |
Yes |
|
Option |
Check |
Mandatory |
|---|---|---|
|
No redirection |
Nothing happens |
Yes |
|
Redirection URL |
The user gets redirected to the URL provided in the ad response |
Yes |
|
File download |
The user downloads the file provided |
Yes |
|
Feature |
Legacy beacons |
Standard/Universal beacons |
|---|---|---|
|
Data transmission |
Sends an
|
Includes product data at the placement level |
|
Performance impact |
Higher network requests and load |
More efficient, fewer requests |
|
Implementation complexity |
Requires per-product tagging |
Consolidated tracking logic |
|
Use case |
Legacy setups requiring detailed per-product tracking |
Modern implementations optimizing efficiency |
|
Feedback mechanism |
No feedback on missing products |
Supports status codes for suppressed/not rendered products |
|
Optimization potential |
Limited visibility into why products didn't appear |
Enables fill rate optimization and revenue improvement |
|
Zone |
Description |
Requirement |
|---|---|---|
|
Logo Zone |
Contains advertiser branding (typically top-left). Redirects to the app’s main screen. |
Mandatory: Universal/App Link to main screen. |
|
Product Zone |
Displays products from the catalog. Redirects to product detail screens. |
Mandatory: Product-specific Universal/App Link. |
|
Coupon Zone |
Optional area showing discounts or special offers. |
Optional: Universal/App Link to main or promotional screen (e.g., category or search page). |
|
Platform |
Supported Method |
Fallback |
Required Configuration |
|---|---|---|---|
|
iOS |
Universal Links |
Mobile Web |
AASA file + Associated Domains |
|
Android |
App Links |
Mobile Web |
|
|
Event |
Key |
Example value |
Description |
Required? |
|---|---|---|---|---|
|
|
|
|
Criteo Account/Partner ID, provided by your technical contact. |
Yes |
|
|
|
|
A unique, unauthenticated user ID valid for at least 30 days. Used to track visitor behavior across sessions. Typically retrieved via a first-party cookie. |
Yes |
|
|
|
|
A consistent, internal ID for logged-in users, linked to accounts, purchase history, or membership programs. |
Highly recommended to improve x-device ROAS and enable in-store sales attribution. |
|
|
|
|
User’s email address in SHA256 hash format. |
Highly recommended to improve offsite retargeting. |
|
|
|
|
Device type:
|
No |
|
Event |
Parameter |
Example value |
Description |
Required? |
|---|---|---|---|---|
|
|
|
EMEA:
AMER:
|
Use standard page IDs unless otherwise specified. |
Yes |
|
|
|
|
The ID of the specific store that the user is browsing. |
Only pass this value if your product feed \[includes regiondata]\(tps\://developers.criteo.com/retailer-integration/docs/feed-parameters#regional-datahttps\://developers.criteo.com/retailer-integration/docs/product-feed-parameters#regional-data. |
|
Event |
Parameter |
Example value |
Description |
Required? |
|---|---|---|---|---|
|
|
|
EMEA:
AMER:
|
Use standard page IDs unless otherwise specified. |
Yes |
|
|
|
|
IDs of the organic products shown, matching the IDs passed in the product feed. Used for deduplication. |
Required for ad de-duplication. Recommended for offsite targeting and audience building. |
|
|
|
|
The page number that the user is browsing. Make sure to re-fire the tag as the user navigates through each page so that fresh ads can be requested and rendered. |
Recommended to vary ad selection as the user navigates the grid. |
|
|
|
|
Category path, matching the
|
Yes |
|
|
|
|
Restricts ad response to specific attributes. Ensure these filter names and values match exactly what is passed in the feed. A list of accepted filter operators can be found here . |
Recommended to improve relevant advertising on filtered pages. |
|
|
|
|
The ID of the specific store that the user is browsing. |
Only pass this value if your product feed includes regiondata |
|
Event |
Parameter |
Example value |
Description |
Required? |
|---|---|---|---|---|
|
|
|
EMEA:
AMER:
|
Use standard page IDs unless otherwise specified. |
Yes |
|
|
|
|
Enter this hardcoded value when there is no product grid on listing pages |
No |
|
|
|
|
Category path, matching the
|
Yes |
|
|
|
|
The ID of the specific store that the user is browsing. |
Only pass this value if your product feed \[includes regiondata]\(tps\://developers.criteo.com/retailer-integration/docs/feed-parameters#regional-datahttps\://developers.criteo.com/retailer-integration/docs/product-feed-parameters#regional-data . |
|
Event |
Parameter |
Example value |
Description |
Required? |
|---|---|---|---|---|
|
|
|
EMEA:
AMER:
|
Use standard page IDs unless otherwise specified. |
Yes |
|
|
|
|
IDs of the organic products shown, matching the IDs passed in the product feed. Used for deduplication. |
Required for ad de-duplication. Recommended for offsite targeting and audience building. |
|
|
|
|
The page number that the user is browsing. Make sure to re-fire the tag as the user navigates through each page so that fresh ads can be requested and rendered. |
Recommended to vary ad selection as the user navigates the grid. |
|
|
|
|
User-entered search term. If you perform a spell check internally before rendering results, please pass in the *corrected* keyword. |
Yes |
|
|
|
|
Restricts ad response to specific attributes. Ensure these filter names and values match exactly what is passed in the feed . A list of accepted filter operators can be found here . |
Recommended to improve relevant advertising on filtered pages. |
|
|
|
|
The ID of the specific store that the user is browsing. |
Only pass this value if your product feed includes regiondata . |
|
Key |
Parameter |
Example value |
Description |
Required? |
|---|---|---|---|---|
|
|
|
EMEA:
AMER:
|
Use standard page IDs unless otherwise specified. |
Yes |
|
|
|
|
Enter this hardcoded value when there is no product grid on listing pages |
No |
|
|
|
|
User-entered search term. If you perform a spell check internally before rendering results, please pass in the *corrected* keyword. |
Yes |
|
|
|
|
The ID of the specific store that the user is browsing. |
Only pass this value if your product feed includes regiondata . |
|
Event |
Parameter |
Example value |
Description |
Required? |
|---|---|---|---|---|
|
|
|
EMEA:
AMER:
|
Use standard page IDs unless otherwise specified. |
Yes |
|
|
|
|
SKU ID of the currently visited product. Must match the value passed in the
|
Yes |
|
|
|
|
The parent ID of the currently visited product. Must match the value passed in the
|
No |
|
|
|
|
The current unit price of the visited product, leveraged for real-time updates in Criteo's system. |
Yes |
|
|
|
|
Product availability:
|
Yes |
|
|
|
|
The ID of the specific store that the user is browsing. |
Only pass this value if your product feed includes regiondata . |
|
|
|
|
Category path, matching the \`product\_type\_key passed in the feed. If not passed, Criteo defaults to the primary taxonomy of the SKU in the item parameter. |
No |
|
Event |
Parameter |
Example value |
Description |
Required? |
|---|---|---|---|---|
|
|
|
Use the same
|
This is not a page view, but rather an event that takes place after the page has been loaded. For that reason, the page\_id remains unchanged from the initial page load. |
Yes |
|
|
|
|
A product array for the SKU added to the basket with ID,
unit
price, and quantity. IDs must match the
|
Yes |
|
|
|
|
The ID of the specific store that the user is browsing. |
Only pass this value if your product feed includes regiondata . |
|
Parameter |
Event |
Example value |
Description |
Required? |
|---|---|---|---|---|
|
|
|
EMEA:
AMER:
|
Use standard page IDs unless otherwise specified. |
Yes |
|
|
|
If empty:
If populated:
|
An array of products in the basket with ID,
unit
price, and quantity. IDs must match the
|
Yes |
|
|
|
|
The ID of the specific store that the user is browsing. |
Only pass this value if your product feed includes regiondata . |
|
Event |
Parameter |
Example value |
Description |
Required? |
|---|---|---|---|---|
|
|
|
EMEA:
AMER:
|
Use standard page IDs unless otherwise specified. |
Yes |
|
|
|
|
The unique order/transaction ID of the completed purchase |
Yes |
|
|
|
|
An array of products in the order with ID,
unit
price, and quantity. IDs must match the
|
Yes |
|
|
|
|
The ID of the specific store that the user is browsing. |
Only pass this value if your product feed includes regiondata . |
|
Event |
Key |
Example value |
Description |
|---|---|---|---|
|
|
account |
|
Your Criteo Account or Partner ID, provided by your technical contact, to route data to Criteo servers. |
|
|
id |
|
A unique, unauthenticated user ID valid for at least 30 days. Used to track visitor behavior across sessions. Typically retrieved via a first-party cookie. |
|
|
id |
|
A consistent, internal ID for logged-in users, linked to accounts, purchase history, or membership programs. |
|
|
|
|
User’s email address in SHA256 hash format. *Please pass an empty string if the user's email is unavailable.* |
|
Header |
Required |
Purpose |
|---|---|---|
|
|
Yes |
Includes original user IP |
|
|
Yes |
Identifies client device/browser |
|
|
Recommended |
Provides page context |
|
Field |
Description |
|---|---|
|
|
URL of the background image file for desktop / tablet app |
|
|
Alternative text for desktop background image |
|
|
URL of the background image file for mobile |
|
|
Alternative text for mobile background image |
|
|
Format outline color hexa code |
|
|
Background color hexa code of the creative tile |
|
|
Title of format (above the format) |
|
|
Title of format color hexa code |
|
|
*For first option:* Option type. Can have the following values:
|
|
|
*For first option:* Optional text (non-applicable for mobile version) |
|
|
*For first option:* URL web that the user should be redirected to |
|
|
*For first option:* App deeplink that the user should be redirected to |
|
|
*For first option:* Redirection target, can have the following values:
(only applicable for web) |
|
|
*For first option:* URL of media file |
|
|
*For first option:* Option text color |
|
|
*For first option:* Option background color |
|
|
*For second option:* Option type. Can have the following values:
|
|
|
*For second option:* Option text (non-applicable for mobile version) |
|
|
*For second option:* URL web that the user should be redirected to |
|
|
*For second option:* App deeplink that the user should be redirected to |
|
|
*For second option:* Redirection target, can have the following values:
(only applicable for web) |
|
|
*For second option:* URL of media file |
|
|
*For second option:* Option text color |
|
|
*For second option:* Option background color |
|
Field |
Description |
|---|---|
|
|
The product that should be rendered when the button is clicked. The array is contains the priority order of product rendering. If you are checking product availability in real time, you should render the first available product in the array, i.e., if the first product is not available, check the second one, then check the third, and so on. |
|
|
If
If
|
|
Level |
Name |
Response field |
Explanation |
Mandatory |
|---|---|---|---|---|
|
Format |
Impression |
|
URL to be called when the whole placement is loaded onto the page. For display ads, the placement is considered "loaded" when the entire unit is rendered. This beacon should only be fired once. |
Yes |
|
Format |
View |
|
URL to be called when the placement is viewed according to IAB's viewable ad impression measurement guidelines. At least 50% of the unit must be in the user's viewport for at least 1 uninterrupted second. This beacon should only be fired once. |
Yes |
|
Format |
Click |
|
URL to be called when the user clicks on the placement itself. |
Yes |
|
Format |
File download |
|
URL to be called when a click is made by the user on a CTA button, or from the creative image of the format, which leads to a file download. |
Yes |
|
Product |
Impression |
|
URL to be called when the individual product tile is loaded onto the page. If leveraging universal beacons , this field will be blank. This beacon should only be fired once. |
Yes |
|
Product |
View |
|
URL to be called when the individual product tile is viewed according to IAB's viewable ad impression measurement guidelines. At least 50% of the placement must be in the user's viewport for at least 1 uninterrupted second. This beacon should only be fired once per product. |
Yes |
|
Product |
Click |
and/or
|
productPage
This element is a URL that will send an
It is possible to use this as the
onClickBeacon URL to be called when the individual product tile is clicked. This refers to *any* click interaction with the product tile outside of adding to cart or adding to wishlist (see next two rows). This beacon should fire on all of the range of clicks; left click, middle click, right click to open in a new tab and keyboard shortcuts that simulate a click. Both This beacon should be fired on every click event. Criteo will deduplicate clicks for billing purposes internally. |
Yes |
|
Product |
Add-to-cart |
|
URL to be called when a product is added to or removed from the basket/cart. You can add the quantity of products as a query string parameter. If no
This beacon should be fired on *every* add-to-cart click event. Criteo will deduplicate clicks for billing purposes internally. |
Yes |
|
Product |
Add-to-wishlist |
|
URL to be called when the product is added to the wishlist/favorites. This beacon should be fired on *every* add-to-wishlist click event. Criteo will deduplicate clicks for billing purposes internally. |
Yes |
|
Check |
Explanation |
Mandatory |
|---|---|---|
|
Breakpoint adherence |
|
Yes |
|
Redirection button formatting |
Ensure that the button's shape, font, font size, and position are aligned with the provided mock-ups. |
Yes |
|
Redirection button text |
Ensure that the button text supports up to 20 characters in length. |
Yes |
|
Mockup adherence |
The design of the mock-ups should be followed, ensuring the following:
|
Yes |
|
Check |
Explanation |
Mandatory |
|---|---|---|
|
Leveraging regiondata |
|
Yes, if regiondata has been implemented |
|
Option |
Check |
Mandatory |
|---|---|---|
|
No redirection |
Nothing happens |
Yes |
|
Redirection URL |
The user gets redirected to the URL provided in the ad response |
Yes |
|
File download |
The user downloads the file provided |
Yes |
|
Attributes |
Format |
Description |
|---|---|---|
|
|
|
Alerts to whether the API call succeeded or failed |
|
|
Array of strings |
Only appears if the
|
|
|
Array of objects:
|
Lists all placements available for the specific page-id the API is being called for (example:
|
|
Attributes |
Format |
Description |
|---|---|---|
|
|
Array of objects:
|
Lists all formats present for the placement |
|
|
Empty string |
Internal use |
|
|
Empty string |
Not in use for Sponsored Products |
|
|
String containing a URL |
You can find more information on the beacons in the next chapter |
|
Attributes |
Format |
Description |
|---|---|---|
|
|
String |
Product ID of the product that matches what Criteo has in the product feed |
|
|
String |
Values that are in the feed, describing the
|
|
|
String containing a JSON object |
Values in the feed that are not standard, but are needed to render the ad. If you need these, contact your Criteo representative |
|
|
String |
Internal ID |
|
|
String |
Criteo ID of the advertiser who sent the ad |
|
|
String containing a URL |
More information on the beacons can be found in the next chapter |
|
Level |
Title |
Response field |
Explanation |
Mandatory |
|---|---|---|---|---|
|
Placement |
Impression |
|
URL to be called when the whole placement is loaded onto the page. For sponsored products, the placement is considered "loaded" when at least one product is rendered. |
Yes |
|
Placement |
View |
|
URL to be called when at least 50% of the first product is in the user's viewport for at least 1 uninterrupted second. This beacon should only be fired once. |
Yes |
|
Product |
Impression |
|
URL to be called when the individual product tile is loaded onto the page. If leveraging universal beacons , this field will be blank. This beacon should only be fired once. |
Yes |
|
Product |
View |
|
URL to be called when the individual product tile is viewed according to IAB's viewable ad impression measurement guidelines. At least 50% of the placement must be in the user's viewport for at least 1 uninterrupted second. This beacon should only be fired once per product. |
Yes |
|
Product |
Click |
and/or
|
productPage
This element is a URL that will send an
It is possible to use this as the
onClickBeacon URL to be called when the individual product tile is clicked. This refers to *any* click interaction with the product tile outside of adding to cart or adding to wishlist (see next two rows). This beacon should fire on all the range of clicks; left click, middle click, right click to open in a new tab and keyboard shortcuts that simulate a click. Both
This label refers to cases where both
Deduplication is performed only when multiple beacons of the same type are received. Criteo will handle this deduplication internally for billing purposes. |
Yes |
|
Product |
Add-to-cart |
|
URL to be called when a product is added to or removed from the basket/cart. You can add the quantity of products as a query string parameter. If no
This beacon should be fired on *every* add-to-cart click event. Criteo will deduplicate clicks for billing purposes internally. |
Yes |
|
Product |
Add-to-wishlist |
|
URL to be called when the product is added to the wishlist/favorites. This beacon should be fired on *every* add-to-wishlist click event. Criteo will deduplicate clicks for billing purposes internally. |
Yes |
|
Check |
Explanation |
Mandatory |
|---|---|---|
|
Breakpoint adherence |
For each window size (breakpoint), ensure the sponsored products are positioned properly and that all "sponsored" badges are displayed correctly, as shown in the mock-ups provided by Criteo. |
Yes |
|
Mock-up adherence |
The design of the mock-ups should be followed as specified:
|
Yes |
|
Check |
Explanation |
Mandatory |
|---|---|---|
|
Filters leveraged in ad calls |
|
Yes, if filters have been implemented |
|
Leveraging regiondata |
|
Yes, if regiondata has been implemented |
|
Check |
Explanation |
Mandatory |
|---|---|---|
|
Test purchase |
|
Yes |
|
Beacon Name |
Beacon Description |
|---|---|
|
|
Indicates that the format (video + SKUs if applicable) is rendered on the page, even if not viewable yet. |
|
|
Indicates that the format is viewed by the user (viewability = more than 50% of the format in the user's viewport for 1 second). \_Note: this indicates the viewability of the format. However, video viewability (more than 50% of the format in the user’s viewport for two consecutive seconds) is tracked with OMID capabilities (see the "Additional verification with OMID compatible scripts” section). This beacon is not used to track video viewability.\_ |
|
|
Indicates that the format has been clicked by the user on a clickable and redirectable element that is neither the video nor the product tile (example: a CTA, a clickable text around the video...). If there is no any other clickable element than the video or SKUs, you can ignore this beacon. *Notes:*
2. Clicks on the video itself should use the click tracking beacon in the VAST XML.\_ |
|
|
Please disregard this beacon. |
|
|
Please disregard this beacon. |
|
Beacon Name |
Beacon Description |
|---|---|
|
|
Indicates that the product tile is rendered on the page (even if not viewable yet). |
|
|
Indicates that the product tile is viewed by the user (viewed = more than 50% of the product in the user's viewport for 1 second). |
|
|
This beacon is triggered when a user clicks on an element (image, text) of the product tile that redirects to the product page. |
|
|
This beacon is triggered when the user adds a product to their cart.
\_If there is no
|
|
|
This beacon is triggered when the user adds a product to their wishlist.
\_If no add-to-Wishlist CTA is available, it can be disregarded. The beacon can be fired multiple times if the user repeatedly clicks the
|
|
Name |
Description |
|---|---|
|
|
Indicates that the video is rendered on the page (even if not viewable yet). Not used for billing. |
|
|
Indicates that the video has started and should be triggered when the video enters in 50% of the user’s viewport. This is the beacon used for impression billing and reporting. |
|
|
Must be triggered when 25% of the video has been played. |
|
|
Must be triggered when 50% of the video has been played. |
|
|
Must be triggered when 75% of the video has been played. |
|
|
Must be triggered when 100% of the video has been played. |
|
|
Must be triggered every time the user clicks on the video and gets redirected to the landing page stored in the
\_Do not trigger this beacon for clicks on the interactive buttons (
|
|
|
Must be triggered every time the user clicks the
\_This action must not be triggered at the start of the video. It should only be initiated when the user actively mutes the video by clicking the
|
|
|
Must be triggered every time the user clicks the
|
|
|
Must be triggered every time the user clicks the
*If the decision is made not to display a pause/resume button in the player, this beacon can be ignored. This beacon should only be triggered by the button click and should not be triggered when the video pauses by itself due to leaving the viewport.* *If there is no redirection link provided in the VAST XML, a click on the video itself should pause/resume the video and this beacon should be fired.* |
|
|
Must be triggered every time the user clicks the
*If the decision is made not to display a pause/resume button in the player, this beacon can be ignored. This beacon should only be triggered by the button click and should not be triggered when the video autonomously resumes after being paused by leaving the viewport and subsequently returning.* *If there is no redirection link provided in the VAST XML, a click on the video itself should pause/resume the video and this beacon should be fired.* |
|
Parameter |
Description |
Default value |
|---|---|---|
|
|
Whether to automatically load VAST/assets on init. |
|
|
|
Initial mute state for the first play. |
|
|
|
Wrapper view background color. |
|
|
|
Loading overlay background color. |
|
|
|
ProgressBar indicator color while loading. |
|
|
|
Loading message text. |
"Loading video ad..." |
|
|
Loading text color. |
|
|
|
Error overlay background color. |
|
|
|
Error text color. |
|
|
|
Retry button label text. |
|
|
|
Retry button text color. |
|
|
|
Retry button background color. |
|