Client-side header bidding caps out: a browser can only open so many connections and run so much JavaScript before the page crawls. Prebid Server moves the auction off the page. The browser makes one call; the server does the fan-out.
Server-to-server (s2s): the browser sends one request to Prebid Server, which calls all the bidders server-side and returns the results. One connection from the page instead of a dozen.
| Use s2s when | The cost |
|---|---|
| You have many bidders or a heavy, performance-sensitive page | Weaker cookie match: the server cannot read the user’s third-party cookies directly. |
| You want the long tail without page weight | You must run cookie sync (next lesson) to recover match rate. |
You wire the prebidServer (s2s) adapter in Prebid.js. Note the host vs requesting-publisher split: the entity operating the Prebid Server (the host) is distinct from the publisher whose inventory it is bidding on.
Key idea
s2s buys scale and speed and costs match rate. That is why the common shape is hybrid: a few highest-value bidders client-side for match, the rest server-side for scale (back to lesson A4).
Quick check
You have 12 bidders and a slow page. Why move the long-tail 8 to s2s rather than all 12?
Note
A server-side bidder that gets no user ID is usually a cookie-sync problem, which is exactly the next lesson.