流動應用程式出價功能目前僅適用於特定發佈商。

伺服器對伺服器出價

內部中介服務尚未對公眾開放使用

Audience Network 的內部出價功能目前為不公開測試版,尚未對公眾開放使用。如有任何變更,我們將會公佈最新消息。

您可以考慮改為透過與我們合作的其中一個中介平台使用 Audience Network 出價功能。

本頁內容:

Facebook Audience Network 支援流動應用程式和流動版網站的出價功能。流動應用程式出價整合的對象可以是由流動用戶端對我們的伺服器,或者是由您的伺服器對我們的伺服器。本概覽將說明應用程式出價的一般概念。

簡介

什麼是應用程式出價

應用程式出價這種方式可以讓發佈商為其廣告庫存展開公平開放競投,方法是同時向多個需求來源提供所有廣告刊登機會。每個廣告聯盟都有機會在價值最高時競爭和贏得每次展示。

為什麼要使用應用程式出價

  • 即時競投可讓您有機會針對每項廣告要求作出優化。
  • 助您了解廣告庫存的真正價值。
  • 讓您輕鬆維護廣告,並且減少所需的廣告營運資源。

整合架構

應用程式出價會透過執行開放式即時出價(ORTB)協議的端點,以提供個別廣告展示機會的出價。您需要在應用程式出價中使用 Audience Network SDK 來執行以下操作:

  • 取得 buyeruid (在 Audience Network SDK 中的名稱為 bidderToken )。此憑證是出價要求中的必要欄位,而每位用戶和每個應用程式都有著互不重複的憑證,無法用於其他用戶或應用程式。
  • 載入出價回應,並在出價者贏得競投時展示廣告。
  • 記錄展示次數和點擊次數。

出價流程的關鍵步驟

  1. 取得出價者憑證。Audience Network 需要透過此不透明字串來回應出價要求。
  2. 傳送出價要求並取得出價回應。這是您與出價端點之間的主要互動。在此步驟中,您會傳送 ORTB 出價要求,然後接收有效的出價回應或錯誤。
  3. 運行競投。運行競投,並在出價回應中選擇勝出者。部分廣告聯盟不支援即時出價,因此大多數競投會比較即時出價和來自其他廣告聯盟的預估每千次廣告展示成本(如歷史平均每千次廣告展示成本)。您可透過以下途徑運行競投:
    • 運行您自訂競投邏輯的內部伺服器
    • 第三方競投伺服器
    • 用戶裝置上的用戶端
  4. 透過出價回應檢索廣告。若 Audience Network 贏得競投,則您可在用戶裝置上將 adm 欄位從出價回應傳遞至 Audience Network SDK,從而載入廣告。請注意, adm 欄位並不包含實際廣告,而是包含使 SDK 能夠從 Audience Network 伺服器檢索廣告的資訊。

整合類型

在運行競投時(上述出價流程的第 3 步),整合可以在用戶端伺服器端上託管。以下是 3 種不同的整合類型:

伺服器對伺服器整合架構

在伺服器至伺服器整合中,競投伺服器會調用 Facebook Audience Network 出價端點和所有其他需求來源,以獲取出價回應。然後,競投伺服器便會執行競投,並挑選獲勝出價。此競投伺服器可以是執行您建立的競投邏輯之內部伺服器,也可以是與 Audience Network 應用程式出價整合的第三方伺服器。這可讓您運用伺服器資源和可用網絡,以調用需求來源的出價端點。它還可讓您更改這些端點整合,而無需更新用戶端。


外部廣告伺服器整合

有了外部廣告伺服器整合,您便可以透過應用程式競投,連接至現今的瀑布流式策略中介服務。此舉的運作原理是與支援應用程式出價的需求來源進行伺服器至伺服器整合,然後將競投得標者傳送至瀑布流式策略中介服務平台,該平台會執行瀑布流式策略,並選擇整體得標的需求來源。此整合將是瀑布流式策略中介服務世界和應用程式出價之間的臨時橋樑。有了此類整合,您便無需編寫自己的競投邏輯。

