工程師進入數位廣告產業的正確姿勢

Failed

入職數位行銷產業近半年,當初的我沒有任何數位廣告的Knowhow,硬著頭皮就開始寫code了,每次開會或討論時,總有新的名詞會打斷我的思緒,當初的我多麼希望有一份文件可以補足工程師進入廣告產業時應該認識的知識,降低新人上手的門檻。然而時至今日,我還是沒能看到心目中期盼著的那份文件,但此時的我已稍有數位廣告供應商的經驗,因此決定自己執筆,希望提供後人一條捷徑,避免更多後輩一邊工作一邊抱著「要是當初有這篇文章該有多好」的遺憾。另外,畢竟小弟是個外行人,如文中有誤,也敬請見諒。

專詞介紹

#

數位廣告是一個龐大的體系,可以把它想像成一個巨大的供需市場,裡面有企業主想透過廣告進行行銷,也有網站主或媒體想透過提供廣告版位來獲利。這裡條列出幾個經常出現在會議及討論裡的行話,並且搭配我自己的認知來詮釋,也歡迎自行Google更詳細更嚴謹的解釋。

常見角色劃分

#

  • 受眾(Audience):實際被廣告推銷的一方
  • 網站主(Publisher):掌握流量並且想藉由販售廣告版位營利的一方
  • 廣告主(Advertiser):有預算想進行行銷的一方
  • SSP(Supply Side Platform):提供廣告供應方(網站主)出售版位的服務平台
  • DSP(Demand Side Platform):提供廣告需求方(廣告主)刊登廣告的服務平台
  • DMP(Data Management Platform):管理受眾資訊及提供精準投放服務的平台
  • Ad Server:真正存放及供應廣告素材的伺服器
  • 廣告聯播網(Ad Network):搓合廣告交易的中間供應商,可能同時提供了SSP、DSP及各種廣告生態中的服務

常見術語

#

  • 版位(Inventory):可放置廣告的容器,經常是固定大小且處於固定的排版位置,在各種廣告交易之中,實際上被販售的就是inventory,此用語較常使用於商務上的描述
  • 廣告單元(Ad Unit/Ad Tag):實際埋入廣告版位裡的可執行程式碼片段,如HTML標籤或javascript,此用語較常使用於工程或開發上的描述
  • 廣告素材(Creative):實際可視的投放內容,例如圖片、影片、Flash動畫等
  • Targeting:精準行銷,將廣告精確地投放到適當的受眾
  • Passback:主要的曝光方式無法完成曝光時的次要曝光方式。例如Publisher P設定Advertiser A1的廣告優先於Advertiser A2,當A1不願出價購買目前流量時,稱passback給A2,再由A2繼續決定是否購買流量

其他

#

  • DFP(Doubleclick for Publishers):Google的SSP服務
  • 委刊項(Line Item):用於Targeting受眾的設定,可以設定成鎖定特定性別、年齡層、...,也可以設定為自訂值

數位廣告是如何運作的?

#

認識完名詞,接下來該來談談廣告運作的流程了,以下我們用比較工程的角度來切入,看看數位廣告的pipeline究竟長什麼樣子

  1. Publisher在自己的產品裡(無論是Web或是App)埋入
  2. End User載入網頁時,Ad Tag執行Javascript向DMP查詢目前Traffic應該Targeting給何種受眾 可以想像Response會是如同下面所示的Json:
{
"targeting": {
"gender": "male",
"age": [15, 25],
"country": "TW"
}
}
  1. Ad Tag將不同DMP的Targeting結果合併後轉送至Ad server取得合適的Creative
  2. Creative經瀏覽器渲染後廣告內容 可能是Banner/Display、Interstitial、Vast、Multi-Media、Native等各種性質的廣告
  3. Creative發送Show/Click/Action等追蹤廣告成效用的Beacon給各自的Ad Network
  4. SSP根據收集到的Beacon統計成廣告成效報表,出帳給Publisher
  5. Ad Network內的服務根據不斷累積的流量,持續修正交易策略(如:出價模式、投放行為)

廣告概觀

#

除了上述較為工程導向的介紹,本章節從營運的角度來看,了解更多背景知識及詞彙,幫助我們更加理解整個領域的生態。

廣告類型:傳統廣告(Traditional Advertising)vs. 數位廣告(Digital Advertising)

#

相信大家對廣告早就不感到陌生了,從電視、電台、報章雜誌、平面廣告、車體、戶外電視牆/看板,到捷運燈箱等通路(Channel),總是能看到五花八門的廣告,這種的廣告就屬於傳統廣告。

反之,隨著電腦科技演進而發展出來,可以透過程式自動進行的廣告交易就屬於數位廣告,相較於傳統廣告,對廣告主(Advertiser)而言更容易追蹤成效,對網站主(Publisher)而言也能提升營收。

廣告交易方式:直售廣告(Direct-Sold)vs. 程式化廣告(Programmatic Advertising)

#

從歷史演進的角度來看,傳統廣告屬於直售廣告(Direct-Sold),通常有人為介入、買賣廣告版位、必須事先預定、計價模式採用固定價錢(CPM);隨著電腦科技發展,廣告的交易逐漸數位化,因而發展出程式化廣告(Programmatic Advertising),由電腦程式代操廣告交易,特色為非人為、買賣廣告受眾、即時競價、計價模式採用動態出價(eCPM),程式化廣告除了能將傳統的直售廣告程式化以外,甚至演化出程式化廣告才能辦到的即時競價廣告(Real Time Bidding,RTB)。

