-
Notifications
You must be signed in to change notification settings - Fork 269
Description
For many publishers GPT will be acting as the Top Level Seller, and for others, another SSP is likely to fill that role. A publisher should have direct control over how long an auction is allowed to run, particularly in the sequential seller, header-bidding workflow.
This does intersect closely with a recent issue discussing the lack of global timeout implementation, currently.
Consider the following sequence:
- header bid arrives
- header bid response used as floor for GAM/AdX auction/Ad Server
- Ad Server responds,
runAdAuction
called byGPT
/Top Level Seller
- User leaves page, continues to scroll, etc. Header bid or GAM/AdX/Ad Server does not render, although it was available, as
runAdAuction
has not yet resolved, and cannot be prescriptively timeboxed. - Publisher loses an impression that otherwise would have rendered.
Alternatively:
- publisher calls something akin to
navigator.setAdAuctionGlobalTimeout(1000)
- sequential seller/auction flow proceeds as above
- publisher's timeout is enforced,
runAdAuction
resolves, potentially withnull
even if there were bids (implementation details would dictate) - header bid or Ad Server bid renders within expected time frame
A heirarchical auction config could be relevant to other auction config values as well, but scoped specifically to timeouts, it'd be helpful if publishers could run something like navigator.setAdAuctionGlobalTimeout(1000)
. Alternatitely, navigator.setPublisherAuctionConfig(config)
could be a robust interface to allow for publisher more control.
Challenges
Apart from the lack of an existing global timeout, enforcing who is able to call navigator.setAdAuctionGlobalTimeout()
or navigator.setPublisherAuctionConfig()
could be difficult. Preventing a GPT/TLS from invoking that on a publisher's page could prove difficult. Perhaps these functions could only be called once and the publisher would be expected/responsible for calling before loading gpt
/other TLS
code.