Bid.adm
The ad markup, sent in the bid so the exchange can serve it if the bid wins: HTML for banners, a VAST document for video and audio, or a native response for native. If both adm and the win notice supply markup, adm takes precedence.
Field facts
- Path
seatbid.bid.adm- Object
- Bid
- Type
- string
- Requirement
- Optional
- Added
- OpenRTB 2.0
- Spec section
- 4.2.3
How it is used
Markup in the bid avoids an extra HTTP call after the win, which lowers the risk of forfeiting a won impression. The exchange substitutes macros inside the markup as well as in notice URLs. Native markup goes in as a JSON-encoded string, encoded exactly once. Declare what the markup is in Bid.mtype.
Example
Where the field sits in a payload, with everything else left out:
{
"seatbid": [
{
"bid": [
{
"adm": "<a href='https://brand.example/'><img src='https://cdn.dsp.example/cr-5521.png' width='300' height='250'></a>"
}
]
}
]
}Common mistakes
- Native JSON encoded twice, so
admdecodes to another string (openrtb.bid.adm.double_encoded). - A URL to a VAST file instead of the VAST XML itself (
openrtb.bid.adm.not_markup). Put the document inline, or serve it throughBid.nurl. - Markup that contradicts
Bid.mtype, such as HTML on a video bid (openrtb.bid.adm.markup_type_mismatch).
Version history
Added in OpenRTB 2.0, 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.0 to 2.2 | string | No | No |
| 2.3 to 2.6-202606 | string | No | No |
Related fields
Other Bid fields
adidadomainapiapisattrbundleburlcatcattaxcidcriddealiddurexpexthhratioidimpidiurllangblanguagelurlmtypenurlpriceprotocolqagmediaratingslotinpodtacticwwratio
For a walkthrough of the whole object, read Bid response anatomy.