Rule reference

The win price macro may appear once in adm and cannot appear in both adm and nurl.

openrtb.profile.bidswitch.impression_macroerrorBid response

The win price macro may appear once in adm and cannot appear in both adm and nurl.

What it means

The win price macro may appear once in adm and cannot appear in both adm and nurl. This check applies to the selected vendor contract and integration direction.

Why it matters

The declared profile checks the published partner contract alongside canonical OpenRTB. It does not verify runtime approval or account configuration.

How to fix it

Use the documented macro spelling and placement for this endpoint. Remove extra occurrences or unsupported contexts.

Example that trips it

{
  "id": "r",
  "seatbid": [
    {
      "seat": "buyer",
      "bid": [
        {
          "id": "b",
          "impid": "i",
          "price": 1.2,
          "burl": "http://buyer.example/bill?p=${AUCTION_PRICE}",
          "adomain": [
            "advertiser.example"
          ],
          "crid": "creative",
          "adm": "${AUCTION_PRICE}${AUCTION_PRICE}",
          "iurl": "https://buyer.example/preview"
        }
      ]
    }
  ],
  "ext": {
    "protocol": "5.7"
  }
}

Profile bidswitch, OpenRTB 2.6-202606. The fixture asserts openrtb.profile.bidswitch.impression_macro at seatbid[0].bid[0].adm.

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.