Page Intelligence endpoint, its request and response objects, and the expected integration behavior for retailers using holistic optimization across organic and sponsored products.
Business Context
Page Intelligence helps retailers optimize search and category pages holistically by evaluating organic and sponsored products together instead of managing them through separate decisioning flows.
It uses the same Sponsored Products campaigns and reporting, while adding a unified scoring and policy layer so retailers can control how sponsored SKUs appear across placements without compromising relevance or shopper experience.
Endpoint Behavior
Page Intelligence helps retailers maximize page-level value by balancing organic and sponsored products across placements using a unified scoring and policy layer.
The endpoint lets you:
- Send page context and organic candidates for placements that require holistic optimization.
- Receive multiple optimized placements, each with its own ranked list of products.
- Implement both product-level and placement-level beacons for measurement and model training.
Prerequisites
- The retailer is already integrated with Criteo Retail Media Delivery.
Page Intelligenceconfiguration and policy settings are set up with your Criteo team.- You can send a stable
retailerVisitorIdand relevant page context.
Recommendations
- Do not re-rank the products returned in each placement.
- Implement both product-level and placement-level beacons from the response.
- Include
organicSkusfor requests that use holistic optimization.
Endpoint Overview
Request Body
Top-level request object
OptimizeAdContext
The pageAdContext object uses a flat, composable structure. Each property can be included or omitted depending on the content and context needed for each ad request.
- Required for requests that use holistic optimization.
OrganicSku
RequestFilter
In and NotIn support multiple values. The other operators support a single value.
OperatorEnum
Sample Request
Response Body
The response supports multiple placements in a single response. Each placement has its ownformat, products, and placement-level beacons. The response uses a resource-style envelope with data.type and data.attributes.
Response overview
The
data object includes a type field set to "OptimizeData" and an attributes object containing the actual response payload.
OptimizeData
OptimizePlacement
OptimizeProduct
Placement-level beacons
StructuredBeacon
The placementonLoadBeacon returned from the /optimize endpoint is always a StructuredBeacon object — not a plain URL string. This format supports large payloads (up to 100 organic SKUs) by splitting the beacon into a base URL and a set of key-value parameters sent as the POST body.
Product-level beacons
Sample Response
Integration Notes
- Include the relevant page context and
organicSkusinpageAdContextfor page intelligence optimization scenarios. - Render each placement exactly as returned.
- Implement all beacons returned in the response. For placement
onLoadBeacon, fire the beacon usingnavigator.sendBeacon(url, data)whereurlisStructuredBeacon.urlanddatais thepayloadserialized asapplication/x-www-form-urlencoded. Ifnavigator.sendBeaconis not available, use aPOSTrequest with the same form-encoded body. - If using BeaconSDK, set
data-criteo-placement-onloadbeaconto theurlvalue and add onedata-criteo-placement-onloadbeacon-payload-[key]attribute per entry in thepayloadobject on the placement element. BeaconSDK handles thenavigator.sendBeacon(url, data)call automatically.