-
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
getAdserverTargeting sometimes returns targets with adid from previous auctions #2676
Comments
Possible problem might be, that for targeting Prebid considering all received bids in all auctions, even those for which ads already rendered. Prebid.js 1.12.0 src/prebid.js:109
and src/targeting.js:72
and inside getBidLandscapeTargeting filtering is only done by the Highest CPM, applying this logic to already rendered ads also. So, in addition, it might be good to check the status = rendered.
another probably better idea might be - to have filtered bidsReceived, before applying the targetings.
in this case targeting.getBidsReceived will be used, which has a filter for unused bids: isUnusedBid src/targeting.js:180
|
@drdmitry Have pushed a branch with that change here https://github.com/prebid/Prebid.js/tree/getAdservertargeting-bugfix |
Thanks @drdmitry, @jaiminpanchal27, this solves the "negative yield" bug for us, as an already rendered ad is served multiple times, but paid only once. Additionally we still have a drop in impressions as described in #2648. |
@jaiminpanchal27 ran the "getAdservertargeting-bugfix" build seems to fix the problem but not the issue in #2648 Perhaps should consider changing core behavior for action functions? |
I opened this pull request a little while ago. To me it looks like Prebid is retrieving bids that have expired only. But obviously the tests then went berserk, and I thought... "this can't be right, I must be misunderstanding the logic here". So I closed it. But the more I test this version with prod data, the more it seems that this might be the solution. Does it work for anyone else? |
We also see this issue of rendering ads from previous auctions (on both 1.13 and 1.14). |
@jaiminpanchal27 will you include the branch as a regular pull for next release? |
@jaiminpanchal27 any plans to include an official pull? |
@mercuryyy It will be included in today's release |
#2685 related issue. |
@drdmitry Can you check if Prebid 1.15 has resolved your issue or not |
@jaiminpanchal27, Yes, issue is resolved. Thanks. |
Type of issue
Question
Description
pbjs.getAdserverTargeting() sometimes getting targetings with AdIds which were used in previous auctions (and Ad was rendered). How to use AdIds returned in the latest requestBids call ?
Steps to reproduce
When requesting bids multiple times using pbjs.requestBids, sometimes pbjs.getAdserverTargeting() call inside bidsBackHandler returns targeting with AdIds from the previous requestBids calls.
Test page
https://jsbin.com/xaruyupeku/edit?html,output
Open page, open console, click refresh button and check that targeting.adid is equals bid.adid
Expected results
pbjs.getAdserverTargeting() should return targetings with AdIds from the last requestBids call.
Actual results
pbjs.getAdserverTargeting() sometimes returns targetings with AdIds from the previous calls.
Platform details
Prebid.js 1.12.0
Other information
enableSendAllBids: true
The text was updated successfully, but these errors were encountered: