Bid adm markup does not match the imp's media types
The markup sniffed from adm does not match any media subtype the referenced Imp offers.
What it means
Classifying what is actually inside adm (HTML, VAST XML, native JSON), the markup matches none of the media types the referenced Imp offers. This fires even when mtype is absent or lying, because it inspects the payload itself.
Why it matters
This is the deepest form of the wrong-creative bug: the declaration layer can be fooled, but the markup is what the player will choke on. Catching it at validation time is the difference between a rejected bid and a billed impression that never rendered.
How to fix it
Return markup that matches an offered media type of the imp you reference, and declare it honestly in mtype. When this fires alongside impid or mtype findings, fix the id mapping first; wrong-imp references cascade into wrong-markup findings.
Example that trips it
// request: banner only
{ "imp": [{ "id": "1", "banner": { "w": 300, "h": 250 } }] }
// response: VAST markup
{ "seatbid": [{ "bid": [{ "impid": "1", "adm": "<VAST ...>" }] }] }The markup in adm is a media type the imp never offered. The bid may be internally consistent and still be unservable in the slot it won.
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.