-
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
Bid response times are sometimes wrong #643
Comments
@troels-jakobsen |
@troels-jakobsen |
@mkendall07 @troels-jakobsen I have the same issue (I'm trying to fix many things, but it's getting harder and harder!). In fact, when you have no bids at all (or if you set them to 0 with a floor price setting), then Then when you hit @mkendall07 why do we keep all bids after the timeout expired or all bids are back? I don't understand this scenario, as every auction is separated from the other ( |
In fact I think there's a missing piece here: when a bid comes back from a bidder, we don't have anything to match it against the _bidsRequested. Suppose you send out an auction, and a bidder doesn't answer in time, there's the timeout. Then the second auction starts... and the bidder finally answers: how can we know the bid is associated with the first auction and not the second? We just can't use bidderCode (can be in both auctions), adId can be a random value, and... that's all we have! If we add the requestId, then we can ignore timed-out bids, we can then totally remove Can you just confirm me that Prebid never launches more than one auction at a time? If so, there's a lot of work to do (every adapter must be fixed!), but that would be far more easier in the future. |
Another option (but requestId should be the way to go, including for people who reload ads in the same zone), is to create separate _bidsRequested for each adUnitCode. So that we can find the real number of bids, depending on adUnitCodes. I'll give it a try in 8 hours or so... |
Hooray! Build successful. #700 |
@dugwood |
@mkendall07 the single auction seems good to me (had a lot of timeouts with multiple auctions from multiple bidders at the same time, along with all the images & static stuff loading on the page). |
#736 will return the relevant bid by matching bidder and ad unit code. Please let us know if this resolves the issue you are seeing. If it is not resolved reopen ticket with additional info. |
In addBidResponse() the bid response time is calculated as:
bid.timeToRespond = bid.responseTimestamp - bid.requestTimestamp;
... where bid.responseTimestamp is just set to Date.now(), and bid.requestTimestamp is found using getBidSetForBidder().
However, for some reason getBidSetForBidder() is sometimes unable to find the relevant bid and therefore returns an empty bid having requestTimestamp = 0. This results in bid.timeToRespond becoming the same as Date.now().
For instance, in my GA log for Sep 14 2016 I have a total response time = 1473859474633 for 1 bid.
Sep 14 2016 is (roughly) the same as new Date(1473859474633).
Likewise, for Sep 13 2016 I have a total response time = 17685185954321.
This is 12 occurrences of Sep 13 2016 dates.
The problem occurs with all of my adapters (adform, rubicon, pubmatic), using prebid 0.12.
The text was updated successfully, but these errors were encountered: