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

Prebid server adapter: consent information missing + conflict with site/app object #9333

Closed
JulieLorin opened this issue Dec 13, 2022 · 8 comments · Fixed by #9258
Closed
Assignees

Comments

@JulieLorin
Copy link
Collaborator

Type of issue

This is a bug

Description

We are using prebid server adapter and I think PR #8738 introduced a few bugs for us
We are settings the app object through pbjs.setConfig, and also an accountId in s2sConfig. With this setup, prebid server adapter will generate a request with both app object (from pbjs config) and site object (with the accountId from s2sConfig as publisher) which will be refused by prebid-server (because both app and site objects are defined)
Also, it seems that the consent is no longer sent to prebid-server. I noticed in the pull request all this code being deleted from prebid server adapter, but no mention of consent is made in the new ortbConverter file :
image

Steps to reproduce

Setup an app object and s2sconfig with an accountId => pbs adapter will generate a request with both app and site objects
We setup consent ourself using gdprDataHandler.setConsentData(consentData) and this works fine for all adapters, but no consent is present in the request generated by prebid server adapter

@bretg
Copy link
Collaborator

bretg commented Dec 13, 2022

The app/site aspect is related to issue #7329

@JulieLorin
Copy link
Collaborator Author

The app/site aspect is related to issue #7329

Indeed it looks very similar. On our side, we didn't have the issue with prebid.js 7.17.0 (I tried to search for existing issue but didn't look that long ago as this is a recent bug for us, that was not happening before the refactoring of #8738 with our set of parameters)

@dgirardi
Copy link
Collaborator

Could you provide steps to reproduce for the missing consent? (the logic has been moved here)

@JulieLorin
Copy link
Collaborator Author

Could you provide steps to reproduce for the missing consent? (the logic has been moved here)

Simply enable s2sConfig on some bidders, then set a gdprConsent using gdprDataHandler.setConsentData then run an auction (pbjs.requestBids).
There won't be any consent data in pbs payload :
image
The function setOrtbGdpr is not called

@dgirardi
Copy link
Collaborator

Are you working off a fork then? or how are you getting access to gdprDataHandler?

The ortbConverter changes were done assuming that consent would be set through the consent module. If you are doing something else, a workaround is to setConfig({ortb2: { / * regs and user.ext.consent */ }}) instead or in addition to calling gdprDataHandler. Please do let me know if I missed a public access point to the consent handler objects.

@dgirardi
Copy link
Collaborator

The first issue - malformed requests with both app and site - should be fixed with #9258

@JulieLorin
Copy link
Collaborator Author

Are you working off a fork then? or how are you getting access to gdprDataHandler?

The ortbConverter changes were done assuming that consent would be set through the consent module. If you are doing something else, a workaround is to setConfig({ortb2: { / * regs and user.ext.consent */ }}) instead or in addition to calling gdprDataHandler. Please do let me know if I missed a public access point to the consent handler objects.

We are working with prebid.js as a npm dependancy which allows us to get access to gdprDataHandler.
Thanks for the explanation (and for the coming fix), the workaround should do the trick for us !

@dgirardi
Copy link
Collaborator

I did miss the npm access! I'll have to think about it more, but for now, use anything that's not under the pbjs global at your own peril. I don't think it's feasible to keep compatibility with everything else, because it's a lot.

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

Successfully merging a pull request may close this issue.

3 participants