-
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
Prebid Server Adapter local storage issue affecting /cookie_sync #1582
Comments
thanks for the bug report. We can store sync flag in the localstorage namespace of the endpoint for the problem of multiple instances of prebid server if that makes sense. Although I'd think the cookies should probably be shared (technically not feasible with cookie but might be with localstorage). I'd propose fixing in 2 steps, the first fix being to make sure everything is synced and then the 2nd being handling multiple instance of PBS. |
* fix for #1582 * fixed typo and add unit tests
* fix for prebid#1582 * fixed typo and add unit tests
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. |
* fix for prebid#1582 * fixed typo and add unit tests
Type of issue
Bug
Description
Under certain conditions, the Prebid Server Adapter code is improperly skipping the send of /cookie_sync requests. The /cookie_sync request does appear to have a solid impact on cookie match rate based on a limited data set.
The main impact here is that the current design will affect users who hit web sites using different clusters of Prebid Servers.
The code in question is in prebidServerBidAdapter.js:
So /cookie_sync isn't sent in two scenarios:
I ran into this when I had 2 bidders in localStorage (rubicon and appnexus), and 2 bidders in an AdUnit -- rubicon and a different bidder (not appnexus). Didn't see cookie_sync go out, despite there not being a uids cookie. The code is taking a shortcut here by comparing list length rather than a deep comparison. Also, it doesn't seem right that it's comparing the the pbjsSyncs list with the bids in the AdUnits -- should be comparing the bidders configured for S2S.
But more importantly, the design doesn't currently consider that a single domain might hit two clusters of Prebid Servers (e.g. A/B mode), or change from one cluster to another. In that scenario, the page will suppress /cookie_sync, which has a noticeably positive effect on user ID match rates.
Steps to reproduce
Expected results
The /cookie_sync request should go out because the uids cookie is empty.
Actual results
/cookie_sync won't go out because there are two entries in pbjsSyncs localStorage and and two bidders in the AdUnit
The text was updated successfully, but these errors were encountered: