Rule reference

The Google deal's non-empty billing_id list does not offer the selected billing ID.

openrtb.profile.google.deal_billing_id_not_offerederrorRequest/response pair

The Google deal's non-empty billing_id list does not offer the selected billing ID.

What it means

The Google deal's non-empty billing_id list does not offer the selected billing ID. 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 an option offered by the matching request. Check the request and response together at the reported path.

Example that trips it

Request:
{
  "id": "req-depth",
  "imp": [
    {
      "id": "1",
      "banner": {
        "w": 300,
        "h": 250
      },
      "ext": {
        "billing_id": [
          "123",
          "124"
        ]
      },
      "pmp": {
        "deals": [
          {
            "id": "d1",
            "ext": {
              "creative_constraints": {
                "mtypes": [
                  1
                ]
              },
              "billing_id": [
                "124"
              ]
            }
          }
        ]
      }
    }
  ]
}

Response:
{
  "id": "req-depth",
  "seatbid": [
    {
      "bid": [
        {
          "id": "bid-1",
          "impid": "1",
          "price": 1,
          "adomain": [
            "test.invalid"
          ],
          "dealid": "d1",
          "mtype": 1,
          "ext": {
            "billing_id": "123"
          }
        }
      ]
    }
  ]
}

Profile google-ab, OpenRTB 2.6-202606. The fixture asserts openrtb.profile.google.deal_billing_id_not_offered at seatbid[0].bid[0].ext.billing_id.

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.