This page has answers to some frequently asked questions about Prebid Server. If you don’t find what you’re looking for here, there are other ways to get help.
Nope. The only approval process is a code review. There are separate instructions for:
As for membership in Prebid.org, that’s entirely optional – we’d be happy to have you join and participate in the various committees, but it’s not necessary for contributing code as a community member.
?pbjs_debug=true
to the page URL.test: 1
in the stored request, or add debug=1
to the query string of Prebid Server’s AMP endpoint.test: 1
to the JSON.The original version of Prebid Server was the Go-Lang version. Rubicon Project ported it to Java because they had more Java talent than Go.
Both versions are live in production, and they are kept identical in external APIs and quite close in functionality. See https://github.com/rubicon-project/prebid-server-java/blob/master/docs/differenceBetweenPBSGo-and-Java.md for the list of differences.
There are no plans at this point to stop development on either version.
Just schedule a post-bid creative in the ad server.
pbjs.setConfig({
s2sConfig: {
...
},
app: {
bundle: "com.test.app"
},
device: {
ifa: "6D92078A-8246-4BA4-AE5B-76104861E7DC"
}
});
There are 3 answers here. The easy answer is for requests coming into Prebid Server from the Prebid SDK - there’s no concept of cookies there, so no syncing takes place in that scenario. ID in mobile is based on IDFA.
For other scenarios, Prebid Server sets up and manages a multi-vendor ID match table in the uids
cookie in the host company’s
domain. i.e. adnxs.com, rubiconproject.com, or whichever Prebid Server vendor you’re utilizing. When the user has a uids
cookie,
Prebid Server parses it and passes the vendor-specific IDs to the relevant server-side bid adapters.
Syncing in the AMP scenario uses the load-cookie.html file that’s part of
the Prebid Universal Creative package. When placed into an AMP-iframe, this file will call /cookie-sync and initiate a sync that
creates or updates the uids
cookie.
The most common source of requests for Prebid Server is from Prebid.js:
0) Assume that the user doesn’t have any cookies for the Prebid Server domain.
1) User loads a page with Prebid.js that’s going to call Prebid Server – i.e. the pub has set up s2sConfig.
2) Immediately after seeing that s2sConfig is setup, Prebid.js calls Prebid Server’s /cookie-sync
endpoint to initiate syncing
3) Prebid Server sees there no uids
cookie, so responds to the browser with a list of pixel syncs for bidders that need to be synced.
4) Prebid.js places all of the pixels on the page, but in the meantime, also initiates the auction.
5) Because the syncs haven’t completed yet, the auction call to Prebid Server doesn’t yet contain the uids cookie.
6) The first auction happens without IDs
7) At some point later, the pixels come back to Prebid Server through a /setuid redirect, setting (or updating) the uids
cookie.
8) The second page view will have the IDs available.
There’s a nuance here: the company that’s hosting Prebid Server can configure it to read and utilize their exchange’s native cookie. i.e. if you’re using Rubicon Project’s Prebid Server, it can read their ‘khaos’ cookie, and if you’re using AppNexus’ Prebid Server, it can read their ‘uuid2’ cookie. In other words, if the host company is an exchange and the user has the exchange cookie, the host company will have an ID one page-view sooner than the other bidders. This gives a slight edge to the hosting company in some scenarios, but it’s technically unavoidable and better for both buyers and sellers to have one ID available rather than zero.