BidRequest.imp[]

Imp

One ad placement being auctioned. A request can carry several, and each is bid on independently.

Fields

FieldTypeLevelDescription
idstringrequiredIdentifier unique within this bid request.
bannerobjectconditionalRequired if a banner ad is offered.
videoobjectconditionalRequired if a video ad is offered.
audioobjectconditionalRequired if an audio ad is offered.
nativeobjectconditionalRequired if a native ad is offered.
pmpobjectoptionalPrivate marketplace deals available for this impression.
bidfloorfloatoptionalMinimum bid, as a CPM. Defaults to 0.
bidfloorcurstringoptionalCurrency of the floor. Defaults to USD.
secureintegeroptional1 if the impression requires HTTPS assets.
instlintegeroptional1 if the impression is interstitial or full screen.

Example

What matters in practice

The floor is a CPM in bidfloorcur, not a per-impression price, and the currency is easy to miss — a floor of 2.00 means very different things in USD and JPY. An Imp offering more than one of banner, video and native is offering the exchange a choice, not requiring all of them, which is why a request can look like video inventory and fill with display. If you are debugging why a deal never matches, the pmp object on the specific Imp is where to look rather than anything at the root.

Related objects

Field names, types and requirement levels from the IAB Tech Lab OpenRTB 2.6 specification (2.6-202211), verified 30 July 2026. The practice notes are not spec text.