Prebid allows publishers to supply attributes related to their content and users, and to apply permissions so only certain bidders are allowed to access those attributes.
These conventions aren’t implemented by all adapters. Please check with each of your bidders to make sure they’re reading first party data from the standard Prebid locations.
Here’s a summary of how first party data (FPD) works:
This diagram shows a page that can provide:
The Prebid First Party Data JSON structure reflects the OpenRTB standard.
Arbitrary values should go in fpd.context.data or fpd.user.data. Fields
that are meant to be standard OpenRTB 2.5 values should be in fpd.context or fpd.user. Specfically, the standard values for
site are: name, domain, cat, sectioncat, pagecat, page, ref, search, keywords. For
user these are: yob, gender, keywords.
‘Context’ corresponds to the OpenRTB ‘site’ object.
Here’s how a publisher can let all bid adapters have access to first party data that might be useful in ad targeting:
Note that supplying first party user data may require special consent in certain regions. Prebid does not police the passing of user data as part of its GDPR or CCPA modules.
If an attribute is specific to an AdUnit, it can be passed this way:
Prebid does not support AdUnit-Specific user data.
setBidderConfig() function to supply bidder-specific data. In this example, only bidderA and bidderB will get access to the supplied
Applying permissions to AdUnit-specific First Party Data has to be done manually by using an event handler – pbjs.onEvent(‘beforeRequestBids’, function())
To access global data, a Prebid.js bid adapter needs only to call
getConfig(), like this:
AdUnit-specific values must be parsed out of the AdUnit object.
The assumption is that bid adapters will copy the values to the appropriate protocol location for their endpoint.
See Prebid Server First Party Data for a discussion of this feature for Prebid Server bid adapters.