Commerce Grid supplier ingest
Commerce Grid is a Criteo product, documented as Criteo Commerce Grid. Its custom server-to-server guide defines the OpenRTB request a supplier sends to it.
Direction and version
Publishers and resellers send server-to-server bid requests to Commerce Grid endpoints. The profile covers the request only.
Built on OpenRTB 2.6, with some 2.5 references. Flags are integers, and Native requests may be an object or a serialized string in imp.native, imp.native.request, or imp.native.request_native.
The RTBlint profile commerce-grid checks requests against the published contract.
Rules beyond the OpenRTB spec
- Requests need
device,user,source, a supply chain, and at least one currency incur. - A network ID is required, either as a URL query parameter or in
site.publisher.ext.networkIdorapp.publisher.ext.networkId. source.ext.sourcetypeandsource.ext.sourceoriginare required and use Commerce Grid's documented codes.- Banner impressions list their sizes in
format, even for a single size. - Send only one of
wlangandwlangb. - Native requests need
privacyset to 1, and metric values must be between 0 and 1. imp.ext.skadn.sourceappmust matchapp.bundle.badvshould list 100 domains or fewer,bcatsupports onlycattax1, andregs.us_privacyis four characters.test,bseat,allimps,audio, andiframebusterare not supported, andsecureis always treated as 1.
Documented extensions
| Path | Meaning |
|---|---|
source.ext.sourcetype | 1 not header bidding, 2 client-side header bidding, 3 server-side header bidding. |
source.ext.sourceorigin | Request origin: 1 own tag, 2 other SSP, 3 Amazon TAM, 4 EBDA, 5 Prebid, 6 Index header bidding, 7 other. |
imp.ext.gpid | Global placement ID; Criteo's notes call it mandatory while its table says recommended. |
imp.ext.bidder.uid | Ad unit mapping ID. |
imp.ext.publisher_sub_id | Sub-publisher ID for reporting breakdowns. |
imp.ext.skadn | SKAdNetwork data. |
site.publisher.ext.networkId | Commerce Grid network ID, also accepted on app.publisher. |
user.ext.consent | TCF consent string in its legacy location. |
regs.ext.gpp | GPP string in its legacy location. |
What the validator checks for this profile
openrtb.profile.commerce_grid.banner_formatCommerce Grid requires banner formats, even for a single size.openrtb.profile.commerce_grid.currency_offerCommerce Grid requires at least one allowed bid currency.openrtb.profile.commerce_grid.language_conflictCommerce Grid accepts only one of wlang and wlangb.openrtb.profile.commerce_grid.metric_valueCommerce Grid metric values must be between 0 and 1.openrtb.profile.commerce_grid.native_privacyCommerce Grid native requests require privacy 1.openrtb.profile.commerce_grid.skadn_mismatchCommerce Grid SKAdNetwork sourceapp must match publisher app.bundle.
Validate against this contract
Open the tester with the Commerce Grid supplier ingest profile, or run:
rtblint validate --profile commerce-grid request.json