Skip to content
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 has types which are incompatible with the OpenRTB types #5415

Closed
sbrosinski opened this issue Jun 24, 2020 · 7 comments
Closed
Assignees

Comments

@sbrosinski
Copy link
Contributor

Type of issue

Enhancement

Description

So the docs for how to configure first party data states:

"The First Party Data JSON structure reflects the OpenRTB standard. Keywords, search, content, gender, yob, and geo are special values in OpenRTB."

The adapter I'm working on talks to an OpenRTB based bidder. My initial assumation based on the examples given was, that I can just call e.g. config.getConfig('fpd.user') and assign all keys from that object to the user node in my OpenRTB bid request, since I would like to have gender, yob, etc. if available.

Expected results

Since the keys look like they match the OpenRTB keys for the bidRequest.user and bidRequest.site object I was assuming the values also match the expected values in OpenRTB, which is not the case.

For example keywords in the Prebid.js fpd.user object is shown as an array of strings, while OpenRTB asks for a string with comma seperated values. Yob is shown as a string, OpenRTB expects an integer.

What I find unclear is, which values fpd.context and fpd.user actually allow. Explicitly only keywords, search, content, gender, yob, geo and data? Would the complete geo object be supported?

And do the values types in the examples (e.g. as described in #3687 (comment) or http://prebid.org/dev-docs/publisher-api-reference.html#setConfig-fpd) is what is expected from the publisher and adapters which need those values for OpenRTB requests need to convert them?

That's the approach I chose for our adapter. But now I have to look at each key I want to support, check if it's there, convert from e.g. string to int, in order to build my OpenRTB bid request.

@bretg
Copy link
Collaborator

bretg commented Jun 30, 2020

@sbrosinski - sorry for the confusion. This is mostly just a docs issue. I fixed yob (type is integer) and keywords (type is comma-separated string)

which values fpd.context and fpd.user actually allow. Explicitly only keywords, search, content, gender, yob, geo and data?
Would the complete geo object be supported?

Within Prebid.js, First Party Data is entirely convention:

  1. the idea is the OpenRTB attributes go into the root level (keywords, search, content, gender, yob, geo and data)
  2. all others go into context.ext.data or user.ext.data
  3. it's up to each bid adapter to read the FPD values and do the right thing

Things get a little harder when it comes to Prebid Server. The PBS bidAdapter copies all fields of fpd.context and fpd.user. There will be a few rules applied when they hit Prebid Server:

  1. Data types are checked
  2. Bidder permissions can wind up removing fpd.context.ext.data and fpd.user.ext.data. So if you have sensitive items that shouldn't go to all bidders, don't put them outside of *.ext.data.

You're welcome to comment on the Prebid Server First Party draft. https://docs.google.com/document/d/1I2eS40yMYJCgz8XvFljf4f59bEPsbWTrUpnD7a7uJEg/edit

I guess we need a separate page describing the FPD conventions. Will put that on my to-do list. Re-working the PBS docs for the next few weeks.

@bretg bretg self-assigned this Jun 30, 2020
@sbrosinski
Copy link
Contributor Author

sbrosinski commented Jun 30, 2020

@bretg thank you for the explanation. I requested access to the Prebid Server First Party google doc.
We're also in the process of implementing fpd handling for a prebid-server adapter, so I have seen both sides now.

I guess good docs are really needed also for the publisher. I'm not validating the root level attributes and depend on the publishers to configure the correct values/types. Once I gained some more experience with it, I'm happy also contributing to the docs.

One more comment on the current attributes: OpenRTB differentiates between user.geo and device.geo. I'm assuming the root level geo from 1. will become part of user.geo. Maybe we can make clearer which geo data Prebid expects here.

@bretg
Copy link
Collaborator

bretg commented Jun 30, 2020

Would certainly appreciate any help you can offer with documentation @sbrosinski .

  • device.geo isn't part of the Prebid FPD feature
  • I'm surprised user.geo is of interest in the Prebid.js context. Would think very few websites have that data. Expected it to be of more interest in a mobile scenario.
  • Would advise publishers to be careful to specify only non-precise geo attributes or they'll need to deal with the privacy implications.

@stale
Copy link

stale bot commented Jul 18, 2020

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.

@stale stale bot added the stale label Jul 18, 2020
@bretg bretg removed the stale label Jul 18, 2020
@stale
Copy link

stale bot commented Aug 1, 2020

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.

@stale stale bot added the stale label Aug 1, 2020
@bretg bretg removed the stale label Aug 2, 2020
@stale
Copy link

stale bot commented Aug 16, 2020

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.

@stale stale bot added the stale label Aug 16, 2020
@stale stale bot closed this as completed Aug 23, 2020
@bretg
Copy link
Collaborator

bretg commented Nov 16, 2020

Followups:

  • There is a Prebid doc now, and the example there shows the recommended data types for standard openRTB fields. PBJS does not do any validations. https://docs.prebid.org/features/firstPartyData.html
  • We're discussing geo in a separate forum. There is concern about Personally Identifiable Information in the new climate of privacy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants