Glossary

    Header bidding

    Published · Last updated
    Next scheduled review:

    Header bidding

    Header bidding is a technique in which a publisher offers each impression to several demand sources at the same time, before or alongside the ad server's own decision, so that the highest bid competes against direct campaigns instead of being called in a fixed sequence.

    The name comes from the JavaScript, usually Prebid.js, placed in the page header to run the auction in the browser. Server-side header bidding moves the same auction to a server, which reduces page weight and latency and is required for apps, CTV and audio; Prebid Server is the open-source implementation and supports "230+ server-side bid adapters" (Prebid.org, Prebid Server overview). The trade-offs between client-side and server-side are set out in Header bidding vs server-side bidding.

    Header bidding changed the market because it let publishers see competing prices for the same impression, which exposed exchange fees and auction rules, and because it broke the ad server's control of the sequence. The US remedies proceedings against Google in September 2026 turned on exactly this: whether AdX bids must be made available to Prebid and third-party ad servers in real time (tracked on our remedies page).

    Example (Prebid.js, simplified):

    pbjs.addAdUnits([{ code: "div-1", mediaTypes: { banner: { sizes: [[300, 250]] } },
      bids: [{ bidder: "sspA", params: { placementId: 123 } },
             { bidder: "sspB", params: { siteId: "abc" } }] }]);
    pbjs.requestBids({ timeout: 1000, bidsBackHandler: () => pbjs.setTargetingForGPTAsync() });
    

    The timeout is the publisher's answer to the same question OpenRTB's tmax answers for exchanges: how long to wait before deciding.

    Source: Prebid.org documentation (Prebid.js and Prebid Server).

    Sources

    Used in

    Browse all glossary terms