ORTB 要求/回應和支援的廣告格式

ORTB 要求

我們的出價端點支援 OpenRTB 協定 v2.5 的子集。

備註:如需查看完整的要求範例,請參閱競投伺服器設定指南

'id' => string, // platform's auction identifier,
'imp' => vec< // slots to bid on
shape(
'id' => string, // platform's identifier for this slot auction
// only for banner impression opportunities
'banner' => shape(
'w' => int, // width
'h' => int, // height
),
// only for native impression opportunities
'native' => shape(
'w' => int, // width 
'h' => int, // height 
),
// only for video impression opportunities
'video' => shape(
'w' => int, // width
'h' => int, // height
'linearity' => int, // 1 = instream, optional
'ext' => shape(
'videotype' => string, // 'rewarded' for Rewarded Video impression opportunities, optional
),
),
'tagid' => string, // Placement ID
'instl' => int, // interstitial flag, 1 = On, 0 = Off, optional
)
>,
// app details (in-app bidding only)
'app' => shape( 
'publisher' => shape(
'id' => string, // publisher app ID
),
),
'device' => shape(
'ua' => string, // device user-agent
'ifa' => string, // ID sanctioned for advertiser use
// Do not send ip or ipv6 if you are requesting bids from the client device.
// For server-side bid requests set ip or ipv6.
'ip' => string, // device IPv4
'ipv6' => string, // device IPv6
'dnt' => int, // "do not track", 1 = On, 0 = Off, optional
'lmt' => int, // "limit ad tracking", 1 = On, 0 = Off
),
'regs' => shape( // regulations object
'coppa' => int, // US FTC regulations for Children's Online Privacy Protection Act, 1 = On, 0 = Off, optional
),
'user' => shape(
'buyeruid' => string, // Audience Network Identity Token, mandatory
),
'ext' => shape(
'platformid' => string, // Mediation partner Platform ID or publisher FB app ID, mandatory
'authentication_id' => string // Authentication token to validate the originator of the request                     
),
'at' => int, // auction type: 1 = First Price, 2 = Second Price
'tmax' => int, // auction timeout in milliseconds
'test' => int, // 0 = normal, 1 = test-mode (we bid $99.99, but don't pay out), optional

支援的廣告格式

我們目前支援可透過 OpenRTB 要求的 4 種廣告類型:橫額廣告、原生廣告(原生廣告或原生橫額廣告)、影片廣告(獎勵式影片或插播影片)及插頁廣告。備註:橫額廣告、原生廣告和影片物件之間互不相容,但必須有其中一個。

以下是出價要求所支援的廣告格式清單:

廣告格式 出價要求中的參數

原生廣告

{'id': ${AUCTION_ID}, 'native': { 'h': -1, 'w': -1 }, 'tagid': ${PLACEMENT_ID}}

原生橫額廣告

{'id': ${AUCTION_ID}, 'native': { 'h': -1, 'w': -1 }, 'tagid': ${PLACEMENT_ID}}

插頁廣告

{'id': ${AUCTION_ID}, 'banner': { 'h': 0, 'w': 0 }, 'tagid': ${PLACEMENT_ID}, 'instl': 1}

獎勵式影片

{'id': ${AUCTION_ID}, 'video': { 'h': 0, 'w': 0, 'ext': { 'videotype': 'rewarded' } }, 'tagid': ${PLACEMENT_ID}}

獎勵式插頁廣告

{'id': ${AUCTION_ID}, 'video': { 'h': 0, 'w': 0, 'ext': { 'videotype': 'rewarded_interstitial' } }, 'tagid': ${PLACEMENT_ID}}

橫額廣告(高度:50)

{'id': ${AUCTION_ID}, 'banner': { 'h': 50, 'w': -1 }, 'tagid': ${PLACEMENT_ID}}

橫額廣告(高度:250*)

{'id': ${AUCTION_ID}, 'banner': { 'h': 250, 'w': -1 }, 'tagid': ${PLACEMENT_ID}}

*您可以在營利管理工具中為此廣告格式建立橫額廣告版位或中型長方形廣告版位

ORTB 回應

出價回應有效期為 30 分鐘。在收到出價回應後的 30 分鐘內,您可以隨時要求刊登廣告。任何根據超過 30 分鐘的出價所產生的展示次數都不會獲付費。

備註:在您使用出價回應要求刊登廣告後,廣告會在用戶端被快取,但必須在載入後 60 分鐘內展示。任何根據快取時間超過 60 分鐘的廣告所產生的展示次數都不會獲付費。

1  
'id' => string // platform's request identifier
'seatbid' => vec<
    shape(
        'bid' => vec<
            shape(
                'id' => string, // Our identifier for this bid
                'impid' => string, // platform's identifier for this slot auction
                'price' => float, // Our bid price on CPM basis, in USD
                'adm' => string, // Our creative - see Rendering The Ad
                'nurl' => string, // URL to get if we win the impression
                'lurl' => string, // URL to get if we lose the impression
            )
        >,
    ),
>,
'bidid' => string, // Our identifier for this response
'cur' => string, // bid currency: USD

中標/失標/可計費/逾時通知

必須使用 ORTB 所定義的相應失標代碼,以傳送得標失標可計費逾時通知。出價回應已提供 ORTB nurllurlburl。請查看先前部分的出價回應範例。如果出價逾時,我們會為您提供替代報告路線。

得標通知

出價回應將提供得標 nurl。您需要在 nurl 中填入結算價格

"https://www.facebook.com/audiencenetwork/nurl/?partner=${PARTNER_FBID}&app=${APP_FBID}&placement=${PLACEMENT_FBID}&auction=${AUCTION_ID}&impression=${IMPRESSION_ID}&request=${BID_REQUEST_ID}&bid=${BID_ID}&ortb_loss_code=0&clearing_price=${AUCTION_PRICE}"
  • ${AUCTION_PRICE}:您應將之替換為與我們出價相同單位的競投結算價格(即每千次廣告展示成本的美元金額)。

失標通知

我們的失標 lurl 包含 2 個您需要填入的旗幟:

"https://www.facebook.com/audiencenetwork/nurl/?partner=${PARTNER_FBID}&app=${APP_FBID}&placement=${PLACEMENT_FBID}&auction=${AUCTION_ID}&impression=${IMPRESSION_ID}&request=${BID_REQUEST_ID}&bid=${BID_ID}&ortb_loss_code=${AUCTION_LOSS}&clearing_price=${AUCTION_PRICE}"
  • ${AUCTION_LOSS}:您應使用 ORTB 失標代碼替換它。
  • ${AUCTION_PRICE}:您應將之替換為與我們出價相同單位的競投結算價格(即每千次廣告展示成本的美元金額)。

以下是不同失標代碼和相應失標原因的清單。

失標原因描述ORTB 2.5 版失標代碼

無效出價回應

出價無效(但及時,並非無出價,並且足以有效提取 nurl)

3

出價逾時 *

已收到出價回應,但趕不上競投截止時間

2

無出價

系統會以 HTTP 204(即無可調用的 nurl)代表無出價,但您可將我們的回應理解為無出價(可能是整合問題)。另外,您也可以要求為某些展示方式出價,我們便會只為部分方式出價,而非全部。

9

非最高的 RTB 出價者

另一位出價者擊敗我們,包括合成出價(例如非 RTB 交易)(如果他們進入同一個競投)。

102

庫存未有實現

我們的出價在競投中獲勝,但未有實現展示次數(如因頁面不夠長而無法包含此版位,或用戶在使用快取廣告前退出應用程式。)並非所有合作夥伴都能提供此代碼(這是非事件),所以如果未有提供,我們會自行推斷出來。

4902

傳送至廣告伺服器

如果決策流程中最後的接觸點為將高出價傳送至廣告伺服器,則傳送此資訊。展示次數仍有可能因缺失單行項目、廣告伺服器否決競投或庫存未有實現而丟失。

4900

廣告伺服器未有挑選 RTB 得標者

我們贏得 RTB 競投,但廣告伺服器否決競投結果(如直接)。

4903

得標

我們贏得了整個決策樹,而且標籤已置於頁面 (Web),或廣告物件已快取(應用程式)。系統可能仍然不會產生可查看展示次數。

0

可計費通知

如果 Audience Network SDK 觸發了展示回調,我們需要獲取可計費通知。您需要在 burl 中填入結算價格

"https://www.facebook.com/audiencenetwork/burl/?partner=${PARTNER_FBID}&app=${APP_FBID}&placement=${PLACEMENT_FBID}&auction=${AUCTION_ID}&impression=${IMPRESSION_ID}&request=${BID_REQUEST_ID}&bid=${BID_ID}&ortb_loss_code=0&clearing_price=${AUCTION_PRICE}"
  • ${AUCTION_PRICE}:您應將之替換為與我們出價相同單位的競投結算價格(即每千次廣告展示成本的美元金額)。

逾時通知

如果出價逾時,我們會為您提供替代報告路線。這是通用的 nurl,無需等待出價即可調用。格式如下:

"https://www.facebook.com/audiencenetwork/nurl/?partner=${PARTNER_FBID}&app=${APP_FBID}&auction=${AUCTION_ID}&ortb_loss_code=2"

請注意:請使用適當的值填入 ${PARTNER_FBID}${APP_FBID}${AUCTION_ID}。下表提供了這些值的說明。

參數類型描述

PARTNER_FBID

整數

由 Facebook 發出的廣告競投伺服器編號。如果您沒有專屬的廣告競投合作夥伴,請在此處使用應用程式編號。

APP_FBID

整數

由 Facebook 發出的應用程式/企業編號,以用於啟動競投。

AUCTION_ID

字串

由用戶端產生、用於發出出價要求的競投編號。

支付款項、競投、可視度和延遲

價格和支付款項

價格會以每千次廣告展示成本報價,並以美元為單位(例如,「4.25」代表如果我們中標,我們會為每 1,000 次展示次數支付 $4.25 美元)。nurllurl 中的結算價格必須使用相同單位。發佈商會直接收到支付款項。

競投機制

我們將一律以首價密封投標方式出價,亦即我們會支付自己出價的金額,並且出價的前提是我們會支付全數款項。這意味著我們將在次價密封投標中處於劣勢,因為其他出價者出價的前提是他們會支付少於出價金額的款項。

可視度

對於應用程式展示次數,我們只會在有人觀看展示廣告時付費,而不理會我們是否出價最高者。

延遲

  • 若要將延遲減至最短,請為每次 API 呼叫要求單一出價(即如果您要競投五個廣告版位,則需要呼叫 API 五次,每次出價一次)。
  • 我們不提供特定地區的端點。Facebook 基礎架構會將出價要求傳送到最近的資料中心。
  • 使用 HTTP/2 持久連線。
  • 在出價要求中使用競投逾時填充 ORTB tmax 欄位,我們便會選擇平衡延遲時間和成效的出價策略。(如需更多有關 tmax 的資訊,請查看上文的出價要求範例
  • 為了達到延遲目標,我們可能會將一些處理程序推遲至顯示時間(即較快的出價可能意味著廣告顯示速度較慢,而較慢的出價會產生顯示速度較快的廣告)。
  • 我們正在努力改善延遲問題。目前,我們建議的伺服器對伺服器出價逾時時間為 800 毫秒。