-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
First Party Data Module #6099
Comments
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Will the output of this module follow the spec described in #5795 ?
|
@mmoschovas - a suggestion came in today that rather than trigger this behavior on AUCTION_INIT, perhaps it makes more sense to trigger on setConfig({ortb2}) -- this way RTD module additions that come after the first auction would verified as well. Maybe we wouldn't need the refresh function at all if we can do that. |
Just added req 13 covering openrtb field validations. At this point I've chosen to only validate the top level site and user attributes. If we go to the second level (content, publisher), there would be an additional 30-something type validations. Before we go that far, want community confirmation that bloating this module with so many ortb checks is worthwhile. |
Discussed in the PBJS committee meeting:
As for AUCTION_INIT vs setConfig, I'm going to propose we stick with AUCTION_INIT: the purpose of the validations is to validate pub-entered data. We do not expect RTD modules to require validation -- they will be coded correctly or fixed. |
In general this is a really exciting development. I think we can add validations or pre-populations in future pull requests so that this can move forward with a minimum viable state. For example, it seems floc might be appropriate to pull (see #6510 ) and put in the ortb2 object using this module. This appears to be a drastic measure
User segments are potentially out of scope of the opt out, or the opt out might be quite specific. Also, the floc is designed to be privacy preserving, it and other privacy preserving id's will likely be here.
This one I am worried could break some things, if publishers start receiving bids in a new currency from a partner suddenly, it might require them to unwind some logic, for example, perhaps they are setting a floor in dollars and ad server currency is yen, is this potentially breaking? Ad unit specific logic: Perhaps a topic for another PR, but adding interstitial or outstream to ad units could be really helpful, validating video ad unit open rtb params could be really helpful. |
@mmoschovas - based on Patrick's feedback, please update #6452 to not set cur or support optout for now. I've added flags to requirements 6 and 9 above to take them out of the initial release. |
Occasionally it seems people want country, for example #6516 and in the PBS meeting today. I propose we resolve device.geo.country with the map of |
We've discussed in the Taxonomy committee and propose splitting this module into the component functionalities:
The validation functionality consumes about 1KB of code but may not be something pubs need to run in production. Some pubs may prefer to use the validation module only in a test mode. |
Updated description to keep up with the changes made in the PR to make enrichment and validation two separate modules. |
These have been released. |
Type of issue
Module proposal
Description
If the First Party Data (FPD) revision in #5795 is approved, we propose adding modules that perform a number of FPD additions and validations.
In order to provide a consistent set of first party data, we propose two new modules that performs the following general functions:
Enrichment Actions:
merge page referrer into global ortb2.site.ref from getRefererInfo().referer, obsoleting the need to read the bidRequest.refererInfo. Existing values take precedence.
merge page into global ortb2.site.page from getRefererInfo().canonicalUrl. Existing values take precedence.
parse domain out of getRefererInfo().canonicalUrl and merge into global ortb2.site.domain. Existing values take precedence.
set ortb2.device.h and ortb2.device.w from the physical device's height and width if they're not already specified
REMOVED FROM INITIAL RELEASE - set ortb2.cur from getConfig({currency.adServerCurrency}) if it's not already specified
Validation Actions
Parse ortb2 and verify there aren't any imp[] objects specified. If there are, remove them and log a warning.
Parse the ortb2.site.content.data and ortb2.user.data arrays for validation. This should include the global ortb2 as well as ortb2 specified in setBidderConfig.
No validations are done on AdUnit-specific FPD.
The following OpenRTB field validations should be performed on global and per-bidder ortb2. If any of them fails, remove the field from the ortb2 data and log a console error.
Other Actions
REMOVED FROM INITIAL RELEASE - if the _pubcid_optout localstorage or cookie are defined, then the module should remove the entire ortb2.user object.
It would be good if module supported an optional config to turn off the validations and/or enrichments:
The proposed integration model is that this module only runs at two times
The text was updated successfully, but these errors were encountered: