-
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
Id Modules: not respecting publisher configuration #10710
Comments
These are ID modules that use storage directly (grepping for
|
We can see id modules, as noted in the example above, violating the publisher parameter choices for storage.type listed at For example, panoramasets the cookie when the publisher chooses html5. This means it is operating outside of how it is configured and documented to behave and is a bug we need to fix. |
I propose we boot all id modules doing this in Prebid 9. @jdwieland8282 let's talk about it in committee? |
@patmmccann LiveRamp user id module respects the publisher settings in |
Hello @patmmccann
Do you have an example showing how the storage configuration can be retrieved from a bidder adapter? |
Might be too ambitious for prebid 9? what do you think @lcorrigall @dgirardi |
You could take it as a bidder param potentially? |
I don't think we should boot the modules who are out of compliance. If we include it in pb 9 what does that practically mean? |
If being removed in pb9 , publishers that use those id modules would not upgrade, until the adapter has been resubmitted. I'm actually in favor of removing ( booting? ) the modules that do not comply. We had issues with cookie headers being too large and when the storage settings are ignored, this may cause frustration. |
Committee discussion result: we should subset the above list to those that are writing outside of the configured location, not reading outside of configuration. |
Only thing to do for 9 will be to add doc warnings for adapters using set methods from storage manager. "This adapter writes to device storage and may not follow the configuration set by the publisher. A future version of Prebid may disallow this behavior." We also need to compile the actual list. As @danielsao points out, their write is of a different value, not the id returned. |
Let me know how I can help compiling the list. |
Checking the above list for writes: Prebid.js/modules/adqueryIdSystem.js Line 114 in dbf9817
Prebid.js/modules/adriverIdSystem.js Line 73 in dbf9817
Prebid.js/modules/connectIdSystem.js Line 58 in dbf9817
Prebid.js/modules/dacIdSystem.js Line 94 in dbf9817
Prebid.js/modules/hadronIdSystem.js Line 104 in dbf9817
Prebid.js/modules/id5IdSystem.js Line 433 in dbf9817
Prebid.js/modules/imuIdSystem.js Line 71 in dbf9817
Prebid.js/modules/teadsIdSystem.js Line 79 in dbf9817
Prebid.js/modules/merkleIdSystem.js Line 41 in dbf9817
Prebid.js/modules/mwOpenLinkIdSystem.js Line 106 in dbf9817
Prebid.js/modules/naveggIdSystem.js Line 33 in dbf9817
Prebid.js/modules/quantcastIdSystem.js Line 52 in dbf9817
Intentiq is unique, they always write to local storage, but check for cookie config. If the pub prefers only cookies, they should honor that: see both Prebid.js/modules/intentIqIdSystem.js Line 74 in dbf9817
Prebid.js/modules/intentIqIdSystem.js Line 128 in dbf9817
As @danielsao points out, Liveramp is not respecting publisher choices on other things they are writing to storage, not the id Prebid.js/modules/identityLinkIdSystem.js Line 141 in dbf9817
These appear to be bugs, as 'both' is now an option Prebid.js/modules/uid2IdSystem_shared.js Line 685 in dbf9817
Prebid.js/modules/ftrackIdSystem.js Line 178 in dbf9817
|
How does this text sound for our docs repo?
|
@dgirardi can you find a module that respects the |
Yandex recently simplified their submission to conform See |
Is it ok if in our user module, when we do a server call to get an ID, in the response we set cookie with given ID? Or we would need to require cookie storage/not set the cookie when our module is configured to use only If we have an option to use external module through explicit module configuration parameter, does the external module also should respect prebid storage configuration or it's enough if we add to the description that the external module uses some additional storage regardless of what's set in prebid storage type? (Asking here instead of separate issue as it's related and may help others) |
Your response set cookie header is no problem. The problem is if your js sets a cookie in the first party context when the publisher directed you to use local storage for the first party. For the external module, why would you want to ignore your customers instructions? it's not very friendly to them. We can't police the external js activity, but I do not recommend you set first party cookies when pubs ask you not to. They may have good reasons, respect your customers. |
Thanks @patmmccann , for some reason I missed the fact that Prebid indeed can set first party cookies. We do not store any first party cookies in external module, and submitted the fix to the storing on prebid side in this MR: #11965 |
I heard offline from Mediawalla and Lotame that they have fixed their modules, can anyone confirm? |
Mediawallah's fix #12149 |
As a Lotame representative, I can tell you that work has been prioritized and planned for Q4 but not yet completed. Is there a deadline for when this change needs to go live? I tried to find a schedule posted for "10.0 API Change" timing, but was unsuccessful. |
Type of issue
Bug
Description
https://docs.prebid.org/dev-docs/modules/userId.html
shows publishers can choose where to set storage, but several modules ignore eg Verizon
Prebid.js/modules/connectIdSystem.js
Line 45 in 015f12b
Lotame appears to not have this setting available and just sets both
Prebid.js/modules/lotamePanoramaIdSystem.js
Line 45 in 015f12b
LiveRamp appears to not use the parameter for html5 or cookie but instead has an additional proprietary parameter that seems related
Prebid.js/modules/identityLinkIdSystem.js
Line 122 in 015f12b
Feature to add: allow a new publisher configuration option which prevents submodules from writing to storage, so that only userid is responsible for writing and persisting the identifier coming back from the submodule.
The text was updated successfully, but these errors were encountered: