Skip to main content
The Multi-Seller Reconciliation report shows gross delivery, overdelivery, and net delivery by seller. Use it to reconcile seller-level delivery with deductions on your Criteo invoice. Overdelivery is the portion of delivery that Criteo does not invoice. The report helps you understand which sellers, ad sets, and budgets contributed to that amount.

Before you start

  • Supported activations: The API supports Multi-Seller campaigns only.
  • Availability: Automated seller-level invoice deductions start with the December 2026 invoicing period.
  • Report coverage: The report covers seller overdelivery only. A capped spend limit on your campaigns can create a separate invoice deduction, which is not included in this report.
  • API version: The endpoint is available from version 2027-01, first released as a Release Candidate. Use 2027-01 as {version}. A Release Candidate can still change before the version becomes stable.
  • Endpoint type: The endpoint is synchronous and returns the report in the same request.
  • Row limit: A report can contain up to 600,000 rows.
  • Date range: A request can cover up to 31 days.
  • Data history: Data starts on October 1, 2026. Earlier days are not available.
  • Data availability: The report only includes consolidated days, whose amounts are final. A day is usually available about four hours after midnight in the advertiser’s timezone.
  • Currency and timezone: All amounts are in the advertiser’s currency, and all days follow the advertiser’s timezone. Every response states both. The Standard Reporting API counts days in UTC unless you set its timezone parameter—timezone in v2 or timeZoneId in the legacy endpoints—so set it to the advertiser’s timezone when you compare the two reports.
  • Required scope: MarketingSolutions_Analytics_Read

When to use this API

Use this API when you run Multi-Seller campaigns and need to reconcile seller delivery and overdelivery for billing, especially when sellers use capped total budgets. Use the report to:
  • Reconcile the overdelivery deducted from your monthly Criteo invoice with the sellers it comes from.
  • Support seller billing reconciliation when allocating Criteo costs across sellers.
  • See which sellers, ad sets, and budgets overdeliver, day by day.
For performance metrics such as impressions, clicks, sales, and return on ad spend, use the Standard Reporting API v2.

Endpoint

The base URL is:

Request model

The endpoint uses the SellerDeliveryReportSearch request body.

Request fields

Filter rules

  • Leaving a filter out and sending an empty list mean the same thing: no filter.
  • Values within one filter are combined with OR. Different filters are combined with AND.
  • Filters do not add columns. Filtering on one ad set with dimensions: ["sellerId", "day"] returns each seller’s daily totals for that ad set, without an adSetId column.
  • ["3", "4"] in budgetIds returns only these two budgets and excludes spend without a budget. ["NULL"] returns only spend without a budget. ["3", "NULL"] returns budget 3 plus spend without a budget.
  • Rows with no spend are never returned, so a day on which a seller did not spend has no row.
  • onlyOverdelivering is applied after grouping, to the rows you requested, and works even when overDelivery is not among the requested metrics.

Dimensions

You can combine sellerId with any of adSetId, budgetId, and day. day is the only time dimension available.

Metrics

How overdelivery is calculated

Overdelivery has two sources:
  • Spend above a capped budget: When a seller uses up its capped budget, Criteo stops bidding for that seller, but the stop takes a short time to reach every part of the delivery system. Spend during that time is overdelivery.
  • Spend without a budget: Occasionally, spend is recorded that cannot be attached to any budget, such as late spend that arrives after a budget has ended. All of it is overdelivery. The report shows it with budgetId set to "NULL".

Which budgets count

Only a capped total budget creates overdelivery. An uncapped total budget has no ceiling, so spend against it is never overdelivery. Daily budgets and campaign spend smoothing only pace delivery. Spending above them does not create overdelivery on its own. When a daily budget sits on top of a capped total budget, overdelivery is measured against the total budget only.

How a capped budget is used up

Overdelivery is calculated for each budget and each day. Each day starts from what is left of the budget after the net delivery of the previous days:
For example, a seller has a capped budget of 1,000, and 900 of net delivery has already been recorded on previous days. The remaining budget is 100. If the seller spends 180 today, 100 is billable and 80 is overdelivery. Cumulative net delivery reaches the 1,000 budget amount.

