技術部落格

集結國內外精選文章,掌握最新雲端技術新知與應用

iKala Cloud / 產業解決方案 / 如何在 Google Cloud 上打造廣告平台基礎設施:總覽

如何在 Google Cloud 上打造廣告平台基礎設施:總覽

本文是在 Google Cloud Platform (GCP) 上打造廣告平台系列的總覽。由於廣告平台涵蓋不同服務,並且服務不同的使用者,本系列文章將提供「共用」與「特定」的基礎架構選項。

此系列的運作方式

此系列有兩個主軸:

術語

下列字詞用於本系列及整個廣告產業:

  • 廣告空間:提供給買方的廣告版位。
  • 廣告版位:顯示廣告的網頁或行動裝置頁面空間。
  • 廣告代碼:小片段程式碼,包含描述廣告版位的參數。
  • 廣告伺服器:廣告放送平台使用的技術,用以在發布商的資源上傳送廣告素材到廣告版位。廣告伺服器通常包含如選取廣告素材、計數和放送等功能。
  • 廣告客戶:想要直接透過不同媒體或透過其他買方推銷產品的機構。
  • 目標對象:造訪或使用發布商資源的 (不重複) 使用者。
  • 目標對象區隔:依據分類子集的選取,產生廣告客戶可鎖定目標的一組 (不重複) 使用者。
  • 買方:購買廣告版位來放置廣告素材。買方可以是網路、代理商或廣告客戶。
  • 轉換:對於使用者可能針對廣告客戶資源採取的操作,進行預先定義。
  • CPA:單次操作出價。買方每次操作支付的金額。操作或轉換可以有不同的目標,例如盡量招攬更多使用者、留住高價值的重要客戶,或者讓目標使用者在網站上購買商品。此操作可能會下載白皮書、訂閱電子報或者購買廣告客戶網站上的商品。
  • CPC:單次點擊出價。買方每次廣告點擊支付的金額。
  • CPM:千次曝光出價。買方每千次曝光支付的金額。
  • 廣告素材:呈現給目標使用者的廣告。
  • CTR:點閱率。點擊數除以曝光次數。
  • CVR:轉換率。轉換次數除以曝光次數。
  • DMP:資料管理平台,為廣告技術業者提供其他使用者資訊。這些平台可提供資料傾印的存取權,或者如果您為平台提供物件儲存空間 (如 Cloud Storage) 的存取權,即可將資料載入平台。
  • 曝光:從來源擷取廣告,並且會產生費用。
  • 發布商:在本系列的內容中,發布商擁有數位資源的組合,例如網站或行動應用程式,可提供託管廣告素材的廣告版位。
  • (發布商的) 資源:發布商提供廣告版位的網站、應用程式或遊戲。
  • 供應商:代表眾多發布商提供可供購買的廣告版位。
  • 目標使用者:廣告的目標;預計會觀看廣告的觀眾。
  • 分類:目標對象屬性的分類,一般會依階層分類。
  • (不重複) 使用者:鎖定目標的使用者,通常視為或認知為不重複的。但要判斷是否具備不重複性很困難,因為會有多人使用相同裝置或同一人使用不同裝置等狀況,因此也只能盡最大努力猜測。

即時出價條件包含以下形式:

  • 廣告交易平台:接收來自賣方平台廣告請求的廣告市集。賣方平台接收到請求後,預期會從所有出價的需求端平台接收廣告,然後選取得標者並傳回賣方。上述交易分秒必爭;例如,Google 等待買方傳回出價的時間約為 120 毫秒。
  • DSP:需求端平台接收廣告請求,然後必須在賣方平台或廣告交易平台設定的時間內回應請求。允許的時間可以短至 100 毫秒,或者長達幾秒。需求端平台會決定是否要出價。如要出價,就必須選取廣告、決定出價價格,然後將條件傳回廣告交易平台。
  • RTB:即時出價。透過線上競價機制,將廣告空間 (廣告版位) 公開給程式輔助買方的程序。
  • SSP:供應端 (賣方) 平台有時是廣告伺服器的一部分,但也可以是獨立工具,功能是接收發布商或廣告伺服器的廣告請求。賣方平台通常會傳送廣告請求到廣告交易平台,但有時會直接將請求傳送到需求端平台。賣方平台可能添加額外的目標對象內容 (例如客層),讓請求內容更豐富,藉此提升廣告版位的價值。賣方平台預期接收贏得競價的廣告,然後即可傳送給發布商或廣告伺服器。

本系列其他特殊術語:

  • 後端:前端使用的服務或資料庫,用於擷取資料或卸載處理程序,例如機器學習模型訓練。
  • 客戶:使用您提供的平台的使用者。
  • 前端:處理外部要求的服務。
  • 功能:平台上執行的服務所提供的特定功能。
  • 離線:描述任何不強調即時決策的程序。
  • 線上:描述任何屬於必須即時執行的程序。
  • 平台:提供一種主要功能的服務組合,例如廣告放送、提供廣告空間和出價。
  • 平台使用者:使用平台 UI 的發布商、賣方、買方、廣告客戶或其他使用者。
  • QPS:每秒查詢次數。
  • 服務:以組合形式提供的一或多項功能,一般而言為單一應用程式。
  • 工作站:執行工作的服務執行個體。通常會有數個工作站並行執行。

共用元件

不同的廣告平台如廣告伺服器、需求端平台、供應端平台及廣告交易平台都有一些作用相似的功能性元件,其目的如下:

  • 讓平台使用者 (供應商、買方) 透過前端 UI 與平台互動。
  • 處理請求,例如廣告或出價。
  • 管理事件和資料的生命週期,例如曝光、點擊、轉換,以及可能發生的出價成功和失敗。

下圖顯示依據這些元件而構成的架構。

