Rule reference

SKAdNetwork extension is missing a documented field

openrtb.skadn.field_requirederrorRequest or response

imp.ext.skadn or bid.ext.skadn is present but lacks a field the IAB SKAdNetwork OpenRTB extension requires.

What it means

On the request, versions (or the deprecated version string), sourceapp, and either skadnetids or skadnetlist.max/addl are required. On the response, version, network, itunesitem, and sourceapp are required; SKAdNetwork 4+ needs sourceidentifier, 3.x and below need campaign; fidelities each need nonce, timestamp, and signature (or the 2.0/2.1 top-level equivalents).

Why it matters

A partial skadn object cannot be signed. Apple's loadProduct() fails, the install is unattributed, and loss reason 214 (invalid SKAdNetwork) is the exchange's report of the same defect.

How to fix it

If you signal SKAdNetwork, send the full documented object. If the inventory cannot do SKAdNetwork, omit ext.skadn entirely.

Example that trips it

{ "imp": [{ "id": "1", "banner": { "w": 300, "h": 250 }, "ext": { "skadn": {} } }] }

ext.skadn is present and empty. versions, sourceapp, and an id list are required.

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.