Rule reference

openrtb.schain.duplicate_location

warningBid request

What it means

The request carries a chain in both places: source.schain, which is where OpenRTB 2.6 put the object, and source.ext.schain, which is where it lived as a community extension before that.

Why it matters

The two copies can disagree, and receivers differ on which one they read. A request that verifies cleanly at one buyer can fail at the next, and a stale extension copy is a common way for a chain to keep naming a partner that was already removed from the canonical one.

How to fix it

Emit one chain. On 2.6 and later that is source.schain. Keep the ext copy only while a named partner still requires it, and generate both from the same source so they cannot drift.

Example that trips it

{ "source": { "schain": { "ver": "1.0", "complete": 1, "nodes": [] }, "ext": { "schain": { "ver": "1.0", "complete": 1, "nodes": [] } } } }

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.