Pmp.deals
Array of Deal objects, one per deal the impression is available under. In OpenRTB 2.2 the entries were documented as Direct Deals objects; 2.3 renamed them Deal and kept the same fields.
Field facts
- Path
imp.pmp.deals- Object
- Pmp
- Type
- object array
- Requirement
- Optional
- Added
- OpenRTB 2.2
- Spec section
- 3.2.11
How it is used
Each entry carries its own floor, currency, auction type, and buyer restrictions, so one impression can sit in several deals with different terms at once.
Example
Where the field sits in a payload, with everything else left out:
{
"id": "req-1",
"imp": [
{
"pmp": {
"deals": [
{
"id": "DEAL-2026-0142",
"bidfloor": 12,
"bidfloorcur": "USD",
"at": 1,
"wseat": [
"seat-417"
]
}
]
}
}
]
}Common mistakes
- Sending a single deal object instead of an array.
- A bid whose
Bid.dealidis not in this array. The validator warns with openrtb.bid.dealid_unknown, since deals arranged outside the request do exist.
Version history
Added in OpenRTB 2.2, and present in the latest snapshot. The table shows how each version's spec text types the field.
| Versions | Type in the spec | Required | Deprecated |
|---|---|---|---|
| 2.2 | array of objects | No | No |
| 2.3 to 2.3.1 | object array | No | No |
| 2.4 | object array | No | No |
| 2.5 to 2.6-202606 | object array | No | No |
Versioned rules that name this field
openrtb.2.2.pmp.dealsOpenRTB 2.2 expanded private-marketplace deal handling.
Related fields
Other Pmp fields
For a walkthrough of the whole object, read Deals and PMP.