prebid / prebid-server

Open-source solution for running real-time advertising auctions in the cloud.
https://prebid.org/product-suite/prebid-server/
Apache License 2.0
425 stars 720 forks source link

Major protocol change -- move bidders to imp[].ext.prebid.bidder #1478

Closed bretg closed 1 year ago

bretg commented 4 years ago

The Prebid Server Committee proposes fixing a design flaw from the original Prebid Server:

Request bidder data is currently in imp[].ext.BIDDER. This makes bidder code validations difficult because there may be other attributes in imp[].ext

We propose beginning to shift bidder data to imp[].ext.prebid.bidder.BIDDER. PBS-Go already supports this. Once PBS-Java supports it, we would do the following:

1) update PBJS's pbsBidAdapter to place bidder data in the revised location 2) update documentation for storedrequests and storedresponses so host companies start placing the bidder data in the revised location 3) wait a year and see whether there's stomach to start warning about the original location 4) wait another year and consider dropping the original location. It will probably take at least that long for people to get off older versions of PBJS.

SyntaxNode commented 4 years ago

For now, I opened https://github.com/prebid/prebid-server/pull/1479 to add a special case in PBS-Go for parsing imp[].ext.context for the first party data feature and not as a bidder. As a consequence, PBS-Go will not allow 'context' as a bidder/adapter name.

laurb9 commented 4 years ago

Our mobile team also pointed out the proposed new ext imp[].ext.skadn which, if approved, will need similar treatment. https://github.com/InteractiveAdvertisingBureau/openrtb/blob/c1cec6089b880e5c76c2d9647367a526e4f7d747/extensions/community_extensions/skadnetwork.md

The SDK I expect might take longer to propagate under normal circumstances, but significant change like this could trigger a sea change to take advantage of.

bretg commented 3 years ago

This has been done in PBS-Java now. We'll wait a couple of months and then update the PBJS PBS bidadapter to make use of it.

SyntaxNode commented 2 years ago

Discussed in the Prebid Server Committee we will be changing the PBJS side to use the new location starting in version 7.0.

dgirardi commented 2 years ago

Validation error messages refer to the "old" location. I get this:

Invalid request: request.imp[0].ext.appnexus failed validation. (root): Must validate one and only one schema (oneOf)(root): Must validate one and only one schema (oneOf)(root): placementId is required

with this request (to https://prebid.adnxs.com/pbs/v1/openrtb2/auction)

{
  "id": "afe6e9b4-c1ff-490e-b219-b73239f153e3",
  "source": {
    "tid": "af03b69f-b5ca-4d62-b0ea-6d5be08540bb"
  },
  "tmax": 10000,
  "imp": [
    {
      "ext": {
        "data": {
          "adserver": {
            "name": "gam",
            "adslot": "/19968336/header-bid-tag-0"
          },
          "pbadslot": "/19968336/header-bid-tag-0"
        },
        "gpid": "/19968336/header-bid-tag-0",
        "prebid": {
          "bidder": {
            "appnexus": {
              "use_pmt_rule": false
            },
            "rubicon": {}
          }
        }
      },
      "id": "div-gpt-ad-1460505748561-0",
      "banner": {
        "format": [
          {
            "w": 728,
            "h": 90
          },
          {
            "w": 300,
            "h": 250
          }
        ]
      }
    }
  ],
  "test": 0,
  "ext": {
    "prebid": {
      "auctiontimestamp": 1654280199745,
      "targeting": {
        "includewinners": true,
        "includebidderkeys": false
      },
      "channel": {
        "name": "pbjs",
        "version": "v6.29.0-pre"
      },
      "debug": true
    }
  },
  "site": {
    "publisher": {
      "id": "1"
    },
    "page": "http://dgirardi.prebid.org:9999/integrationExamples/gitignored/prebidServer_example.html"
  },
  "device": {
    "w": 1920,
    "h": 215
  }
}
bretg commented 1 year ago

Discussed in committee. We'll leave this issue open until the debug/warning/error messages are updated in both platforms.

bretg commented 1 year ago

This warning doesn't exist in PBS-Java. Closing.