这是indexloc提供的服务,不要输入任何密码
Skip to content

Add support for publisher controlled global auction timeout #1083

@giancarlopetrini

Description

@giancarlopetrini

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 by GPT/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 with null 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions