處理 Google 的出價請求之後,
並傳送回應本指南說明如何編寫程式碼以建構應用程式
回應。
建立 BidResponse 訊息
Authorized Buyers 會傳遞 BidRequest
做為
HTTP POST
。應用程式傳送的回應必須含有
Content-Type
標頭已設為 application/octet-stream
以及訊息主體,並由序列化通訊協定緩衝區組成。通訊協定
緩衝區是 BidResponse
訊息,定義如下:
realtime-bidding.proto
。您的應用程式必須傳回可剖析的
BidResponse
以回應每個 BidRequest
。禁言次數
無法剖析的回應會視為錯誤,Google 也會限制
錯誤率偏高的出價方
如果不想要對曝光出價
單獨填寫「processing_time_ms
」欄位,其他欄位則維持
並將空無一物。您可以從以下位置取得 realtime-bidding.proto
:
參照資料 網頁。
廣告素材 ID
BidResponse
會透過
buyer_creative_id
欄位 (上限為 64 個位元組)。即使是類似的廣告素材
如果 buyer_creative_id
彼此不同,就必須有不重複的值
任何重要特徵,包括但不限於大小、宣告的網址
廣告素材屬性和供應商類型也就是說,您必須提供不同的
然後將廣告素材編號指派給任一廣告,如下所示:
外觀或行為改變。
算繪到不同的圖片。
以不同方式呈現 (例如一則廣告包含圖片、
另一個則包含 Flash)。
設計應用程式時,您必須決定
產生適用於您計劃類型的廣告素材 ID
。
廣告屬性
您必須宣告廣告素材屬性,以完整描述廣告的
特性和指定目標BidResponse.Ad.attribute
需宣告的屬性 (另請參閱完整的支援屬性清單)
屬性
buyer-declarable-creative-attributes.txt ):
7 Tagging: IsTagged
廣告包含像素或網路信標,以便製作
以便進行後續再行銷的 Cookie 編號清單。
8 Remarketing: IsRemarketing
廣告會根據使用者的 Cookie ID 或裝置 ID,
Cookie ID 或裝置 ID 清單,代表一組能夠
互動前曾與買方所擁有或代表的網站互動
9 UserInterestTargeting: IsUserInterestTargeted
廣告會根據使用者的 Cookie ID 或裝置 ID,
Cookie ID 或裝置 ID 清單,代表一組消費者
區分為共同興趣群組
30 InstreamVastVideoType: Vpaid
廣告需要支援 VPAID 才能顯示。
32 MraidType: MRAID
廣告需要 MRAID API 才能顯示。
此外,系統也支援下列屬性,但其宣告為
不需要,因為 Authorized Buyers 會自動偵測這類買方,並封鎖 (或
) 出價。
詳情請見
廣告素材 API
,說明如何取得有關
廣告素材。
公開出價欄位
參與公開交易的廣告交易平台和聯播網出價方傳送的出價回應
出價與參與標準的 Authorized Buyers 類似
即時出價公開出價客戶可以指定少量
以及部分現有欄位可能有替代用途。這些
包括:
OpenRTB
Authorized Buyers
詳細資料
BidResponse.imp[].pmp.deals[].id
BidResponse.ad[].adslot[].exchange_deal_id
Ad Exchange 命名空間與此交易相關聯的交易 ID
出價並回報給發布商
注意: 這個欄位目前只會傳送至 Beta 版封閉測試。
BidResponse.seatbid[].bid[].ext.exchange_deal_type
BidResponse.ad[].adslot[].exchange_deal_type
系統向發布商回報的交易類型,會影響交易的方式
都會是競價
注意: 這個欄位目前只會傳送至 Beta 版封閉測試。
BidResponse.seatbid[].bid[].ext.third_party_buyer_token
BidResponse.ad[].adslot[].third_party_buyer_token
用來識別第三方買家資訊的權杖 (如果
做為公開出價方的交易是一種中介機構。這是從
第三方買方,且必須如在出價中予以傳遞給 Google
回應。
建議
出價回應範例
以下範例代表 Protobuf 內使用者可理解的
JSON 要求。
Google
顯示範例
ad {
html_snippet: "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>"
adslot {
id: 1
max_cpm_micros: 10100
billing_id: 30279159795
}
click_through_url: "google.com"
attribute: 47
buyer_creative_id: "test_creative_id_766108"
advertiser_name: "Google"
width: 320
height: 50
impression_tracking_url: "https://test.com/imp?id=123456"
event_notification_token: "token"
}
processing_time_ms: 8
OpenRTB JSON
顯示範例
{
"id ": "sW2R7543D2w77f0542uu0F ",
"seatbid ": [
{
"bid ": [
{
"id ": "U4495qveIO2A83s1iOs ",
"impid ": "1 ",
"price ": 0.10701 ,
"adid ": "test_creative_id_323125 ",
"adm ": "<iframe marginwidth = 0 marginheight = 0 height = 600 frameborder = 0 width = 160 scrolling = no src = \ "https : //test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>",
"adomain ": [
"google . com "
],
"cid ": "54460865479 ",
"crid ": "test_creative_id_323125 ",
"w ": 300 ,
"h ": 250 ,
"ext ": {
"app_promotion_type ": "INSTALLS ",
"impression_tracking_url ": [
"https : //test.com/impression?id=123456",
"https : //test.com/impression?id=123456 "
]
}
}
],
"seat ": "1506 : 2993 : 976791 "
}
],
"bidid ": "WN7415ff - hN7R6080 - 3 txk - r0J45ckY5970 "
}
OpenRTB 通訊協定緩衝區
顯示範例
id : "q745y3S4jz5Qg43A6izy2V "
seatbid {
bid {
id : "Fi366E0I1RN4Ofm8Ug5 "
impid : "1 "
price : 0.02
adm : "<iframe marginwidth = 0 marginheight = 0 height = 600 frameborder = 0 width = 160 scrolling = no src = \"https : // test . com / ads ? id = 123456 &curl =%% CLICK_URL_ESC %% &wprice =%% WINNING_PRICE_ESC %% \"></ iframe >"
adomain : "google . com "
cid : "51570472186 "
crid : "test_creative_id_520474 "
w : 468
h : 60
[ com . google . doubleclick . bid ] {
impression_tracking_url : "https : // test . com / impression ? id = 123456 "
impression_tracking_url : "https : // test . com / impression ? id = 123456 "
event_notification_token {
payload : "token "
}
billing_id : 51570472186
}
}
seat : "1608 : 1311 : 489067 "
}
bidid : "6930 l9D4 - 1 A9090lR - 451 S - 01 g3xTZv8382 "
[ com . google . doubleclick . bid_response ] {
processing_time_ms : 100
}
重要事項:
範例會以使用者可理解的文字表示。不過,這不是我們
這些訊息是透過線路傳送使用 Google 或 OpenRTB Protobuf 時
格式,系統只接受序列化的 BidResponse 訊息。
您可以建立並序列化BidResponse
訊息
以下 C++ 程式碼:
BidResponse bid_response;
// fill in bid response with bid information
string post_response;
if (bid_response.SerializeToString(&post_response)) {
// respond to the POST with post_response as the content
} else {
// return an error to the POST
}
指定廣告素材
您的出價回應會指定在勝出時要放送的廣告素材。您的出價
必須包含其中一種支援的廣告格式 (AMP、影片、原生)。在本
例如,我們使用 html_snippet
欄位來指定廣告素材。
或者,您也可以使用以下其中一個 選項指定廣告素材:
欄位 (根據廣告格式而定):
SDK 顯示的廣告
BidResponse.Ad.sdk_rendered_ad
AMP
BidResponse.Ad.amp_ad_url
影片
BidResponse.Ad.video_url
或
BidResponse.Ad.video_vast_xml
原生廣告
使用
BidResponse
的 html_snippet
欄位。
程式碼片段包含在網頁插入的 iframe 中,因此廣告
。您必須製作 HTML
才能使廣告 (橫幅或插頁式廣告) 正確顯示在
iframe,且大小適合您出價的廣告版位。
此外,出價回應中宣告的廣告大小必須完全符合一個
出價請求中的大小組合的時機:
廣告是一般橫幅廣告 (非影片、原生或插頁式廣告)。
出價方已在出價回應中宣告大小。大小宣告為
因為請求裡出現多種大小時,才是必要的參數。
插頁式廣告的例外狀況。插頁式廣告寬度
不得小於螢幕寬度的 50%,高度至少須為 40%
以及螢幕高度
html_snippet
欄位支援任何符合以下條件的有效 HTML 程式碼:
可正確顯示,但請注意指定
建立 BidResponse 訊息 部分中的 buyer_creative_id
欄位。一
用途是將額外資訊放入
擷取自您的伺服器。這樣您就能
系統會將曝光的相關任意資料傳回您自己的伺服器。
在出價回應中傳回的 HTML 程式碼片段,大多是與
供第三方廣告使用參閱 Authorized Buyers
計劃指南 、第三方相關規定
廣告放送 ,以及宣告
到達網址 。
指定巨集
用來定義廣告素材的 HTML 程式碼片段
稱為巨集在廣告放送時,這些值會取代
巨集。舉例來說,您的用戶端出價應用程式可以使用
WINNING_PRICE
巨集來判斷贏得競價時需為廣告支付的費用
。若要剖析此巨集,您必須導入
可解密價格確認的應用程式。詳情請參閱解密價格
確認 網頁以取得更多資訊。
請在 HTML 片段中,按照
%%MACRO%%
,其中 MACRO
為支援的其中一項
。
注意: 僅適用於 AMP 廣告出價回應 (amp_ad_url
)
WINNING_PRICE
和 WINNING_PRICE_ESC
巨集是
支援。
根據 Google 規定,您必須使用 CLICK_URL_UNESC
或
CLICK_URL_ESC
巨集位於第三方放送的廣告素材中
廣告。Google 會使用 CLICK_URL
巨集來追蹤點擊。
若要使用巨集,請將它加入廣告中,以便在
或是有人點選影片擷取所傳回的值是重新導向至另一個
您附加至 CLICK_URL
的網址。
注意: 除了這些 DoubleClick 巨集外,我們也支援
OpenRTB 巨集。請參閱 OpenRTB
規格 。
巨集
說明
ADVERTISING_IDENTIFIER
允許買方在顯示曝光時接收 iOS IDFA 或 Android 廣告 ID。
請參閱解密廣告主 ID 。
。
CACHEBUSTER
隨機、無正負號四位元組整數的字串。
CLICK_URL_UNESC
廣告的未逸出點擊網址。在程式碼片段中,
第三方點擊網址應緊接在巨集的後方。
舉例來說,如果第三方點擊網址為
http://my.adserver.com/some/path/handleclick?click=clk
,
下列程式碼的單一逸出版本
第三方點擊網址:
<a href="%%CLICK_URL_UNESC%%http%3A%2F%2Fmy.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a>
放送廣告時,以上程式碼會展開為:
<a href="http://google-click-url?...&ad_url=http%3A%2F%2Fmy.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a>
這個網址會先向 Google 登錄點擊,接著再重新導向至第三方點擊網址。
CLICK_URL_ESC
廣告的逸出點擊網址。使用此 API 取代
如果需要先將值傳遞到「CLICK_URL_UNESC
」
再由另一個伺服器傳回重新導向。
舉例來說,您可以在 HTML 程式碼片段中使用下列程式碼:
<a href="http://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC%%"></a>
放送廣告時,以上程式碼會展開為:
<a href="http://my.adserver.com/click?google_click_url=http://google-click- url%3F...%26ad_url%3D"></a>
這會向 my.adserver.com
登錄點擊,
接著就必須負責重新導向至
google_click_url
參數。本例是假設
my.adserver.com
未逸出 google_click_url
參數。
您可以將雙重逸出網址附加在
%%CLICK_URL_ESC%%
。反向解碼作業完成後,
my.adserver.com
,保留網址的單一逸出版本
附加至 google_click_url
。當
系統擷取了 google_click_url
,之後會再取消逸出一次,
重新導向。
CLICK_URL_ESC_ESC
廣告的雙重逸出網址。使用此 API 取代
如果需要先將值傳遞到「CLICK_URL_UNESC
」
再由另一個伺服器傳回重新導向。
舉例來說,您可以在 HTML 程式碼片段中使用下列程式碼:
<a href="http://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC_ESC%%"></a>
放送廣告時,以上程式碼會展開為:
<a href="http://my.otheradserver.com/click?google_click_url=http%3A%2F%2Fmy.adserver.com%2Fclick%3Fgoogle_click_url%3Dhttp%3A%2F%2Fgoogle-click-%20url%253F...%2526ad_url%253D"></a>
SCHEME
如果出價要求不需要 SSL 或為http:
如果出價要求需要 SSL,則為 https:
。
SITE
內容網址的網址逸出網域,或匿名廣告空間的匿名編號。
SITE_URL
已淘汰,由提供相同功能的 SITE 巨集取代。
TZ_OFFSET
時區偏移。
VERIFICATION
製作階段以及系統在驗證期間掃描廣告素材時的不同值
這種模型通常已開放原始碼
可以透過自訂筆記本或管線微調格式為:%%?VERIFICATION:true-val:false-val%%
,其中任何
的值 (巨集除外) 可用於 true-val
和 false-val
、
包括空字串如果是公開出價,我們建議廣告交易平台使用這個巨集;
這時需求端平台就不需要進行任何變更。
例如,假設廣告素材要包含 %%?VERIFICATION:-1:5000%%
那麼文字替代文字會在5000
放送,而-1
驗證管道以便區分這兩組連線偵測 (ping)。
WINNING_PRICE
經過編碼的曝光費用 (亦即單次安裝出價,而非千次曝光出價),
帳戶幣別的百萬分之一。例如,勝出的千次曝光出價是 $5 美元
相當於 5,000,000 個微量千次曝光出價或 5,000 百萬分之一的單次安裝出價解碼器
在本例中,WINNING_PRICE
的值會是 5,000。
單次安裝出價中會指定得標價格。
WINNING_PRICE_ESC
網址逸出的 WINNING_PRICE
。
巨集中的網址逸出會使用以下配置:
空格字元會由加號 (+
) 取代。
英數字元 (0-9、a-z、A-Z) 以及 !()*,-./:_~ 組合中的字元則維持不變。
所有其他字元都會由 %XX
取代,其中 XX
為十六進位
代表字元的「數字」
發佈商限制
發布商可以使用 BidRequest
傳遞限制的廣告
允許的內容您必須強制執行下列欄位中的限制:
allowed_vendor_type
excluded_attribute
excluded_sensitive_category
一個欄位指定允許的廣告功能,另一個欄位則指定
不允許使用的功能切勿使用禁用功能傳回廣告。允許
例如供應商類型等功能
BidRequest
中的 allowed_vendor_type
清單。詳情請參閱
BidRequest
通訊協定緩衝區中這些欄位的註解
定義。
如果 BidResponse
中傳回 HTML 程式碼片段,
需要正確設定 attribute
、category
和 BidResponse
中的 click_through_url
欄位。
如果廣告對這些欄位有多個適用的值,您必須
包含所有值如要查看這些欄位的註解,請參閱
BidResponse
通訊協定緩衝區定義。
系統會捨棄未設定這些欄位的回應。
BidRequest.excluded_attribute
可能的值為
(請參閱 publisher-excludable-creative-attributes.txt ):
7 Tagging: IsTagged
如果廣告包含像素或網路信標,以便建立清單,
Cookie ID,以便用於後續再行銷。
8 CookieTargeting: IsCookieTargeted
如果廣告是根據 Cookie 編號指定消費者,而 Cookie ID 清單代表的是這些客戶,廣告一律不允許放送
曾與買方所擁有或代表的網站互動的一群消費者。
9 UserInterestTargeting: IsUserInterestTargeted
如果廣告是根據 Cookie 編號指定消費者,而 Cookie ID 清單代表的是這些客戶,廣告一律不允許放送
特定消費者群 (由買方定義為共同興趣群組)。
21 CreativeType: Html
禁止廣告使用html_snippet
或snippet_template
欄位 BidResponse.Ad
。
22 CreativeType: VastVideo
禁止廣告使用「BidResponse.Ad
」中的「video_url
」欄位。
30 InstreamVastVideoType: Vpaid
系統不允許根據 VPAID 支援顯示廣告。
32 MraidType: MRAID
我們不允許廣告需要 MRAID API 才能顯示。
34 RichMediaCapabilityType: RichMediaCapabilityFlash
我們不允許需支援 Flash 才能顯示廣告。
39 RichMediaCapabilityType: RichMediaCapabilityHTML5
禁止規定必須顯示 HTML5 功能才能顯示廣告。
48 RichMediaCapabilityType: RichMediaCapabilityNonSSL
系統不允許廣告提出非 SSL 請求。
因此,如果 excluded_attribute
欄位含有這個值
7,則不得傳回使用像素或網路信標的廣告
並製作一份清單請注意,如果有廣告這麼做,則必須將
BidResponse
的屬性欄位。
同樣地,如果 excluded_attribute
欄位包含 48 這個值,
那麼,您應該只傳回能在 SSL 網頁上顯示的廣告 (
宣告屬性 47 RichMediaCapabilityType: RichMediaCapabilitySSL)。
此外,物件的 excluded_sensitive_category
欄位
BidRequest
會使用
參考資料 頁面提供了 ad-sensitive-categories.txt
檔案。以下是
其中部分程式碼的說明:
3 Politics
包含政治或具爭議性社會議題的內容;不包括整體來說不涉及任何黨派觀點的新聞機構廣告。
4 Dating
包含交友服務和線上交友社群。
5 Religion
包含宗教信仰廣告以及宣揚或反對宗教觀點的廣告;不包含占星術或非宗派靈修類。
7 Video Games (Casual & Online)
包含電玩遊戲、線上遊戲和可供下載的遊戲。不含電玩遊戲主機。
8 Ringtones & Downloadables
鈴聲等手機外掛程式和其他可下載的內容,例如電腦螢幕保護程式和桌布,以及社群網路的個人資料配置與圖片。
10 Get Rich Quick
保證能快速帶來收益的方案。
18 Weight Loss
包含減重、節食及相關產品和計畫。不包含健康飲食或一般健身廣告。
19 Cosmetic Procedures & Body Modification
包含拉皮、抽脂、雷射手術、除毛和植髮、刺青和身體改造。
23 Drugs & Supplements:
包含藥品、維他命、營養補充品和相關零售商;不含提供藥物資訊的資源。
24 Sexual & Reproductive Health
包含性功能和壯陽廣告。不含一般懷孕資源。
35 Social Casino Games
包含無法贏得任何有價物品 (如現金或獎品) 的模擬賭博遊戲 (包括但不限於撲克牌、吃角子老虎、賓果、彩券、運動投注、競賽投注,以及其他紙牌遊戲和賭場遊戲)。
36 Significant Skin Exposure
廣告圖片中有任何從胸骨到大腿中段的人體部分未以衣物遮蔽或身體穿著內衣、泳衣、內衣或其他透明衣物,或非衣物 (例如毛巾或床單),
37 Sensationalism
這類廣告通常會以誇大用語或圖像引發使用者好奇,誘使他們點擊廣告。以聳動性主題 (例如名人遭逮捕、死亡、離婚) 或意圖驚嚇他人的廣告來說都算在內。
Open Measurement
透過 Open Measurement,您可以指定提供獨立評估和
驗證服務,用於放送放送到行動應用程式環境的廣告。
目前支援的廣告格式包含影片、橫幅廣告和插頁式廣告。如要進一步瞭解
如要瞭解如何在包含這些格式的出價回應中使用 Open Measurement,請參閱 Open Measurement SDK 說明中心
文章。
出價回應範例
以下各節說明不同廣告類型的出價回應範例。
應用程式橫幅廣告
Google
顯示範例
ad {
html_snippet : "<iframe marginwidth = 0 marginheight = 0 height = 600 frameborder = 0 width = 160 scrolling = no src = \ "https : //test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe> "
adslot {
id : 1
max_cpm_micros : 31014
billing_id : 16751333146
}
click_through_url : "google . com "
attribute : 47
attribute : 50
category : 0
buyer_creative_id : "test_creative_id_173035 "
advertiser_name : "Google "
width : 300
height : 250
impression_tracking_url : "https : //test.com/imp?id=123456 "
event_notification_token : "token "
advertised_app_id : "APP_ID_OMITTED "
app_promotion_type : INSTALLS
}
processing_time_ms : 10
OpenRTB JSON
顯示範例
{
"id ": "SwkWZ9w3I3gJ803j84253U ",
"seatbid ": [
{
"bid ": [
{
"id ": "ro22H780p349mF6oe0h ",
"impid ": "1 ",
"price ": 0.04001 ,
"adid ": "test_creative_id_978541 ",
"adm ": "<iframe marginwidth = 0 marginheight = 0 height = 600 frameborder = 0 width = 160 scrolling = no src = \ "https : //test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>",
"adomain ": [
"google . com "
],
"cid ": "82346236545 ",
"crid ": "test_creative_id_978541 ",
"w ": 390 ,
"h ": 61 ,
"ext ": {
"skadn ": {
"version ": "3.0 ",
"network ": "5 c39728P ",
"campaign ": "10199716 ",
"itunesitem ": "640052147 ",
"sourceapp ": "com . google . testapp ",
"fidelities ": [
{
"fidelity ": 1 ,
"nonce ": "9 b05b355 - a526 - 4 f7c - 9925 - ab5c91b9dbef ",
"signature ": "0 HY71438fqxkY2tqD14kV9DY1q3Fi77sc99e0D97Qo833M266T75c28Y5NM23wiL61WyNCe0277ER5eM32UxaKGf99GUM1jI ",
"timestamp ": "1714079463090 "
},
{
"fidelity ": 0 ,
"nonce ": "9 b05b355 - a526 - 4 f7c - 9925 - ab5c91b9dbef ",
"signature ": "J6RVg1KI31q1lB68f6F16fA07kY93DAYU2IL5ETDuvczR48oMr3S3X9tIohWi4L2VcE0w4mi42o0Mqa174U7o65951z44ru4 ",
"timestamp ": "1714079463090 "
}
]
},
"app_promotion_type ": "INSTALLS ",
"impression_tracking_url ": [
"https : //test.com/impression?id=123456",
"https : //test.com/impression?id=123456 "
]
}
}
],
"seat ": "4372 : 2283 : 725828 "
}
],
"bidid ": "Z8aZJEk4 - r2e3z85n - je52 - q0E586r76K4T "
}
OpenRTB 通訊協定緩衝區
顯示範例
id : "m7T91l3qg177P4b39N26W1 "
seatbid {
bid {
id : "5 viGQ43x3HI44d22DW3 "
impid : "1 "
price : 0.040404
adid : "test_creative_id_566440 "
adm : "<iframe marginwidth = 0 marginheight = 0 height = 600 frameborder = 0 width = 160 scrolling = no src =\ "https :// test . com / ads ? id = 123456 &curl =%% CLICK_URL_ESC %% &wprice =%% WINNING_PRICE_ESC %%\"></ iframe> "
adomain : "google . com "
cid : "67427969102 "
crid : "test_creative_id_566440 "
cat : "IAB3 "
cat : "IAB13 "
w : 320
h : 50
burl : "https :// test . com / imp ? id = 123456 "
[ com . google . doubleclick . bid ] {
billing_id : 67427969102
}
}
seat : "1912 : 1424 : 626226 "
group : false
}
bidid : "38508 qU5 - 957 YGflD - M2rg - 7 B19HjXU00n2 "
cur : "USD "
應用程式插頁式廣告
Google
顯示範例
ad {
html_snippet : "<iframe marginwidth = 0 marginheight = 0 height = 600 frameborder = 0 width = 160 scrolling = no src = \ "https : //test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe> "
adslot {
id : 1
max_cpm_micros : 1079285
billing_id : 37034094959
currency : "TWD "
}
click_through_url : "google . com "
attribute : 105
attribute : 47
category : 7
buyer_creative_id : "test_creative_id_903208 "
advertiser_name : "Google "
width : 398
height : 744
impression_tracking_url : "https : //test.com/imp?id=123456 "
impression_tracking_url : "https : //test.com/imp?id=123456 "
event_notification_token : "token "
skadn {
version : "4.0 "
network : "41 dEOEaD "
itunesitem : "151251861 "
sourceapp : "500811620 "
fidelities {
fidelity_type : VIEW_THROUGH_ADS
nonce : "0 c9020f9 - 14 c4 - 4 dcd - 8944 - 23 ab140556a8 "
timestamp : 1714094838257
signature : "p1f6bi578Q0jX163o5ws6n630p142H1v75rziXPtoak952g0Be18230732OkYu7epL9elCJ25078L09G5Mi6u7s7MyO2j5sI "
}
fidelities {
fidelity_type : STOREKIT_RENDERED_ADS
nonce : "0 c9020f9 - 14 c4 - 4 dcd - 8944 - 23 ab140556a8 "
timestamp : 1714094838257
signature : "JFtn495ab0EX97ci69Ru9c39ot9TWn5T0052F4439Y2a9u7zN2do7Q9AH4N584irpJmS8K877980K14iQgO74I33vgx231Cf "
}
skadn_options {
always_open_appstore : true
}
source_identifier : 72
}
}
processing_time_ms : 70
OpenRTB JSON
顯示範例
{
"id ": "BQig8glrLj2K7p818w3s0S ",
"seatbid ": [
{
"bid ": [
{
"id ": "v0x1j4q0B388Z5lv600 ",
"impid ": "1 ",
"price ": 0.25109 ,
"adid ": "test_creative_id_654733 ",
"adm ": "<iframe marginwidth = 0 marginheight = 0 height = 600 frameborder = 0 width = 160 scrolling = no src = \ "https : //test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>",
"adomain ": [
"google . com "
],
"cid ": "73848702501 ",
"crid ": "test_creative_id_654733 ",
"w ": 428 ,
"h ": 846 ,
"ext ": {
"skadn ": {
"version ": "4.0 ",
"network ": "43 D4r5x9 ",
"sourceidentifier ": "6217 ",
"itunesitem ": "950280085 ",
"sourceapp ": "com . google . testapp ",
"fidelities ": [
{
"fidelity ": 0 ,
"nonce ": "0 d223af6 - 1847 - 43 aa - 9 f4f - 963 de4468b68 ",
"signature ": "8 fZn83e3d0742gU7E8Ra7Vif4v1vK61X899f7G7q9Dl998035Gq81Zd4r3032814bQ03HP49709yf38n6U35YY29D0w2Ac5B ",
"timestamp ": "1714058970102 "
},
{
"fidelity ": 1 ,
"nonce ": "0 d223af6 - 1847 - 43 aa - 9 f4f - 963 de4468b68 ",
"signature ": "zs0k0e335UoH9M6mp1V228I8JAl2526LCKF0dc2l8x7o4270lsQ37B12Cf91a770RcNqSG7Kl667xsw97Eo4nA23o41h3c0H ",
"timestamp ": "1714058970102 "
}
]
},
"app_promotion_type ": "INSTALLS ",
"impression_tracking_url ": [
"https : //test.com/impression?id=123456",
"https : //test.com/impression?id=123456 "
]
}
}
],
"seat ": "9150 : 1636 : 894279 "
}
],
"bidid ": "taiup4HY - 42 ggR62I - 120 u - 3 kyZ4831M9Yt "
}
OpenRTB 通訊協定緩衝區
顯示範例
id : "wqZn032336g5U2Saroj8Lc "
seatbid {
bid {
id : "mTD7EYxAyF6n763v7pJ "
impid : "1 "
price : 0.033932000398635864
adid : "test_creative_id_237493 "
adm : "<iframe marginwidth = 0 marginheight = 0 height = 600 frameborder = 0 width = 160 scrolling = no src = \"https : // test . com / ads ? id = 123456 &curl =%% CLICK_URL_ESC %% &wprice =%% WINNING_PRICE_ESC %% \"></ iframe >"
adomain : "google . com "
adomain : "google . com "
cid : "42834631855 "
crid : "test_creative_id_237493 "
cat : "IAB2 - 18 "
cat : "IAB20 "
w : 360
h : 711
burl : "https : // test . com / imp ? id = 123456 "
[ com . google . doubleclick . bid ] {
impression_tracking_url : "https : // test . com / impression ? id = 123456 "
attribute : 8
event_notification_token {
payload : "token "
}
billing_id : 42834631855
}
}
}
bidid : "62 i6224k - ada8764U - y4Fi - 2 z760VkR3s35 "
cur : "USD "
應用程式插頁式影片
Google
顯示範例
ad {
adslot {
id : 1
max_cpm_micros : 5037989
billing_id : 82632801525
currency : "TWD "
}
click_through_url : "google . com "
attribute : 47
category : 7
buyer_creative_id : "test_creative_id_497252 "
advertiser_name : "Google "
width : 720
height : 1280
video_vast_xml : "OMITTED_VAST_XML "
event_notification_token : "token "
advertised_app_id : "APP_ID_OMITTED "
app_promotion_type : INSTALLS
}
processing_time_ms : 70
OpenRTB 通訊協定緩衝區
顯示範例
id : "cRPF1960K8WH788KM8ZT5k "
seatbid {
bid {
id : "99862 J52T2r9f8n6hzY "
impid : "1 "
price : 0.2873480215418293
adid : "test_creative_id_958969 "
adm : "https :// video . test . com / ads ? id = 123456 &wprice =%% WINNING_PRICE %% "
adomain : "google . com "
cid : "80831705186 "
crid : "test_creative_id_958969 "
w : 480
h : 854
}
seat : "5731 : 4728 : 218110 "
}
bidid : "dR2wx766 - 444 e907U - Xpv0 - 634 m58Wa5V73 "
cur : "USD "
應用程式原生廣告
Google
顯示範例
ad {
adslot {
id : 1
max_cpm_micros : 1581987
billing_id : 32132054378
}
click_through_url : "google . com "
attribute : 47
attribute : 8
buyer_creative_id : "test_creative_id_285893 "
advertiser_name : "Google "
native_ad {
headline : "Luxury Mars Cruises "
body : "Visit the planet in a luxury spaceship . "
call_to_action : "Book today "
advertiser : "Galactic Luxury Cruises "
image {
url : "https : //native.test.com/image?id=123456 "
width : 800
height : 800
}
logo {
url : "https : //native.test.com/logo?id=123456 "
width : 200
height : 200
}
price : "\ 342 \ 202 \ 254106.40 "
click_link_url : "https : //www.google.com "
}
impression_tracking_url : "https : //test.com/imp?id=123456 "
impression_tracking_url : "https : //test.com/imp?id=123456 "
ad_choices_destination_url : "https : //test.com/preferences "
event_notification_token : "token "
}
processing_time_ms : 20
OpenRTB JSON
顯示範例
{
"id ": "3 u95d40fy46B0y3CEL73uy ",
"seatbid ": [
{
"bid ": [
{
"id ": "d501820Aa099K69Ia64 ",
"impid ": "1 ",
"price ": 1.63 ,
"burl ": "https : // test . com / imp ? id = 123456 ",
"adm ": "{ \"assets \": [{ \"id \": 1 , \"required \": 1 , \"title \": { \"text \": \"Luxury Mars Cruises \"}}, { \"id \": 2 , \"required \": 1 , \"data \": { \"value \": \"Visit the planet in a luxury spaceship . \", \"label \": \"\"}}, { \"id \": 3 , \"data \": { \"value \": \"Book today \", \"label \": \"\"}}, { \"id \": 4 , \"required \": 1 , \"data \": { \"value \": \"Galactic Luxury Cruises \", \"label \": \"\"}}, { \"id \": 5 , \"required \": 1 , \"img \": { \"url \": \"https : // native . test . com / image ? id = 123456 \", \"h \": 628 , \"w \": 1200 }}, { \"id \": 6 , \"img \": { \"url \": \"https : // native . test . com / logo ? id = 123456 \", \"h \": 640 , \"w \": 640 }}], \"link \": { \"url \": \"https : // www . google . com \", \"clicktrackers \": [ \"https : // native . test . com / click ? id = 123456 \"]}, \"imptrackers \": [ \"https : // test . com / impression ? id = 123456 &amt =$ { AUCTION_PRICE } \"], \"privacy \": \"\"}",
"adid ": "test_creative_id_237765 ",
"adomain ": [
"google . com "
],
"cid ": "30567639040 ",
"crid ": "test_creative_id_237765 ",
"cat ": [
"IAB8 "
],
"ext ": {
"skadn ": {
"version ": "3.0 ",
"network ": "345 vh5bv ",
"campaign ": "62744790 ",
"itunesitem ": "608550422 ",
"sourceapp ": "com . google . testapp ",
"fidelities ": [
{
"fidelity ": 0 ,
"nonce ": "88 db095e - 1022 - 48 bb - ad38 - 54 a1075886aa ",
"timestamp ": "1714430552729 ",
"signature ": "4063 Vhn5W7oGEcJ202oj6k990Y3H7f9sJ6luK3O65RbQ3S9kp45VK84le4a424c6SU79384DTdXS1cHWcxl9SB98563Y38K9 "
},
{
"fidelity ": 1 ,
"nonce ": "88 db095e - 1022 - 48 bb - ad38 - 54 a1075886aa ",
"timestamp ": "1714430552729 ",
"signature ": "r1852LY7j0f25q2s868j1Ub7r07S16e607BC5909O272F8i528732r22W7D138t3706205Ez139N73Iho3vJKp257Pp4vmet "
}
]
},
"app_promotion_type ": 1 ,
"event_notification_token ": {
"payload ": "token "
}
}
}
],
"seat ": "3512 : 7802 : 295531 "
}
],
"cur ": "USD "
}
OpenRTB 通訊協定緩衝區
顯示範例
id : "P3mh232944yQx803R73ayZ "
seatbid {
bid {
id : "79 B1S3h454910R471JL "
impid : "1 "
price : 0.044748470187187195
adomain : "google . com "
cid : "52078759229 "
crid : "test_creative_id_537521 "
cat : "IAB20 "
burl : "https : // test . com / imp ? id = 123456 "
adm_native {
ver : "1.2 "
assets {
id : 1
required : true
title {
text : "Luxury Mars Cruises "
}
}
assets {
id : 5
required : true
img {
url : "https : // native . test . com / image ? id = 123456 "
w : 1200
h : 627
type : MAIN
}
}
assets {
id : 6
required : false
img {
url : "https : // native . test . com / logo ? id = 123456 "
w : 100
h : 100
type : LOGO
}
}
assets {
id : 2
required : true
data {
value : "Visit the planet in a luxury spaceship . "
type : DESC
}
}
assets {
id : 3
required : false
data {
value : "Book today "
type : CTATEXT
}
}
assets {
id : 4
required : true
data {
value : "Galactic Luxury Cruises "
type : SPONSORED
}
}
link {
url : "https : // www . google . com "
clicktrackers : "https : // native . test . com / click ? id = 123456 "
}
eventtrackers {
event : IMPRESSION
method : IMG
url : "https : // test . com / event ? id = 123456 "
}
}
[ com . google . doubleclick . bid ] {
event_notification_token {
payload : "token "
}
billing_id : 52078759229
}
}
seat : "2237 : 7356 : 617887 "
}
cur : "USD "
網路影片
Google
顯示範例
ad {
adslot {
id: 1
max_cpm_micros: 16000000
billing_id: 34223090460
deal_id: 17775265
}
click_through_url: "google.com"
attribute: 47
attribute: 8
video_url: "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%"
buyer_creative_id: "test_creative_id_551392"
advertiser_name: "Google"
event_notification_token: "token"
}
processing_time_ms: 7
廣告交易平台出價工具的行動版網站橫幅廣告
OpenRTB 通訊協定緩衝區
顯示範例
id : "878 w58e050dSf05LS9l424 "
seatbid {
bid {
id : "478 u6K990C990n7FPTX "
impid : "1 "
price : 0.03
adm : "<iframe marginwidth = 0 marginheight = 0 height = 600 frameborder = 0 width = 160 scrolling = no src = \"https : // test . com / ads ? id = 123456 &curl =%% CLICK_URL_ESC %% &wprice =%% WINNING_PRICE_ESC %% \"></ iframe >"
adomain : "google . com "
cid : "46483683815 "
crid : "test_creative_id_527097 "
w : 320
h : 50
[ com . google . doubleclick . bid ] {
impression_tracking_url : "https : // test . com / impression ? id = 123456 "
impression_tracking_url : "https : // test . com / impression ? id = 123456 "
event_notification_token {
payload : "token "
}
billing_id : 46483683815
}
}
seat : "6954 : 3639 : 781296 "
}
bidid : "7 a2CAWgt - IKR8mp06 - 0E3 d - TPNq4zO9l767 "
[ com . google . doubleclick . bid_response ] {
processing_time_ms : 120
}