AdCOM Ad has no display, video, or audio subtype
bid.media.ad has none of the media subtype objects AdCOM requires.
What it means
An AdCOM Ad is the creative OpenRTB 3.0 returns in bid.media. display, video, and audio are required-star: at least one subtype has to describe the creative so the publisher can render it.
Why it matters
An ad with only an id is metadata without a creative. The publisher has nothing to stitch, and the bid cannot be rendered.
How to fix it
Add a display, video, or audio object under ad. A structured banner lives under ad.display; VAST markup lives under ad.video.adm.
Example that trips it
{ "openrtb": { "ver": "3.0", "domainver": "1.0", "response": { "id": "req-1", "seatbid": [{ "bid": [{ "id": "b1", "item": "1", "price": 1.0, "media": { "ad": { "id": "c1" } } }] }] } } }The Ad has an id and no subtype. AdCOM wants at least one of display, video, or audio.
Check your payload
Paste a bid request or response into the tester to see whether this code fires against it, or gate on the id in CI with the CLI: the id is stable, wording is not.
Back to the full diagnostic code reference.