หลังจากแอปพลิเคชันประมวลผลคําขอราคาเสนอจาก Google แล้ว แอปพลิเคชันต้องสร้างและส่งการตอบกลับ คู่มือนี้จะอธิบายวิธีเขียนโค้ดแอปพลิเคชันเพื่อสร้างคำตอบ
ข้อควรระวัง: ระบบเลิกใช้งานโปรโตคอล RTB ของ Google แล้ว ตัวอย่างในคู่มือนี้จะใช้การติดตั้งใช้งาน OpenRTB Protobuf ของ Google เว้นแต่จะระบุไว้เป็นอย่างอื่น
สร้างข้อความ BidResponse ของ Protobuf
Authorized Buyers ส่ง BidRequest
เป็นเนื้อหาข้อความของ HTTP POST
หากปลายทางการเสนอราคาได้รับการกําหนดค่าให้ใช้รูปแบบ Protobuf แอปพลิเคชันของคุณต้องส่งการตอบกลับโดยตั้งค่าส่วนหัว Content-Type
เป็น application/octet-stream
และเนื้อหาข้อความประกอบด้วยโปรโตคอลบัฟเฟอร์ที่แปลงเป็นอนุกรม บัฟเฟอร์โปรโตคอลคือข้อความ BidResponse
ตามที่ระบุไว้ใน openrtb.proto
แอปพลิเคชันของคุณต้องส่งBidResponse
ที่แยกวิเคราะห์ได้เพื่อตอบสนองต่อBidRequest
ทุกรายการ การหมดเวลาและการตอบกลับที่แยกวิเคราะห์ไม่ได้ถือเป็นข้อผิดพลาด และ Google จะควบคุมผู้เสนอราคาที่มีอัตราข้อผิดพลาดสูง
หากไม่ต้องการเสนอราคาสำหรับการแสดงผล คุณต้องส่งการตอบกลับ HTTP 204 ว่าง คุณรับ openrtb.proto
ได้จากหน้าข้อมูลอ้างอิง
รหัสครีเอทีฟโฆษณา
BidResponse
จะระบุครีเอทีฟโฆษณาผ่านช่อง
BidResponse.seatbid.bid.crid
(สูงสุด 64 ไบต์) แม้กระทั่งครีเอทีฟโฆษณาที่คล้ายกันก็ต้องมีค่าที่ไม่ซ้ำกันสำหรับช่องนี้หากมีลักษณะเด่นแตกต่างกัน ซึ่งรวมถึงแต่ไม่จํากัดเพียงขนาด, URL ที่ประกาศ, แอตทริบิวต์ครีเอทีฟโฆษณา และประเภทผู้ให้บริการ กล่าวคือ คุณต้องกําหนดรหัสครีเอทีฟโฆษณาที่แตกต่างกันให้กับโฆษณา 2 รายการที่มีลักษณะต่อไปนี้
มีลักษณะหรือทำงานแตกต่างจากปกติ
แสดงผลเป็นภาพอื่น
แสดงผลด้วยวิธีที่แตกต่างกัน (เช่น โฆษณาหนึ่งประกอบด้วยรูปภาพ ส่วนอีกโฆษณาหนึ่งเป็นวิดีโอ)
เมื่อออกแบบแอปพลิเคชัน คุณควรเลือกวิธีสร้างตัวระบุอย่างเป็นระบบซึ่งเหมาะกับประเภทครีเอทีฟโฆษณาที่วางแผนจะส่ง
แอตทริบิวต์โฆษณา
Google ขอแนะนําให้ประกาศแอตทริบิวต์ครีเอทีฟโฆษณาเพื่ออธิบายลักษณะและการกำหนดเป้าหมายของโฆษณาโดยใช้การผสมผสานระหว่าง BidResponse.seatbid.bid.apis
และ BidResponse.seatbid.bid.attr
หรือส่วนขยาย BidResponse.seatbid.bid.ext.attribute
ต่อไปนี้อธิบายวิธีประกาศแอตทริบิวต์
VPAID
ตั้งค่า BidResponse.seatbid.bid.apis
เป็น VPAID_1
หรือ VPAID_2
สำหรับรูปแบบ JSON คุณสามารถตั้งค่าเป็น 1
หรือ 2
ตามลำดับ
MRAID
ตั้งค่า BidResponse.seatbid.bid.apis
เป็น MRAID_1
หรือ 3
สำหรับรูปแบบ JSON
SIZELESS
ตั้งค่า BidResponse.seatbid.bid.attr
เป็น RESPONSIVE
หรือ 18
สำหรับรูปแบบ JSON
PLAYABLE
ซึ่งระบุได้โดยการตั้งค่า BidResponse.seatbid.bid.attr
เป็น USER_INTERACTIVE
หรือ 13
สำหรับรูปแบบ JSON
ดูคำอธิบายเกี่ยวกับวิธีรับความคิดเห็นเกี่ยวกับพร็อพเพอร์ตี้ที่ตรวจพบของครีเอทีฟโฆษณาในแหล่งข้อมูลครีเอทีฟโฆษณา
ช่องการเสนอราคาแบบเปิด
การตอบกลับราคาเสนอที่ผู้เสนอราคา Exchange และเครือข่ายที่เข้าร่วมการเสนอราคาแบบเปิดส่งจะคล้ายกับของ Authorized Buyers ที่เข้าร่วมการเสนอราคาแบบเรียลไทม์มาตรฐาน ลูกค้าการเสนอราคาแบบเปิดสามารถระบุช่องเพิ่มเติมได้จํานวนไม่มากนัก และช่องที่มีอยู่ 2-3 ช่องอาจมีการใช้งานอื่น ซึ่งรวมถึงแอปต่อไปนี้
OpenRTB
Authorized Buyers
รายละเอียด
BidResponse.imp[].pmp.deals[].id
BidResponse.ad[].adslot[].exchange_deal_id
รหัสดีลจากเนมสเปซของพาร์ทเนอร์การซื้อขายที่เชื่อมโยงกับราคาเสนอนี้และรายงานไปยังผู้เผยแพร่โฆษณา
หมายเหตุ: ระบบจะส่งฟิลด์นี้ไปยังผู้เข้าร่วมเวอร์ชันเบต้าแบบจำกัดเท่านั้น
BidResponse.seatbid[].bid[].ext.exchange_deal_type
BidResponse.ad[].adslot[].exchange_deal_type
ประเภทดีลที่รายงานไปยังผู้เผยแพร่โฆษณา ซึ่งส่งผลต่อวิธีจัดการดีลในการประมูล
หมายเหตุ: ระบบจะส่งฟิลด์นี้ไปยังผู้เข้าร่วมเวอร์ชันเบต้าแบบจำกัดเท่านั้น
BidResponse.seatbid[].bid[].ext.third_party_buyer_token
BidResponse.ad[].adslot[].third_party_buyer_token
โทเค็นที่ใช้ระบุข้อมูลผู้ซื้อบุคคลที่สามปลายทางในกรณีที่ Exchange เป็นผู้เสนอราคาในการเสนอราคาแบบเปิดซึ่งเป็นสื่อกลาง ข้อมูลนี้ได้รับจากผู้ซื้อบุคคลที่สาม และต้องส่งไปยัง Google โดยไม่เปลี่ยนแปลงในการเสนอราคาตอบ
คำแนะนำ
ตัวอย่างการเสนอราคาตอบ
ตัวอย่างต่อไปนี้แสดงตัวอย่างคําขอ Protobuf และ JSON ที่มนุษย์อ่านได้
OpenRTB Protobuf
แสดงตัวอย่างให้ฉันดู
การตอบกลับแบบอนุกรม
id : "9u09jhHJXT2fbaDZ9V1x66"
seatbid {
bid {
id : "37Td8Gbw1Lr8161bA4B"
impid : "1"
price : 0.075
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"
crid : "test_creative_id_156129"
cat : "IAB22"
w : 320
h : 50
language : "es"
slotinpod : SLOT_POSITION_POD_ANY
cattax : IAB_CONTENT_1_0
[ com . google . doubleclick . bid ] {
impression_tracking_url : "https://test.com/impression?id=123456"
exchange_deal_type : OPEN_AUCTION
event_notification_token {
payload : "token"
}
billing_id : 61560909063
}
}
seat : "4778:9251:780612"
}
cur : "USD"
OpenRTB JSON
แสดงตัวอย่างให้ฉันดู
{
"id" : "9u09jhHJXT2fbaDZ9V1x66" ,
"seatbid" : [
{
"bid" : [
{
"id" : "37Td8Gbw1Lr8161bA4B" ,
"impid" : "1" ,
"price" : 0.075 ,
"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" ,
"google.com"
],
"crid" : "test_creative_id_156129" ,
"cat" : [
"IAB22"
],
"w" : 320 ,
"h" : 50 ,
"language" : "es" ,
"slotinpod" : 0 ,
"cattax" : 1 ,
"ext" : {
"impression_tracking_url" : [
"https://test.com/impression?id=123456"
],
"exchange_deal_type" : 0 ,
"event_notification_token" : {
"payload" : "token"
},
"billing_id" : "61560909063"
}
}
],
"seat" : "4778:9251:780612"
}
],
"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: 226722
billing_id: 78614473201
currency: "USD"
}
click_through_url: "google.com"
attribute: 105
buyer_creative_id: "test_creative_id_827359"
width: 336
height: 280
impression_tracking_url: "https://test.com/imp?id=123456"
event_notification_token: "token"
}
สำคัญ: ข้อความ Protobuf ที่แสดงในตัวอย่างจะแสดงเป็นข้อความที่มนุษย์อ่านได้ แต่ระบบไม่ได้ส่งข้อความผ่านสายในลักษณะดังกล่าว เมื่อใช้รูปแบบ 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.seatbid.bid.ext.sdk_rendered_ad
AMP
BidResponse.seatbid.bid.amp_ad_url
วิดีโอ
BidResponse.seatbid.bid.adm
เนทีฟ
BidResponse.seatbid.bid.adm_native
ระบุโฆษณาที่โฮสต์บนเซิร์ฟเวอร์ของคุณเองโดยใช้ข้อมูลโค้ด HTML ในช่อง BidResponse.seatbid.bid.adm
ข้อมูลโค้ดอยู่ใน iFrame ที่แทรกลงในหน้าเว็บ ซึ่งจะดึงข้อมูลและแสดงผลโฆษณาเมื่อโหลดหน้าเว็บ คุณต้องสร้างข้อมูลโค้ด HTML เพื่อให้โฆษณา (แบนเนอร์หรือโฆษณาคั่นระหว่างหน้า) แสดงผลภายใน iFrame อย่างถูกต้องและมีขนาดที่เหมาะสมกับช่องโฆษณาที่คุณเสนอราคา
นอกจากนี้ ขนาดโฆษณาที่ประกาศในการเสนอราคาตอบต้องตรงกับชุดค่าผสมขนาดรายการใดรายการหนึ่งในคำขอราคาเสนอโดยสมบูรณ์ในกรณีต่อไปนี้
โฆษณาเป็นแบนเนอร์ปกติ (ไม่ใช่วิดีโอ เนทีฟ หรือคั่นระหว่างหน้า)
ผู้เสนอราคาได้ประกาศขนาดในการเสนอราคาตอบ ต้องประกาศขนาดทุกครั้งที่มีขนาดมากกว่า 1 ขนาดในคำขอ
ยกเว้นโฆษณาคั่นระหว่างหน้า สำหรับโฆษณาคั่นระหว่างหน้า ความกว้างต้องไม่ต่ำกว่า 50% ของความกว้างหน้าจอ และความสูงต้องไม่ต่ำกว่า 40% ของความสูงหน้าจอ
คุณสามารถระบุครีเอทีฟโฆษณาข้อมูลโค้ด HTML โดยใช้โค้ด HTML ที่ถูกต้องซึ่งแสดงผลอย่างถูกต้อง แต่โปรดคำนึงถึงข้อจํากัดในการระบุช่อง crid
ในส่วนสร้างข้อความ BidResponse
การใช้อย่างหนึ่งของคำสั่งนี้คือใส่ข้อมูลเพิ่มเติมลงในอาร์กิวเมนต์ของ URL ที่ดึงมาจากเซิร์ฟเวอร์ของคุณเพื่อเป็นส่วนหนึ่งของการแสดงผลโฆษณา ซึ่งจะช่วยให้คุณส่งข้อมูลการแสดงผลที่กำหนดเองกลับไปยังเซิร์ฟเวอร์ของคุณได้
นโยบายส่วนใหญ่สำหรับข้อมูลโค้ด HTML ที่แสดงในการเสนอราคาตอบจะเหมือนกับนโยบายสําหรับโฆษณาของบุคคลที่สาม ดูข้อมูลเพิ่มเติมได้ที่หลักเกณฑ์ของโปรแกรม Authorized Buyers , ข้อกำหนดสำหรับการแสดงโฆษณาของบุคคลที่สาม และประกาศ URL ของคลิกผ่านในโฆษณา
ระบุมาโคร
มาโครคือข้อความที่มีการจัดรูปแบบซึ่งฝังอยู่ในช่องการเสนอราคาที่ตอบสนองบางช่องซึ่งมี URL ที่จะแทนที่ด้วยค่าที่เกี่ยวข้อง ณ เวลาที่แสดงโฆษณา ตัวอย่างเช่น หากราคาเสนอที่ชนะมีมาโคร AUCTION_PRICE
ในครีเอทีฟโฆษณาข้อมูลโค้ด HTML ที่รวมอยู่กับราคาเสนอ ระบบจะแทนที่มาโครด้วยค่าที่คุณถอดรหัสได้เพื่อระบุจํานวนเงินที่คุณจ่ายสําหรับการแสดงผลในการประมูล
คุณใส่มาโครในฟิลด์ต่อไปนี้ได้
BidResponse.seatbid.bid.adm
ระบบรองรับมาโครสำหรับรูปแบบข้อมูลโค้ด HTML, เนทีฟ, URL วิดีโอ และ VAST XML ของวิดีโอ
BidResponse.seatbid.bid.adm_native.eventtrackers.url
BidResponse.seatbid.bid.adm_native.imptrackers
BidResponse.seatbid.bid.ext.amp_ad_url
ครีเอทีฟโฆษณา AMP รองรับเฉพาะมาโคร WINNING_PRICE
และ WINNING_PRICE_ESC
สำหรับ Google เท่านั้น
BidResponse.seatbid.bid.burl
BidResponse.seatbid.bid.ext.impression_tracking_url
ใช้ URL นี้แทน BidResponse.seatbid.bid.burl
หากต้องการใช้ URL การเรียกเก็บเงินมากกว่า 1 รายการ
ตัวอย่างเช่น คุณอาจรวมมาโครเป็นส่วนหนึ่งของข้อมูลโค้ด HTML โดยการฝัง ${MACRO}
ภายใน URL ที่ใช้ดึงข้อมูลครีเอทีฟโฆษณา โดยที่ MACRO
เป็นหนึ่งในมาโครที่รองรับซึ่งอธิบายไว้ในข้อกําหนด OpenRTB
มาโคร Google RTB
Google รองรับมาโครเพิ่มเติมนอกเหนือจากมาโครที่พบในข้อกําหนดของ OpenRTB โดยมาโครเหล่านี้มีรูปแบบแตกต่างกัน และจะปรากฏเป็น %%MACRO%%
หากฝังอยู่ใน URL ตารางต่อไปนี้อธิบายมาโครเหล่านี้
มาโคร
คำอธิบาย
ADVERTISING_IDENTIFIER
อนุญาตให้ผู้ซื้อรับ IDFA ของ iOS หรือรหัสโฆษณาของ Android ในการเรนเดอร์การแสดงผล
ดูรายละเอียดได้ที่การถอดรหัสตัวระบุผู้ลงโฆษณา
CACHEBUSTER
การนําเสนอสตริงของจํานวนเต็มแบบสุ่ม 4 ไบต์ที่ไม่มีการนําหน้า
CLICK_URL_UNESC
URL การคลิกที่ไม่ใช้ Escape สําหรับโฆษณา ในข้อมูลโค้ด URL การคลิกของบุคคลที่สามเวอร์ชันที่มีอักขระหลีกควรอยู่ต่อจากมาโครโดยตรง
ตัวอย่างเช่น หาก URL การคลิกของบุคคลที่สามคือ http://my.adserver.com/some/path/handleclick?click=clk
คุณจะสามารถใช้โค้ดต่อไปนี้กับ URL การคลิกของบุคคลที่สามเวอร์ชันที่มีการกำหนดเป็นอักขระหลีกเดี่ยวตามการเรียกใช้มาโคร
<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>
URL จะบันทึกการคลิกกับ Google ก่อน จากนั้นจึงเปลี่ยนเส้นทางไปยัง URL การคลิกของบุคคลที่สาม
CLICK_URL_ESC
URL การคลิกที่หนีค่าสำหรับโฆษณา ใช้ค่านี้แทน 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
ซึ่งจะมีหน้าที่รับผิดชอบในการเปลี่ยนเส้นทางไปยัง URL ที่ส่งมาในพารามิเตอร์ google_click_url
การดำเนินการนี้ถือว่า my.adserver.com
แปลงอักขระหลีกออกจากพารามิเตอร์ google_click_url
คุณสามารถใส่ URL ที่มีการหลีกหนี 2 ครั้งต่อท้าย %%CLICK_URL_ESC%%
ได้ หลังจาก my.adserver.com
ยกเลิกการหลีกแล้ว ระบบจะเพิ่ม URL เวอร์ชันที่มีการกำหนดเป็นอักขระหลีกรายการเดียวต่อท้าย google_click_url
เมื่อดึงข้อมูล google_click_url
ระบบจะถอดรหัสอีกรอบแล้วเปลี่ยนเส้นทาง
CLICK_URL_ESC_ESC
URL ที่มีการหลีก 2 ครั้งสําหรับโฆษณา ใช้ค่านี้แทน 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
ขยายเป็น http:
หากคำขอราคาเสนอไม่จําเป็นต้องใช้ SSL หรือเป็น https:
หากคำขอราคาเสนอต้องใช้ SSL
SITE
โดเมน URL ที่ใช้อักขระหลีกของ URL เนื้อหาหรือรหัสที่ไม่ระบุตัวตนสำหรับพื้นที่โฆษณาที่ไม่ระบุตัวตน
SITE_URL
เลิกใช้งานแล้ว แทนที่ด้วยมาโคร SITE ที่มีฟังก์ชันการทำงานเหมือนกัน
TZ_OFFSET
ออฟเซ็ตเขตเวลา
VERIFICATION
ค่าต่างๆ สําหรับเวอร์ชันที่ใช้งานจริงและเมื่อระบบสแกนครีเอทีฟโฆษณาในไปป์ไลน์การยืนยัน รูปแบบคือ
%%?VERIFICATION:true-val:false-val%%
โดยจะใช้ค่าใดก็ได้สำหรับ true-val
และ
false-val
ยกเว้นมาโคร รวมถึงสตริงว่าง สําหรับการเสนอราคาแบบเปิด เราขอแนะนําให้พาร์ทเนอร์การแลกเปลี่ยนใช้มาโครนี้ เมื่อใช้แล้ว แพลตฟอร์มฝั่งดีมานด์ก็ไม่จําเป็นต้องทําการเปลี่ยนแปลง
ตัวอย่างเช่น หากครีเอทีฟโฆษณามี %%?VERIFICATION:-1:5000%%
ข้อความที่แทนที่จะเป็น 5000
ในการแสดงและ -1
ในไปป์ไลน์การยืนยัน การดำเนินการนี้จะช่วยแยกความแตกต่างระหว่างพинг 2 ชุดนี้
WINNING_PRICE
ต้นทุนการแสดงผลที่เข้ารหัส (ซึ่งจะเป็น CPI ไม่ใช่ CPM) ที่เป็นจำนวนเล็กน้อยมากในสกุลเงินของบัญชี เช่น CPM ที่ชนะซึ่งมีค่าเป็น $5 USD จะเท่ากับ 5,000,000 ไมโคร CPM หรือ 5,000 ไมโคร CPI ค่า WINNING_PRICE
ที่ถอดรหัสแล้วในกรณีนี้จะเป็น 5,000
ราคาที่ชนะจะระบุด้วย CPI
หากต้องการแยกวิเคราะห์มาโครนี้ คุณจะต้องติดตั้งใช้งานแอปพลิเคชันที่ถอดรหัสการยืนยันราคา ดูข้อมูลเพิ่มเติมได้ที่หน้าการถอดรหัสการยืนยันราคา
WINNING_PRICE_ESC
WINNING_PRICE
ของ URL ที่ใช้อักขระหลีก
Google กําหนดให้คุณใช้มาโคร CLICK_URL_UNESC
หรือ CLICK_URL_ESC
ในครีเอทีฟโฆษณาของบุคคลที่สามที่แสดง Google ใช้มาโคร CLICK_URL
ในการติดตามการคลิก
การหลีก URL ในมาโครใช้รูปแบบต่อไปนี้
ระบบจะแทนที่อักขระเว้นวรรคด้วยเครื่องหมายบวก (+
)
อักขระที่เป็นตัวอักษรและตัวเลขคละกัน (0-9, a-z, A-Z) และอักขระจากชุด !()*,-./:_~ จะยังคงเหมือนเดิม
ระบบจะแทนที่อักขระอื่นๆ ทั้งหมดด้วย %XX
โดยที่ XX
คือตัวเลขฐาน 16 ที่แสดงถึงอักขระ
ข้อจำกัดและข้อกําหนดของผู้เผยแพร่โฆษณา
คำขอราคาเสนอมีข้อมูลเกี่ยวกับประเภทข้อจำกัดและข้อกําหนดที่ผู้เผยแพร่โฆษณากำหนดไว้สำหรับครีเอทีฟโฆษณาในการประมูล
BidRequest.bcat
คุณสามารถเปรียบเทียบหมวดหมู่ที่ถูกบล็อกซึ่งระบุโดยช่องนี้กับหมวดหมู่ที่ตรวจพบสำหรับครีเอทีฟโฆษณาที่ส่งโดยใช้ช่อง
detectedCategories
ของ Real-time Bidding API
BidRequest.imp.ext.allowed_vendor_type
BidRequest.imp.secure
ในทางปฏิบัติ ค่านี้จะตั้งเป็น true
เสมอเนื่องจาก Google กำหนดให้ครีเอทีฟโฆษณาทั้งหมดต้องรองรับ SSL
BidRequest.imp.{audio/banner/native/video}
BidRequest.imp.{audio/banner/native/video}.api
BidRequest.imp.{audio/banner/native/video}.battr
BidRequest.imp.{audio/banner/video}.mimes
อย่าเสนอราคาด้วยโฆษณาที่มีฟีเจอร์ที่ถูกจํากัด สําหรับฟีเจอร์ที่อนุญาต เช่น ประเภทผู้ให้บริการ ให้แสดงโฆษณาเฉพาะในกรณีที่ประเภทผู้ให้บริการอยู่ในรายการallowed_vendor_type
ในBidRequest
เฉพาะรูปแบบโฆษณาที่ระบุไว้ในคําขอราคาเสนอโดยการป้อนข้อมูลในช่องต่างๆ เช่น BidRequest.imp.banner
ควรรวมอยู่ในราคาเสนอ ดูรายละเอียดเพิ่มเติมได้ในความคิดเห็นสำหรับฟิลด์เหล่านี้ในคำจำกัดความBidRequest
บัฟเฟอร์โปรโตคอล
หากระบบแสดงโฆษณาใน BidResponse
คุณจะต้องตั้งค่าฟิลด์ BidResponse.seatbid.bid.attr
,
BidResponse.seatbid.bid.cat
และ BidResponse.seatbid.bid.adomain
หรือ BidResponse.seatbid.bid.adm_native.link.url
ใน BidResponse
ให้ถูกต้อง หากโฆษณามีค่าที่เกี่ยวข้องหลายค่าสําหรับช่องเหล่านี้ คุณต้องระบุทุกค่า ดูรายละเอียดเพิ่มเติมได้ในความคิดเห็นของฟิลด์เหล่านี้ในBidResponse
คำจำกัดความบัฟเฟอร์โปรโตคอล
ระบบจะทิ้งคำตอบที่ไม่ได้ตั้งค่าช่องเหล่านี้
การวัดผลแบบเปิด
Open Measurement ช่วยให้คุณระบุผู้ให้บริการบุคคลที่สามที่ให้บริการวัดผลและยืนยันตัวตนอิสระสําหรับโฆษณาที่แสดงในสภาพแวดล้อมแอปบนอุปกรณ์เคลื่อนที่
รูปแบบโฆษณาที่รองรับ ได้แก่ โฆษณาวิดีโอ แบนเนอร์ และโฆษณาคั่นระหว่างหน้า ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้การวัดผลแบบเปิดในการเสนอราคาที่มีรูปแบบเหล่านี้ได้ในบทความOpen Measurement SDK ในศูนย์ช่วยเหลือ
ตัวอย่างการเสนอราคาตอบ
ส่วนต่อไปนี้แสดงตัวอย่างการเสนอราคาที่ตอบสนองสําหรับโฆษณาประเภทต่างๆ
หมายเหตุ: ตัวอย่าง Protobuf มีลิงก์ดาวน์โหลดสำหรับการเสนอราคาตอบที่แปลงเป็นอนุกรมที่คล้ายกัน ไม่ได้รับประกันว่าข้อมูลจะเหมือนกัน
แบนเนอร์ของแอป
OpenRTB Protobuf
แสดงตัวอย่างให้ฉันดู
การตอบกลับแบบอนุกรม
id : "8L85Di7e9374c3jriwo2W0"
seatbid {
bid {
id : "0L7hx7783rjD1hT81FH"
impid : "1"
price : 0.4000000059604645
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"
crid : "test_creative_id_192654"
w : 300
h : 50
burl : "https://test.com/imp?id=123456"
[ com . google . doubleclick . bid ] {
impression_tracking_url : "https://test.com/impression?id=123456"
billing_id : 70614819650
skadn {
version : "3.0"
network : "Y8HK1z22"
campaign : "72382716"
itunesitem : "953637916"
sourceapp : "com.google.testapp"
fidelities {
fidelity : VIEW_THROUGH_ADS
nonce : "bf105d9a-6df9-4d49-a10d-44e21a539415"
timestamp : "1730359683568"
signature : "589Vb2BJlF955D6kUj197D84U8UWWtngYQ73o1SVMEcAk6ju348j0454AOxpR74j95BF13RLC119Qo73nyq2qgp4IJENP6yE"
}
fidelities {
fidelity : STOREKIT_RENDERED_ADS
nonce : "bf105d9a-6df9-4d49-a10d-44e21a539415"
timestamp : "1730359683568"
signature : "3Av39t8684YefY03NT715Z2dTtXQ39pQH7C9aq6Wuh4WzbS044734J7FAlw7690Nm7743G7Z4P6hX8K7H607886b7FBHTCYY"
}
skadn_opts {
always_open_appstore : true
}
}
app_promotion_type : INSTALLS
}
}
seat : "4095:5416:758587"
}
cur : "USD"
[ com . google . doubleclick . bid_response ] {
processing_time_ms : 16
}
OpenRTB JSON
แสดงตัวอย่างให้ฉันดู
{
"id" : "8L85Di7e9374c3jriwo2W0" ,
"seatbid" : [
{
"bid" : [
{
"id" : "0L7hx7783rjD1hT81FH" ,
"impid" : "1" ,
"price" : 0.4000000059604645 ,
"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"
],
"crid" : "test_creative_id_192654" ,
"w" : 300 ,
"h" : 50 ,
"burl" : "https://test.com/imp?id=123456" ,
"ext" : {
"impression_tracking_url" : [
"https://test.com/impression?id=123456"
],
"billing_id" : "70614819650" ,
"skadn" : {
"version" : "3.0" ,
"network" : "Y8HK1z22" ,
"campaign" : "72382716" ,
"itunesitem" : "953637916" ,
"sourceapp" : "com.google.testapp" ,
"fidelities" : [
{
"fidelity" : 0 ,
"nonce" : "bf105d9a-6df9-4d49-a10d-44e21a539415" ,
"timestamp" : "1730359683568" ,
"signature" : "589Vb2BJlF955D6kUj197D84U8UWWtngYQ73o1SVMEcAk6ju348j0454AOxpR74j95BF13RLC119Qo73nyq2qgp4IJENP6yE"
},
{
"fidelity" : 1 ,
"nonce" : "bf105d9a-6df9-4d49-a10d-44e21a539415" ,
"timestamp" : "1730359683568" ,
"signature" : "3Av39t8684YefY03NT715Z2dTtXQ39pQH7C9aq6Wuh4WzbS044734J7FAlw7690Nm7743G7Z4P6hX8K7H607886b7FBHTCYY"
}
],
"skadn_opts" : {
"always_open_appstore" : 1
}
},
"app_promotion_type" : 1
}
}
],
"seat" : "4095:5416:758587"
}
],
"cur" : "USD" ,
"ext" : {
"processing_time_ms" : 16
}
}
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 : 44095
billing_id : 99718422589
}
click_through_url : "google.com"
attribute : 47
attribute : 50
category : 7
buyer_creative_id : "test_creative_id_997551"
advertiser_name : "Google"
width : 300
height : 250
impression_tracking_url : "https://test.com/imp?id=123456"
skadn {
version : "4.0"
network : "DofiF4X5"
itunesitem : "448730563"
sourceapp : "195751234"
fidelities {
fidelity_type : VIEW_THROUGH_ADS
nonce : "a869c155-3566-475c-8cb9-d0a75159e0c5"
timestamp : 1728803273481
signature : "0KXE97ri9xnW9M10NDg64r014MsN7SO5R11N29oe8h8Cuao3K477i9dFH61bKny28iA6337A6EK6T3fgR9p9EJK12qvaY96E"
}
fidelities {
fidelity_type : STOREKIT_RENDERED_ADS
nonce : "a869c155-3566-475c-8cb9-d0a75159e0c5"
timestamp : 1728803273481
signature : "EF1Vj82st371O79029Q9067AL00972U3NqNG9u295r8B4681c12Se2jk34XSR8404681c9WGa9a69779CQ87o9T81Y85198C"
}
source_identifier : 1
}
advertised_app_id : "APP_ID_OMITTED"
app_promotion_type : INSTALLS
}
processing_time_ms : 13
โฆษณาคั่นระหว่างหน้าในแอป
OpenRTB Protobuf
แสดงตัวอย่างให้ฉันดู
การตอบกลับแบบอนุกรม
id: "6700Z3L2o0zSw9g8IqmiQ5"
seatbid {
bid {
id: "0UBHDN63xQ8hj1F8184"
impid: "1"
price: 0.016728
adid: "test_creative_id_179418"
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"
crid: "test_creative_id_179418"
cat: "IAB13-7"
w: 300
h: 600
burl: "https://test.com/imp?id=123456"
[com.google.doubleclick.bid] {
billing_id: 14443955188
dsa {
behalf: "TEST_ADVERTISER"
paid: "TEST_PAYING_ENTITY"
adrender: false
}
}
}
seat: "2054:4176:757161"
group: false
}
bidid: "TI590379-wi3Z9CU8-6j8V-Uj0l1I102h2q"
cur: "USD"
OpenRTB JSON
แสดงตัวอย่างให้ฉันดู
{
"id": "6700Z3L2o0zSw9g8IqmiQ5",
"seatbid": [
{
"bid": [
{
"id": "0UBHDN63xQ8hj1F8184",
"impid": "1",
"price": 0.016728,
"adid": "test_creative_id_179418",
"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"
],
"crid": "test_creative_id_179418",
"cat": [
"IAB13-7"
],
"w": 300,
"h": 600,
"burl": "https://test.com/imp?id=123456",
"ext": {
"billing_id": "14443955188",
"dsa": {
"behalf": "TEST_ADVERTISER",
"paid": "TEST_PAYING_ENTITY",
"adrender": 0
}
}
}
],
"seat": "2054:4176:757161",
"group": 0
}
],
"bidid": "TI590379-wi3Z9CU8-6j8V-Uj0l1I102h2q",
"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: 80117
min_cpm_micros: 0
billing_id: 12608068331
deal_id: 0
}
click_through_url: "google.com"
attribute: 47
buyer_creative_id: "test_creative_id_266407"
advertiser_name: "Google"
width: 756
height: 384
impression_tracking_url: "https://test.com/imp?id=123456"
event_notification_token: "token"
dsa_transparency {
buyer_render: true
}
}
processing_time_ms: 11
โฆษณาคั่นระหว่างหน้าแบบวิดีโอในแอป
OpenRTB Protobuf
แสดงตัวอย่างให้ฉันดู
การตอบกลับแบบอนุกรม
id : "79N7F1708654i75q3k69j1"
seatbid {
bid {
id : "1gR655162hOsH9q3X6R"
impid : "1"
price : 2.3833
adid : "test_creative_id_648299"
adm : "https://video.test.com/ads?id=123456&wprice= %% WINNING_PRICE %% "
adomain : "google.com"
crid : "test_creative_id_648299"
attr : VIDEO_IN_BANNER_AUTO_PLAY
w : 1920
h : 1080
[ com . google . doubleclick . bid ] {
event_notification_token {
payload : "token"
}
billing_id : 11004606416
skadn {
version : "4.0"
network : "O5O88B57"
itunesitem : "509167749"
nonce : ""
sourceapp : "com.google.testapp"
timestamp : "OMITTED"
signature : "OMITTED"
fidelities {
fidelity : VIEW_THROUGH_ADS
nonce : "d3be52b1-8ef6-4277-8922-54450b07fd5b"
timestamp : "1730409097616"
signature : "8d52E359K158Dj1u89EpLP3544Qz7B10CV0a92YZJ6JXX8d9uXi72N43ZxjRl96Ph7v8R5u1k5y9Aoy3jZcN3C5dxRU390qc"
}
fidelities {
fidelity : STOREKIT_RENDERED_ADS
nonce : "d3be52b1-8ef6-4277-8922-54450b07fd5b"
timestamp : "1730409097616"
signature : "43C2b79X4nPY913Qs3jJLLhCjUNZg39cK022pCE2wH731Ie7q4584b5UGG137Jh12I2R6a0e35LJbvQJbn5o564roQ7G1Mtd"
}
sourceidentifier : "1"
}
app_promotion_type : INSTALLS
}
}
seat : "1061:9160:833989"
}
bidid : "m7V3rjn0-aF599ZZ6-37hA-b9o7DU8CLrtp"
cur : "USD"
OpenRTB JSON
แสดงตัวอย่างให้ฉันดู
{
"id" : "79N7F1708654i75q3k69j1" ,
"seatbid" : [
{
"bid" : [
{
"id" : "1gR655162hOsH9q3X6R" ,
"impid" : "1" ,
"price" : 2.3833 ,
"adid" : "test_creative_id_648299" ,
"adm" : "https://video.test.com/ads?id=123456&wprice= %% WINNING_PRICE %% " ,
"adomain" : [
"google.com"
],
"crid" : "test_creative_id_648299" ,
"attr" : [
6
],
"w" : 1920 ,
"h" : 1080 ,
"ext" : {
"event_notification_token" : {
"payload" : "token"
},
"billing_id" : "11004606416" ,
"skadn" : {
"version" : "4.0" ,
"network" : "O5O88B57" ,
"itunesitem" : "509167749" ,
"nonce" : "" ,
"sourceapp" : "com.google.testapp" ,
"timestamp" : "OMITTED" ,
"signature" : "OMITTED" ,
"fidelities" : [
{
"fidelity" : 0 ,
"nonce" : "d3be52b1-8ef6-4277-8922-54450b07fd5b" ,
"timestamp" : "1730409097616" ,
"signature" : "8d52E359K158Dj1u89EpLP3544Qz7B10CV0a92YZJ6JXX8d9uXi72N43ZxjRl96Ph7v8R5u1k5y9Aoy3jZcN3C5dxRU390qc"
},
{
"fidelity" : 1 ,
"nonce" : "d3be52b1-8ef6-4277-8922-54450b07fd5b" ,
"timestamp" : "1730409097616" ,
"signature" : "43C2b79X4nPY913Qs3jJLLhCjUNZg39cK022pCE2wH731Ie7q4584b5UGG137Jh12I2R6a0e35LJbvQJbn5o564roQ7G1Mtd"
}
],
"sourceidentifier" : "1"
},
"app_promotion_type" : 1
}
}
],
"seat" : "1061:9160:833989"
}
],
"bidid" : "m7V3rjn0-aF599ZZ6-37hA-b9o7DU8CLrtp" ,
"cur" : "USD"
}
Google
แสดงตัวอย่างให้ฉันดู
การตอบกลับแบบอนุกรม
ad {
adslot {
id : 1
max_cpm_micros : 2454000
billing_id : 95400492935
deal_id : 1
}
click_through_url : "google.com"
attribute : 22
attribute : 105
buyer_creative_id : "test_creative_id_716344"
width : 0
height : 0
video_vast_xml : "OMITTED_VAST_XML"
event_notification_token : "token"
skadn {
version : "4.0"
network : "113tdmXM"
itunesitem : "460184775"
sourceapp : "751592940"
fidelities {
fidelity_type : STOREKIT_RENDERED_ADS
nonce : "1c3ed154-33f5-4cb7-960a-3e571cb9c3b9"
timestamp : 1728932156118
signature : "7m3PDLV778PZ741T2I3561kkCW3UjIp5p63989cP311iiZ2445v20HP5ymfD8ThYO7437h22075h4h9O21S8A08U1kw3qis2"
}
fidelities {
fidelity_type : VIEW_THROUGH_ADS
nonce : "1c3ed154-33f5-4cb7-960a-3e571cb9c3b9"
timestamp : 1728932156118
signature : "28X90AX01Z762a3W92186a40Eb4J8ekACsYFo55J8vD445f5pcA80MH45753Iy887596gK8ax0s55ndC23eg0V7P862yS240"
}
source_identifier : 1
}
advertised_app_id : "APP_ID_OMITTED"
app_promotion_type : INSTALLS
}
processing_time_ms : 51
ในแอป
OpenRTB Protobuf
แสดงตัวอย่างให้ฉันดู
การตอบกลับแบบอนุกรม
id : "96Z599PGNvp7Mr99138Fm0"
seatbid {
bid {
id : "NQb32Ge7Rtt84wFn2p8"
impid : "1"
price : 0.153584
adid : "test_creative_id_272596"
adomain : "google.com"
crid : "test_creative_id_272596"
cat : "IAB13-7"
burl : "https://test.com/imp?id=123456"
adm_native {
ver : "1.2"
assets {
id : 1
required : true
title {
text : "Luxury Mars Cruises"
}
}
assets {
id : 2
required : true
data {
value : "Visit the planet in a luxury spaceship."
}
}
assets {
id : 3
required : false
data {
value : "Book today"
}
}
assets {
id : 4
required : true
data {
value : "Galactic Luxury Cruises"
}
}
assets {
id : 5
required : true
img {
url : "https://native.test.com/image?id=123456"
w : 1200
h : 627
}
}
link {
url : "https://www.google.com"
}
eventtrackers {
event : IMPRESSION
method : IMG
url : "https://test.com/event?id=123456"
}
privacy : "https://adssettings.google.com/whythisad?source=display&reasons=OMITTED"
}
[ com . google . doubleclick . bid ] {
ad_choices_destination_url : "https://test.com/preferences"
billing_id : 29846056590
dsa {
behalf : "TEST_ADVERTISER"
paid : "TEST_PAYING_ENTITY"
adrender : false
}
}
}
bid {
id : "4vwb23qm6iqU6w6G978"
impid : "1"
price : 0.153584
adid : "test_creative_id_272596"
adomain : "google.com"
crid : "test_creative_id_272596"
cat : "IAB21"
burl : "https://test.com/imp?id=123456"
adm_native {
ver : "1.2"
assets {
id : 1
required : true
title {
text : "Luxury Mars Cruises"
}
}
assets {
id : 2
required : true
data {
value : "Visit the planet in a luxury spaceship."
}
}
assets {
id : 3
required : false
data {
value : "Book today"
}
}
assets {
id : 4
required : true
data {
value : "Galactic Luxury Cruises"
}
}
assets {
id : 5
required : true
img {
url : "https://native.test.com/image?id=123456"
w : 1200
h : 627
}
}
link {
url : "https://www.google.com"
}
eventtrackers {
event : IMPRESSION
method : IMG
url : "https://test.com/event?id=123456"
}
privacy : "https://adssettings.google.com/whythisad?source=display&reasons=OMITTED"
}
[ com . google . doubleclick . bid ] {
ad_choices_destination_url : "https://test.com/preferences"
dsa {
behalf : "TEST_ADVERTISER"
paid : "TEST_PAYING_ENTITY"
adrender : false
}
}
}
seat : "4528:1161:591635"
group : false
}
bidid : "hgu4ev7j-ZK929XM0-79f7-0A23O0VN2CFC"
cur : "USD"
OpenRTB JSON
แสดงตัวอย่างให้ฉันดู
{
"id" : "96Z599PGNvp7Mr99138Fm0" ,
"seatbid" : [
{
"bid" : [
{
"id" : "NQb32Ge7Rtt84wFn2p8" ,
"impid" : "1" ,
"price" : 0.153584 ,
"adid" : "test_creative_id_272596" ,
"adomain" : [
"google.com"
],
"crid" : "test_creative_id_272596" ,
"cat" : [
"IAB13-7"
],
"burl" : "https://test.com/imp?id=123456" ,
"ext" : {
"ad_choices_destination_url" : "https://test.com/preferences" ,
"billing_id" : "29846056590" ,
"dsa" : {
"behalf" : "TEST_ADVERTISER" ,
"paid" : "TEST_PAYING_ENTITY" ,
"adrender" : 0
}
},
"adm" : "{\"ver\":\"1.2\",\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"text\":\"Luxury Mars Cruises\"}},{\"id\":2,\"required\":1,\"data\":{\"value\":\"Visit the planet in a luxury spaceship.\"}},{\"id\":3,\"required\":0,\"data\":{\"value\":\"Book today\"}},{\"id\":4,\"required\":1,\"data\":{\"value\":\"Galactic Luxury Cruises\"}},{\"id\":5,\"required\":1,\"img\":{\"url\":\"https://native.test.com/image?id=123456\",\"w\":1200,\"h\":627}}],\"link\":{\"url\":\"https://www.google.com\"},\"eventtrackers\":[{\"event\":1,\"method\":1,\"url\":\"https://test.com/event?id=123456\"}],\"privacy\":\"https://adssettings.google.com/whythisad?source=display&reasons=OMITTED\"}"
},
{
"id" : "4vwb23qm6iqU6w6G978" ,
"impid" : "1" ,
"price" : 0.153584 ,
"adid" : "test_creative_id_272596" ,
"adomain" : [
"google.com"
],
"crid" : "test_creative_id_272596" ,
"cat" : [
"IAB21"
],
"burl" : "https://test.com/imp?id=123456" ,
"ext" : {
"ad_choices_destination_url" : "https://test.com/preferences" ,
"dsa" : {
"behalf" : "TEST_ADVERTISER" ,
"paid" : "TEST_PAYING_ENTITY" ,
"adrender" : 0
}
},
"adm" : "{\"ver\":\"1.2\",\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"text\":\"Luxury Mars Cruises\"}},{\"id\":2,\"required\":1,\"data\":{\"value\":\"Visit the planet in a luxury spaceship.\"}},{\"id\":3,\"required\":0,\"data\":{\"value\":\"Book today\"}},{\"id\":4,\"required\":1,\"data\":{\"value\":\"Galactic Luxury Cruises\"}},{\"id\":5,\"required\":1,\"img\":{\"url\":\"https://native.test.com/image?id=123456\",\"w\":1200,\"h\":627}}],\"link\":{\"url\":\"https://www.google.com\"},\"eventtrackers\":[{\"event\":1,\"method\":1,\"url\":\"https://test.com/event?id=123456\"}],\"privacy\":\"https://adssettings.google.com/whythisad?source=display&reasons=OMITTED\"}"
}
],
"seat" : "4528:1161:591635" ,
"group" : 0
}
],
"bidid" : "hgu4ev7j-ZK929XM0-79f7-0A23O0VN2CFC" ,
"cur" : "USD"
}
Google
แสดงตัวอย่างให้ฉันดู
การตอบกลับแบบอนุกรม
ad {
adslot {
id : 1
max_cpm_micros : 158000
billing_id : 41106584355
deal_id : 1
}
click_through_url : "google.com"
attribute : 70
buyer_creative_id : "test_creative_id_251451"
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 : 1200
height : 222
}
app_icon {
url : "https://native.test.com/icon?id=123456"
width : 512
height : 512
}
star_rating : 4.300000190734863
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"
event_notification_token : "token"
skadn {
version : "4.0"
network : "l6x39K4z"
itunesitem : "731305960"
sourceapp : "627009739"
fidelities {
fidelity_type : STOREKIT_RENDERED_ADS
nonce : "9216faff-74a9-4b35-badc-66878c35f67c"
timestamp : 1728975919221
signature : "b0USXkmg02Q3v6p301kYOHG36CCOWWdEo52RHRttB9t8PTNi79qL17E4D6h7UeUSuq479oTK13G2Ev34MJlU86C5vY1SMVw2"
}
fidelities {
fidelity_type : VIEW_THROUGH_ADS
nonce : "9216faff-74a9-4b35-badc-66878c35f67c"
timestamp : 1728975919221
signature : "4Cf4NH6239z9f3wa8j6420Z7H0UISYxyxN5720444dkq6457I5FY0Jg8bk1xge2P8YgiDp74l2738136v2g1A8D50331IRm0"
}
source_identifier : 1
}
click_tracking_urls : "https://google.com/rtb/click?imp_id=55d2112c-4947-4da5-bc37-b79ebf4577dd"
advertised_app_id : "APP_ID_OMITTED"
app_promotion_type : INSTALLS
}
processing_time_ms : 63
วิดีโอบนเว็บ
OpenRTB Protobuf
แสดงตัวอย่างให้ฉันดู
การตอบกลับแบบอนุกรม
id : "b2F6m05a9d83V7I35iw415"
seatbid {
bid {
id : "Ob7259K5679O36pMt00"
impid : "1"
price : 1.52
adid : "test_creative_id_262797"
adm : "https://video.test.com/ads?id=123456&wprice= %% WINNING_PRICE %% "
adomain : "google.com"
crid : "test_creative_id_262797"
exp : 3600
[ com . google . doubleclick . bid ] {
event_notification_token {
payload : "token"
}
billing_id : 47460168025
}
}
bid {
id : "0890di791A75n9R13jM"
impid : "1"
price : 1.2
adid : "test_creative_id_262797"
adm : "https://video.test.com/ads?id=123456&wprice= %% WINNING_PRICE %% "
adomain : "google.com"
crid : "test_creative_id_262797"
exp : 3600
[ com . google . doubleclick . bid ] {
event_notification_token {
payload : "token"
}
}
}
seat : "2121:7826:598388"
}
cur : "USD"
OpenRTB JSON
แสดงตัวอย่างให้ฉันดู
{
"id" : "b2F6m05a9d83V7I35iw415" ,
"seatbid" : [
{
"bid" : [
{
"id" : "Ob7259K5679O36pMt00" ,
"impid" : "1" ,
"price" : 1.52 ,
"adid" : "test_creative_id_262797" ,
"adm" : "https://video.test.com/ads?id=123456&wprice= %% WINNING_PRICE %% " ,
"adomain" : [
"google.com"
],
"crid" : "test_creative_id_262797" ,
"exp" : 3600 ,
"ext" : {
"event_notification_token" : {
"payload" : "token"
},
"billing_id" : "47460168025"
}
},
{
"id" : "0890di791A75n9R13jM" ,
"impid" : "1" ,
"price" : 1.2 ,
"adid" : "test_creative_id_262797" ,
"adm" : "https://video.test.com/ads?id=123456&wprice= %% WINNING_PRICE %% " ,
"adomain" : [
"google.com"
],
"crid" : "test_creative_id_262797" ,
"exp" : 3600 ,
"ext" : {
"event_notification_token" : {
"payload" : "token"
}
}
}
],
"seat" : "2121:7826:598388"
}
],
"cur" : "USD"
}
Google
แสดงตัวอย่างให้ฉันดู
การตอบกลับแบบอนุกรม
fad {
adslot {
id : 1
max_cpm_micros : 68340760
min_cpm_micros : 0
billing_id : 75752641104
deal_id : 0
}
click_through_url : "google.com"
vendor_type : 145
attribute : 47
attribute : 8
video_url : "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%"
buyer_creative_id : "test_creative_id_877383"
advertiser_name : "Google"
event_notification_token : "token"
dsa_transparency {
buyer_render : true
}
}
processing_time_ms : 17
แบนเนอร์บนเว็บในอุปกรณ์เคลื่อนที่สำหรับผู้เสนอราคา Exchange
OpenRTB Protobuf
แสดงตัวอย่างให้ฉันดู
การตอบกลับแบบอนุกรม
id : "l30Zu42070Man1Z5u751yG"
seatbid {
bid {
id : "4X6uu65F9J3m467C571"
impid : "1"
price : 0.17
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"
crid : "test_creative_id_941528"
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 : 50962964480
}
}
seat : "7632:7504:809671"
}
bidid : "II638Xkf-6432F06d-VGu8-27B4407D136w"
[ com . google . doubleclick . bid_response ] {
processing_time_ms : 70
}
OpenRTB JSON
แสดงตัวอย่างให้ฉันดู
{
"id" : "l30Zu42070Man1Z5u751yG" ,
"seatbid" : [
{
"bid" : [
{
"id" : "4X6uu65F9J3m467C571" ,
"impid" : "1" ,
"price" : 0.17 ,
"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"
],
"crid" : "test_creative_id_941528" ,
"w" : 320 ,
"h" : 50 ,
"ext" : {
"impression_tracking_url" : [
"https://test.com/impression?id=123456" ,
"https://test.com/impression?id=123456"
],
"event_notification_token" : {
"payload" : "token"
},
"billing_id" : "50962964480"
}
}
],
"seat" : "7632:7504:809671"
}
],
"bidid" : "II638Xkf-6432F06d-VGu8-27B4407D136w" ,
"ext" : {
"processing_time_ms" : 70
}
}