使用者前端

大多廣告平台都需要客戶前端,通常包含由一或多個不同資料庫支援的 UI。前端必須符合下列條件:

  • 以可接受的延遲時間提供全球存取,提供良好的使用者體驗。
  • 可用性高,客戶得以隨時管理他們喜好的使用方式。
  • 隨著需求調度資源,確認客戶可隨時自行斟酌使用平台 (特定時區與全球的平台使用者)。

依據平台的不同,供應商及/或買方可能會使用這些前端,前端可能是廣告伺服器、需求端平台、賣方平台或廣告交易平台的一部分。每個前端都提供不同的管理功能,並處理不同的廣告資源 (廣告素材、出價、請求、客層等等)。

如需這些概念的詳情,請參閱 (第 1 部分) 使用者前端一節。

請求與廣告選取

當平台接收請求後,即會進行廣告選擇。請求可能是從一般廣告放送內容中的廣告代碼產生的廣告請求,也可能是賣方平台或具 RTB 結構定義的廣告交易平台的出價要求。

選取廣告時,必須確保達成以下各點:

  • 具備高度擴充性:廣告技術請求的數量,通常每日有數十億之譜。
  • 具備高可用性:因為規模如此龐大,即使只有一秒無法使用而造成請求失敗,都會導致龐大的業務損失。
  • 提供最低延遲:對目標使用者顯示廣告必須越快越好,而這一點也連帶影響選取廣告的速度。在 RTB 的情境下,延遲時間會是關鍵條件。這是因為賣方平台或廣告交易平台要求出價回應須於特定時間內傳回,而這有可能是只有 100 毫秒這樣短的時間。

廣告選取程序中包含的元件如下:

  • 接收廣告請求的前端服務。
  • 前端用來下決策的一或數個資料儲存庫。
  • 選取廣告的選取演算法。

(第 1 部分) 處理要求一節說明如何實作前端,以及 (第 1 部分) 讀取密集儲存模式一節介紹如何實作儲存庫。如需更多有關廣告伺服器和 RTB 出價工具的特定資訊,請參閱廣告伺服器和 (第 4 部分) 出價工具相關文章中的相關章節。

需求端平台和廣告伺服器都利用廣告選取邏輯來剖析 (不重複) 使用者,篩選出不相關的廣告活動和廣告,然後選取廣告。此外,出價工具的選取程序也包含是否出價、決定出價價格,也可能進一步最佳化出價。您可以在提供廣告工作負載的基礎架構選項 (第 1 部分) 一文中找到兩者的相關連結。

事件和資料管理

在廣告平台做的決策大多依據不同來源的資料,包含下列項目:

  • 由廣告伺服器前端接收的廣告請求。
  • 由需求端平台前端接收的出價要求。
  • 需求端平台競標成功端點接收的出價成功和失敗結果。
  • 為目標使用者放送廣告後的曝光事件。在多數情況下,曝光都是計費的。系統會呈現可計費的曝光,並視為可查看的。
  • 目標使用者點擊廣告時產生的點擊事件。曝光數量可能比點擊事件的數量高好幾十倍。
  • 目標使用者針對廣告客戶的資源執行希望採取的操作時產生的轉換事件。事件的數量可能會少於廣告點擊的次數。
  • 平台使用者管理的半靜態資料。
  • 由分析歷史事件而得的離線資料。
  • 第三方資料,例如使用者區隔和相關的價格,由外部來源如 DMP 提供。

機器學習取代了規則化系統,這是一種重要的元件,可使用歷史資料來訓練離線模型,並用即時資料訓練線上模型。您可以在本機部署這些模型,如此個別的元件或服務 (如廣告伺服器) 就能進行線上預測。這些模型可用來填入已經進行預測的快取或鍵/值儲存空間。

這些平台必須能夠處理以下事項:

  • 處理待收集、擷取、處理及儲存且以 TB 計的每日資料。
  • 收集、擷取、處理及儲存資料時,為每日數十億事件調度資源。
  • 提供即時線上與離線處理的選項。
  • 執行處理工作,如在分散式環境中的機器學習。
  • 自動將相關資料填回智慧資料庫,可能透過串流即時處理,或稍後透過批次作業進行。

如要深入瞭解如何處理出價要求、出價結果、曝光與點擊的彙整,請參閱處理事件一節 (第 3 部分)。

廣告伺服器

廣告伺服器通常包含共用元件和廣告放送功能,如下圖所示。

廣告放送是廣告伺服器的核心,必須具備以下條件:

  • 低延遲性:必須快速放送廣告,確保目標使用者能夠看到廣告 (如果允許捲動的話),讓廣告的觀看體驗不受損。
  • 高可用性:選取廣告後,因為平台停止運作而無法放送將會造成浪費並耗費成本。
  • 擴充性:每天有數十億的廣告請求,許多平台必須放送對應的數十億廣告。

即使有些需求端平台或賣方平台從自己的基礎架構放送廣告,本文仍假設這些平台中均實作廣告伺服器。如要進一步瞭解放送廣告的相關資訊,請參閱向目標使用者放送選取的廣告一節 (第 3 部分)。

出價工具

出價的程序詳述於 RTB 出價工具的基礎架構選項 (第 4 部分) 一文。

需求端平台一般包含具有以下需求的共用元件

  • 出價回應必須在已定義的期限內進行,因此延遲與否至為關鍵。
  • 出價是以每次的出價要求來計算,這使得選取廣告的邏輯變得複雜。此演算法的額外邏輯通常由其他出價工具服務進行處理。詳情請參閱出價一節 (第 4 部分)。

下圖顯示需求端平台的概要總覽。

後續步驟

(本文轉載自 Google Cloud。)

 

分享本文:
FacebookLineTwitter
回到頂端