What are the timeouts on Prebid?

Weili Dai
Making Gumtree
Published in
3 min readJan 10, 2019

Recently a colleague asked me why is it that I said our Prebid setup has a 1500ms timeout but engineers from our partners are saying our Prebid has a config of 3000ms?

I had a brief read of the Prebid documentation today and found the answer.

Basically there are two timeouts used by the Prebid.js library:

  • Request Timeout — set at 1500ms on gumtree.com
  • Bidder Timeout — set to the default 3000ms on gumtree.com (see console output for pbjs.getconfig()._bidderTimeout below. Though I didn’t find a way to get the Request Timeout value from pbjs)
Bidder Timeout when default

I did some experimentation to find out exactly what these timeouts control.

By default, on gumtree.com there are these 7 bidders when you inspect with the Headerbid Expert Chrome Extension.

Default (Request Timeout 1500ms, Bidder Timeout 3000ms)

Request Timeout experiment

I deliberately set the Request Timeout to a very restrictive 100ms from the original 1500ms. After doing that, it seems to have filtered out most of the bidders taking longer than 100ms.

Setting Request Timeout to 100ms

Although IAS took 103ms and still made it through. This is because JavaScript timeout is not guaranteed.

Explanation from prebid.org

Bidder Timeout experiment

I deliberately set the Bidder Timeout to a very restrictive 100ms. But this doesn’t seem to have any effect on the number of bidders, even though some bidders were taking way longer than 100ms, like Index (459ms) and Pubmatic (348ms).

Setting Bidder Timeout to 100ms
Proof that Bidder Timeout is indeed set at 100ms

I even set the Bidder Timeout to 1ms, just to make sure. And the same number of bidders returned.

Setting Bidder Timeout to 1ms

I also checked the DFP request to see if bids were passed to DFP, despite the bidders exceeded their timeout.

Bidders and bids were passed to DFP

I suspect this Bidder Timeout is a guideline figure given to the bidders for themselves to obey. But I wouldn’t be surprised if bidders don’t obey this optional guideline. After all, who would give up a revenue opportunity if competitors don’t do it!

Conclusion

So there you have it. If you want to set a timeout for Prebid, use Request Timeout. The Bidder Timeout value has no effect.

--

--