Header bidding 算是目前廣告的主流,在解釋他是什麼之前先來講一下以前的廣告買賣機制。

Waterfall

這是最傳統也是最老的方法。假設現在有網站abc,與之合作的有agent A, B, C。當現在有一個人進入abc時候,abc會先問A要不要買這個imperssion的廣告框,如果A不要,再問B,以此類推直到有人要或是已經沒有agent為止。至於ABC的順序就看Publisher 與 Agent之間的合約了。
waterfall

Header Bidding

Header Bidding 的原理很簡單,沿用上面的例子,當使用者進來的時候,延遲A的request,並詢問B和C的購買意願及價錢,拿到之後將之一起傳給A,A會再做最後的auction,價高者得。
headerbidding

比較

Waterfall:

  • pros: 使用者隱私較好,因為不是每一次都把使用者資料教給所有agent。
  • cons: 較慢,且無法最大化利潤,因為無法保證後面的agent不會出更高的價錢。

Headerbidding:

  • pros: 快速,且可以取得較大的利潤,因為給所有的agent競爭
  • cons: 每次都使用者資料交給所有agent,對使用者隱私較不友善。

那這到底有多快?下面是我用Ad Footprint在weather.com做的實驗,一般來說,Bid的處理時間大約在100~400ms,如果你有5個agent,用waterfall最差的情況下可能要兩秒才結束但用Header Bidding最差的情況也才400ms。

ad_footprint_bid
(用gif還是不太清楚,建議自己動手玩玩看)

延伸

First price auction vs Second price auction

Header bidding 的出現同時也產生了一些問題。一般來說,每一個agent背後都會先在 Ad Exchange裡做auction。對waterfall來說,這個auction會是交易裡唯一個auction。而得標者所出的價錢並不是他所出的最高價,而是第二高的價錢以避免不必要的浪費(如果$1就能買到為何要出$2?)。這就是所謂的Second Price Auction。

問題就出在這裡,在Header Bidding裡面其實有兩次auction,第一次是agent自己背後的auction,第二次是所有的agent一起的auction。

舉例來說
Agent A的得標者出價$5,Second Price之後變$1
Agent B的得標者出價$4,Second Price 之後變$2

原本Agent A是可以贏的,但過了Second Price之後反而輸了,因此現在大家開始使用First Price Auction,也就是用原價來競標。

重複的競標變多了

auction
從上圖可以看到,DSP參加了重複的競標,目前平均每個網站有6個Agent,背後重複的DSP也比上圖多很多,也因此對DSP來說是一個沉重的負擔。