競價策略:瀑布流(Waterfall)vs. 即時競價(Real Time Bidding,RTB)

#

常見的程式化廣告競價策略包括Waterfall及Real Time Bidding,通常Publisher會兩者並用來使營收最大化。在Waterfall策略中,Publisher能夠給予各家DSP不同的優先次序(Priority);相對地,在RTB策略中,各家DSP都必須被設定成同樣的Priority,藉此使不同的DSP在公平的環境下競價。

Waterfall

#

Waterfall指的是各家DSP被Publisher設定成不同的優先次序,每一輪拍賣中,廣告版位由次序最高者流向次序最小者,依序詢問DSP是否願意出價,一旦目前被詢問到的DSP願意出價,且出價高於Publisher設定的底價(Floor Price),則該DSP標得版位(Fill),否則版位繼續流向下一家DSP詢問出價(Passback)。

下圖是一種Waterfall的範例:直售受到人為影響,可能簽署了合約,Priority因此最高,接著依序進入程式化廣告、PMP(Private Market Place,不在本文討論範疇)、ADX、AdSense,如果以上Demand Partners都未參與競價,則版位最終流入House。

實作Waterfall的方式有許多種,例如在DFP上可以透過設定改變Priority;或者,我們也可以透過SSP上的介面來設定各家DSP的Creative來達到Waterfall的效果(如將A公司的Passback Creative設定為B公司的Creative,使A公司有較高的Priority)。

RTB

#

參與同一個inventory拍賣的各家DSP會幾乎在同一時間收到impression,並決定是否出價,版位由出價最高者標得,但只需支付次高的標價(此機制稱為Second-price Auction,有利於DSP掌握市場行情),整個拍賣過程必須在一定時間內完成(通常是數百毫秒),逾時的DSP將直接被淘汰。

IAB(Interactive Advertising Bureau,互動廣告協會)制定了許多廣告界的標準,其中就是因應RTB所設計的標準,例如制定各家DSP必須在以內完成拍賣競價。

RTB現況

#

Header Bidding

#

Header Bidding可以說是RTB在網頁技術中的一種表現形式,網頁可以很粗略地分為,Publisher會在中埋入SSP提供的競價所需的程式碼,當瀏覽器解析完這段程式碼時就會觸發即時競價,因此Bidder在網頁內容不可知的情況下獲得first look的traffic,僅能由cookie或封包header資訊判斷是否要出價。

Bidder

#

所謂的競價,其實就是Publisher埋入的程式碼會向Bidder發出POST請求,並且夾帶cookie、版位的id、該輪拍賣的uuid等相關資訊。而Bidder是一個伺服器端的程式,透過暴露出來的Endpoint接收客戶端的競價請求,背後則是依照各家服務自行實作,可能會串接AI模型來推論traffic的價值,也可能需要連接Ad Server,當需要出價時,連同Creative一起送回客戶端。

Prebid

#

Prebid是由AppNexus開源的Header Bidding實作,可用於網頁及行動裝置。它的運作原理其實是濫用DFP的Line Item,Publisher必須在DFP建立許多Line Items,並且分別設置不同Key-Value來Target不同的價格區間(Price Bucket),然而這些Line Item都必須綁定到相同的Creative Set,如此一來,End User打開安裝了Prebid的網頁時將會依序發生下面的事件來曝光廣告:

  1. 載入Prebid JS Library
  2. Prebid初始化Publisher的設定,例如版位A要使用B1及B2兩個Bidder、版位B要使用B1,B2,B3三個Bidder
  3. Prebid根據Publisher的設定,發送競價請求給各家Bidder
  4. 各家Bidder回應出價及Creative
  5. Prebid篩選出各版位的得主,並向DFP發送Targeting請求,且Key設定為得主,Value設定為得標價的最近價格區間
  6. DFP回應Creative
  7. Prebid渲染Creative

Ad Operation

#

Campaign:一次有始有終的行銷活動,如:雙11檔期
Order
Inventory

廣告成效(Performance)

#

Funnel

#

Traffic/Request -> Bid -> Bid Won -> Viewability -> Show/Impression -> Click -> Action(註冊、安裝App、加入購物車、付款、...)

常用指標

#

  • Fill Rate
  • CTR(Click-Through Rate):點擊率
  • CVR(Conversion Rate):廣告轉換率
  • ROI(Return on Investment):投資報酬率

計價模式

#

對Advertiser:每千次曝光/點擊/行為所花費的廣告預算

  • CPM(Cost Per Mille)
  • CPC(Cost Per Click)
  • CPA(Cot Per Action)

對Publisher:每千次曝光所獲得的廣告營收

  • eRPM(effective cost per mille)

衍生議題

#

Discrepancy

#

Fraud

#

可以透過redis deduplicate來消除短時間內(如:一小時)的重覆impression

Advertising on AMP-enabled Page

#

髒髒的SSP

#

之前遇過某家SSP在auction結束後偷偷蒐集各家bidder的出價,雖然技術上可行,也算不上犯了什麼濤天大罪,但被抓到肯定永遠被貼上「商業手法不乾淨」的標籤,於是隔天這家髒髒的SSP就被Publisher拔掉了

千萬不要在公司瀏覽器裝Adblock

#

真的是切身之痛

Safari直接禁止third-party cookie?

#

參考資料

#