Timeouts Simplified: How to avoid falling into the Dual Timeouts Trap

Posted by Asmaa Bentahar on
What is the timeout conflict trap?

When it comes to timeouts, there is a specific faulty configuration that can lead to a substantive loss of revenue. On some setups, a second timeout is used on top of the Prebid Timeout: the Failsafe Timeout.

This Failsafe Timeout is meant to activate in case Prebid encountered a loading issue. An example can be found on Prebid’s quick start page. It usually looks something like this:

setTimeout( function() {


}, failsafeTimeout )


If reached, it immediately shuts down the Prebid auction, without waiting for a winningBid to be selected, and directly hands the opportunity over to the adServer, usually with an empty adServerTargeting – thus not allowing Prebid to compete in GAM.

The problem arises when the Failsafe Timeout is equal or lower than the Prebid Timeout. In that case, there is a risk that when a single SSP times out, instead of the Prebid Timeout triggering and the auction concluding with one less bidder, the Failsafe Timeout triggers and sends the auction to GAM without Prebid competing whatsoever.
At Pubstack, we spotted this issue several times while auditing Publishers’ wrappers. We measured that it could be responsible for up to a 10% loss in Prebid revenue.


How to avoid that conflict?

Simply set a Failsafe Timeout higher than your Prebid Timeout. To ensure that this will never become an issue, even if you change your timeout, use the Prebid Timeout as a variable in your formula, for example:

failsafeTimeout = prebidTimeout + 500

You should also read

Timeouts simplified: get immediate results through easy steps

What is the Prebid Timeout exactly, and how does it work? The Prebid Timeout...

Read more
4 steps to setting up floor prices that drive maximal ad revenues

Almost a year now, Google has deprecated its Pricing Rules that Publishers used...

Read more

Getting started is easy

You’re moments away from taking your advertising revenues to the next level!