How do currencies work in an OpenRTB bid request?
Answer
Three fields control currency, all using ISO 4217 alpha codes. BidRequest.cur is an array of currencies the exchange accepts for bids, recommended only when the exchange accepts more than one. imp.bidfloorcur states the currency of that impression's floor and defaults to USD; it does not inherit from anywhere, and per-deal floors in pmp.deals[].bidfloorcur likewise default to USD rather than inheriting from the Imp. On the response side, BidResponse.cur declares the bid currency and also defaults to USD. Mismatched floor and bid currencies are a classic source of silently lost auctions.
Fields in this answer
| Field | Type | Since | Status in 2.6 |
|---|---|---|---|
imp.bidfloorcur | string | 2.0 | Current |
pmp.deals | object array | 2.2 | Current |
Go deeper
More questions on openrtb basics and the bid request
- What is OpenRTB? OpenRTB is the IAB Tech Lab standard that defines the JSON messages ad exchanges and bidders use to buy and sell impressions in real time.
- How does a real-time bidding auction work end to end? A user loads a page or app, the publisher's ad system asks an exchange to sell the impression, and the exchange sends an OpenRTB BidRequest over HTTP POST to many bidders at once.
- What's the difference between OpenRTB and Prebid.js? OpenRTB is a wire protocol; Prebid.js is a piece of software.
- Is header bidding the same as OpenRTB? No.
- What's the difference between an SSP, a DSP, and an ad exchange? From the protocol's point of view there are only two roles: the supply side sends OpenRTB bid requests and runs the auction, and the demand side receives them and bids.
- What is a bid request in programmatic advertising? A bid request is the JSON message an exchange sends to bidders to offer one or more impressions for sale.
All 93 questions are listed in the OpenRTB FAQ.