Skip to main content
Table of contents

Criteo REST API for Resellers

Below, you will find the key concepts of the Criteo Reseller Program REST API which allow you to manage campaigns bids and budgets at the sellers level.


API AUTHENTICATION

We use JWT to provide token-based authentication system to our REST API. In order to issue calls to our API, you will need to pass a token on to any of these calls.

To get your token, you will need to issue a POST call to the /oauth2/token endpoint, with client_id and client secret as parameters (see Getting Started section).


RETRIEVING THE AdvertiserID

Retrieve your AdvertiserID by issuing a GET call to the /portfolio/ endpoint.


RETRIEVING THE CampaignID

Retrieve your CampaignID by issuing a GET call to the /sellers/endpoint.


 ONBOARDING A SELLER IN THE CRITEO RESELLER PROGRAM 

To onboard a new seller, you will need to make sure he is properly flagged in the product catalog you've previously shared with Criteo. 
To make sure your seller is properly flagged, you will need to set the seller name column to the seller unique identifier, which is the seller name for each of your seller’s products provided in the catalog.


After the steps above, you will be able to send us your sellers’ budget and bids thanks to the sellers' endpoints described previously, especially:

  • PUT /v1/sellers/bids to send us the sellers’ CPC 

  • POST /v1/sellers/budgets to send us the seller’s budget


REMOVING A SELLER'S DATA FROM THE CRITEO RESELLER PROGRAM

If you want to remove a seller from the Criteo Reseller Program, you just need to stop this seller inside the campaign (see the section “How do I stop a seller”).

Alternatively, you can also remove the products of the seller from your product catalog. However, this will only take effect once Criteo completes catalog & category ingestion. Furthermore adding it back will also take more time since it will also require a new catalog & category ingestion. Finally, once the seller is removed from the catalog, statistics for this seller won’t be available anymore.



 STARTING A CAMPAIGN   

To start a Criteo Reseller Program campaign, you must provide us with a dedicated product catalog containing products from all sellers on-boarded in the program. Note that each of these products should have the seller’s unique identifier in the seller field.

Your campaign will be automatically created from the moment your catalog is ingested.
To go live, your campaign needs at least one seller with budget and bid already set. You can send them through PUT /v1/sellers/bids and  POST /v1/sellers /budgets endpoints. 


STOPPING AN ACTIVE CAMPAIGN


To stop your whole Criteo Reseller Program campaign (for all sellers) please contact your Account Manager.  
 
PAUSING A SPECIFIC SELLER

To stop one or more sellers inside your campaign, you must set their budgets as “Inactive”. Once this is done, the system will stop showing ads for these seller’s products.

To set a budget as “Inactive” you must issue a PUT call to the /sellers/budgets endpoint as described below:

  • PUT /sellers/budgets with status = Inactive


STOPPING A SELLER WHOSE BUDGET IS ALMOST COMPLETELY CONSUMED 

There is nothing to do on your side. We anticipate the budget depletion of all sellers and stop their campaigns whenever they are running out of budget.



SETTING BUDGETS AND CPCs

To set budget and CPC for a specific seller, you need to use the following endpoints:

  • Bids: for initialization and update: issue a PUT call to the /sellers/bids endpoint

  • Budgets:

    • For initialization: issue a POST call to the /v1/sellers/budgets endpoint

    • For budget update: issue a PUT call to the /v1/sellers/budgets endpoint



INCREASING BUDGETS AND CPCs

To increase a budget and CPC for a specific seller, you must issue a PUT call to the /v1/sellers/budgets and /v1/sellers/bids endpoints.



DECREASING CPCs

In case your seller wants to decrease its CPC, you must issue a POST call to the /v1/sellers/bids endpoint.



DECREASING BUDGETS

If your seller wants to decrease its budget, you will need to set the current status to Inactive - this will stop the displays on the current budget on the day (D) you perform the action. After this, you can create a new budget with the decreased value (see “How to create a new Budget section”) This will start(D+1), UTC time

Example:

Day 0, seller A has initially set a budget amount of $1000 on its Criteo Reseller Program campaign.

Day 2, seller A still has $800 of budget BUT decides to reduce its available budget to $500.

Then you must issue the following calls:

  • PUT call to the /sellers/budgets/ endpoint

    • Set status to Inactive

    • (No need to precise any budget amount here, status has priority)

  • POST call to the /sellers/budgets endpoint

    • Set amount to 500

    • (No need to provide any status here; if it’s left empty, we assume it will be Active)


CREATING BUDGETS

You can create a new budget if one of two cases :

  • You don’t have a budget for the current day

  • You have have an incactive budget for the current day

To create a new Budget for a seller, you will need to issue

  • POST call to the /sellers/budgets endpoint

The new Budget will take effect either :

  • Right now if you don’t have any budget for the current day

  • Tomorrow if you have an inactive budget for the current day



FIXING WRONGLY INPUTTED BUDGETS 

First, you will need your seller to provide you with the updated budget.
Then, there are three main scenarios that lead to different actions:

  • You already have the new budget and it is lower than the initial budget set:

    • Apply actions described section How do I decrease a budget/CPC

  • You already have the new budget and it is greater than the initial budget set:

    • Apply the actions described in the section "Increasing a budget/CPC"

  • You do not have the new/right budget:

    • Apply actions explained in the section How can I remove a seller


FIXING WRONGLY INPUTTED CPCs

First, you will need your seller to provide you with the updated CPC. You should then issue a PUT call to the sellers/bids/ endpoint to set the updated bid.



WHAT IF MY SELLER CHANGED THEIR NAME ON MY PLATFORM?

As our API essentially relies on sellerName to manage bids and budgets, any change in seller name will automatically create a new entry in our system, not linked to the previous seller name.
In a nutshell, if a seller changes its name on your platform, you will need to:

  • Update your product catalog with the new sellerName

  • Initialize your seller's bid and budget by sending us a PUT /v1/sellers/bids & POST /v1/sellers/budgets instruction.


ANALYZING SELLERS' SPENT BUDGETS

To get a view of the spent budget for a dedicated seller on a Criteo Reseller Program campaign, issue a GET call to the /v1/sellers endpoint. The information will be available as spentAmount.



ANALYZING REMAINING BUDGETS FOR SELLERS

To get a view of the spent budget for a dedicated seller on a Criteo Reseller Program campaign, issue a GET call to the /v1/sellers endpoint. The information will be available as remainingAmount.



 REPORTING

You can issue a POST call to the /v1/sellers/stats endpoint. It is only possible to access impressions, clicks and cost at the seller level, available up to a daily granularity.

A maximum of 3 dimensions can be used and must contain the seller dimension.

Available dimensions:

  • AdvertiserID

  • CampaignID

  • Seller – Mandatory

  • Year

  • Week

  • Day

Available metrics:

  • Displays

  • Clicks

  • AdvertiserCost