Budget changes

  • The day’s final amount applies: Overdelivery for a day is calculated after the day ends, against the budget amount at the end of that day. If a seller spends 550 against a budget of 500 and you raise the budget to 700 before the day ends, that day has no overdelivery.
  • Past days do not change: Raising a budget does not turn earlier overdelivery into billable spend. Once a day is consolidated, its amounts are final.
  • Lowering a budget cannot create overdelivery by itself: A capped budget cannot be set below what it has already spent.

Budgets shared by several ad sets

A seller budget can be shared by several ad sets. The budget is checked once against their combined spend, and any overdelivery is split between the ad sets in proportion to their gross delivery. For example, a seller has one capped budget of 200 shared by two ad sets: Ad set A generated 60% of the gross delivery, so it carries 60% of the overdelivery.

Effect on your invoice

Your monthly invoice is reduced by the total overDelivery of all your sellers over the invoicing period, including spend without a budget. When a capped spend limit is also set on your campaigns, the total netDelivery is not the full invoice calculation. The separate deduction for spend above that limit is not part of this report.

Data availability

Overdelivery is calculated once a day, after the day has ended. A day is usually available about four hours after midnight in the advertiser’s timezone. For example, data for December 1 is available early on December 2. A day whose overdelivery has been calculated is consolidated. Its amounts are final, will not change, and are the amounts used for your invoice. Every response returns meta.lastConsolidatedDay, the latest consolidated day. Check that field rather than relying on a fixed time. The report only includes consolidated days. The current day’s spend is not included until that day is consolidated. To follow spend during the day, use the Real-Time Monitoring API.

Generate a report synchronously

Use the endpoint to generate and download a report in a single request. A report is limited to 600,000 rows.

Example request

This request returns every seller that overdelivered in December 2026, with one row per seller for the whole month.

JSON response structure

The response uses a meta.columns array and a data array. Each row in data follows the same order as the columns.
The sum of overDelivery across all rows—69.60 EUR in this example—is the seller overdelivery deducted from the December invoice. Seller 345678 had spend that was entirely overdelivery, so none of it is billed. With onlyOverdelivering set to true, the response stays smaller because most sellers do not overdeliver, and the total remains unchanged.

Response fields

Columns

Columns appear in this order:
  1. The requested dimensions other than day, in the order you sent them.
  2. periodStartDay.
  3. The requested metrics, in the order you sent them.
The columns depend on your request, so read value positions from meta.columns instead of hard-coding them.

Example: daily detail for one seller

This request returns seller 123456 spend for December 1 and 2, split by ad set, budget, and day.

Request

Response

On December 1, the seller spent 110.00 EUR on budget 3, of which 10.00 EUR was overdelivery. It also spent 6.20 EUR on ad set 456789 with no budget attached, all of it overdelivery. On December 2, there was no overdelivery.
  • Reconciliation: Set onlyOverdelivering to true when you reconcile overdelivery with your invoice. Rows without overdelivery do not affect the deduction, so leaving them out keeps the response small without changing the total.
  • Daily: Once meta.lastConsolidatedDay has moved to yesterday, request yesterday with the day dimension to update each seller’s spend and overdelivery.
  • Monthly: After the last day of the month is consolidated, request the full month by seller without a day dimension, as shown in the example request, to reconcile with your invoice.
  • Large marketplaces: Request the full month in one report rather than one day at a time. The 600,000-row limit is sized to fit a full month split by seller, ad set, and budget, especially with onlyOverdelivering. Many smaller requests are more likely to be throttled with 429.
  • Retries: On 429 or 500, retry with exponential backoff as described in API Error Codes. The endpoint only reads data, so retrying is safe.

Errors and HTTP status codes

HTTP status codes, the error object, and retry rules shared by all Criteo APIs are described in API Error Codes. Authentication errors (401), throttling (429), and server errors (500) follow that shared behavior. The codes below are specific to this endpoint.

Domain errors