หลังจากแอปพลิเคชันประมวลผลคําขอราคาเสนอจาก Google แล้ว แอปพลิเคชันต้องสร้างและส่งการตอบกลับ คู่มือนี้จะอธิบายวิธีเขียนโค้ดแอปพลิเคชันเพื่อสร้างคำตอบ
สร้างข้อความ BidResponse 
หากต้องการส่งราคาเสนอ แอปพลิเคชันการเสนอราคาต้องตอบกลับคำขอราคาเสนอด้วย BidResponse ที่มี Bid ในรูปแบบที่คุณกําหนดค่าไว้ หากคุณใช้รูปแบบ JSON การตอบกลับต้องตั้งค่าส่วนหัว Content-Type เป็น application/json; charset=utf-8 และใส่ JSON BidResponse ไว้ในเนื้อหา หากคุณใช้รูปแบบ Protobuf แอปพลิเคชันต้องตั้งค่าส่วนหัว Content-Type เป็น application/octet-stream และใส่ BidResponse ที่แปลงเป็นอนุกรมไว้ในเนื้อหา
หากต้องการสร้างและจัดรูปแบบ BidResponse สำหรับรูปแบบ Protobuf คุณต้องสร้างและใช้ไลบรารี Protobuf ตาม openrtb.proto  และ openrtb-adx.proto  ซึ่งใช้ช่อง BidResponse มาตรฐานของ OpenRTB และส่วนขยายของ Google ใน Protobuf ตามลำดับ รายการเหล่านี้อยู่ในโปรโตและคําแนะนํา 
หากไม่ต้องการเสนอราคาสำหรับการแสดงผล คุณต้องส่งการตอบกลับ HTTP 204 ว่าง แอปพลิเคชันของคุณต้องแสดงผลตอบกลับสำหรับ BidRequest ทั้งหมด การหมดเวลาและการตอบกลับที่แยกวิเคราะห์ไม่ได้จะถือว่าเป็นข้อผิดพลาด และ Google จะควบคุมผู้เสนอราคาที่มีอัตราข้อผิดพลาดสูง
รหัสครีเอทีฟโฆษณา 
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 ช่องอาจมีการใช้งานอื่น ซึ่งรวมถึงแอปต่อไปนี้
  
    ช่อง 
    รายละเอียด 
   
  
    BidResponse.imp.pmp.deals.idรหัสดีลจากเนมสเปซของพาร์ทเนอร์การซื้อขายที่เชื่อมโยงกับราคาเสนอนี้และรายงานไปยังผู้เผยแพร่โฆษณา
      หมายเหตุ:  ระบบจะส่งฟิลด์นี้ไปยังผู้เข้าร่วมเวอร์ชันเบต้าแบบจำกัดเท่านั้น
         
  
    BidResponse.seatbid.bid.ext.exchange_deal_typeประเภทดีลที่รายงานไปยังผู้เผยแพร่โฆษณา ซึ่งส่งผลต่อวิธีจัดการดีลในการประมูล
      หมายเหตุ:  ระบบจะส่งฟิลด์นี้ไปยังผู้เข้าร่วมเวอร์ชันเบต้าแบบจำกัดเท่านั้น
         
  
    BidResponse.seatbid.bid.ext.third_party_buyer_tokenโทเค็นที่ใช้ระบุข้อมูลผู้ซื้อบุคคลที่สามปลายทางในกรณีที่ Exchange เป็นผู้เสนอราคาในการเสนอราคาแบบเปิดซึ่งเป็นสื่อกลาง ข้อมูลนี้ได้รับจากผู้ซื้อบุคคลที่สาม และต้องส่งไปยัง Google โดยไม่เปลี่ยนแปลงในการเสนอราคาตอบ 
   
คำแนะนำ 
ตัวอย่างการเสนอราคาตอบ 
ตัวอย่างต่อไปนี้แสดงตัวอย่างคําขอ Protobuf และ JSON ที่มนุษย์อ่านได้
  
    OpenRTB Protobuf 
    แสดงตัวอย่างให้ฉันดู 
    การตอบกลับแบบอนุกรม 
id :   "1lY5z94y6Bz404R9H0ZN38" 
seatbid   { 
   bid   { 
     id :   "n1KLe2Q26Xyu431W1PU" 
     impid :   "1" 
     price :   1.0575798749923706 
     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>" 
     crid :   "test_creative_id_666097" 
     dealid :   "0" 
     w :   339 
     h :   53 
     burl :   "https://test.com/imp?id=123456" 
     [ com . google . doubleclick . bid ]   { 
       event_notification_token   { 
         payload :   "token" 
       } 
       billing_id :   86548870602 
       dsa   { 
         adrender :   true 
       } 
       clickurl :   "google.com" 
     } 
   } 
} 
cur :   "JPY" 
[ com . google . doubleclick . bid_response ]   { 
   processing_time_ms :   7 
}  
  
    OpenRTB JSON 
    แสดงตัวอย่างให้ฉันดู 
    
{ 
   "id" :   "1lY5z94y6Bz404R9H0ZN38" , 
   "seatbid" :   [ 
     { 
       "bid" :   [ 
         { 
           "id" :   "n1KLe2Q26Xyu431W1PU" , 
           "impid" :   "1" , 
           "price" :   1.0575798749923706 , 
           "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>" , 
           "crid" :   "test_creative_id_666097" , 
           "dealid" :   "0" , 
           "w" :   339 , 
           "h" :   53 , 
           "burl" :   "https://test.com/imp?id=123456" , 
           "ext" :   { 
             "event_notification_token" :   { 
               "payload" :   "token" 
             }, 
             "billing_id" :   "86548870602" , 
             "dsa" :   { 
               "adrender" :   1 
             }, 
             "clickurl" :   [ 
               "google.com" 
             ] 
           } 
         } 
       ] 
     } 
   ], 
   "cur" :   "JPY" , 
   "ext" :   { 
     "processing_time_ms" :   7 
   } 
}  
 
สำคัญ:  ข้อความ Protobuf ที่แสดงในตัวอย่างจะแสดงเป็นข้อความที่มนุษย์อ่านได้ แต่นี่ไม่ใช่วิธีส่งข้อความผ่านเครือข่าย เมื่อใช้รูปแบบ 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 
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_ESCWINNING_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_typeBidRequest.imp.secure
    ในทางปฏิบัติ ค่านี้จะตั้งเป็น true เสมอเนื่องจาก Google กำหนดให้ครีเอทีฟโฆษณาทั้งหมดต้องรองรับ SSL BidRequest.imp.{audio/banner/native/video}BidRequest.imp.{audio/banner/native/video}.apiBidRequest.imp.{audio/banner/native/video}.battrBidRequest.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 ช่วยให้คุณระบุผู้ให้บริการบุคคลที่สามที่ให้บริการวัดผลและยืนยันตัวตนอิสระสําหรับโฆษณาที่แสดงในสภาพแวดล้อมแอปบนอุปกรณ์เคลื่อนที่
รูปแบบโฆษณาที่รองรับ ได้แก่ โฆษณาวิดีโอ แบนเนอร์ และโฆษณาคั่นระหว่างหน้า ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้การวัดผลแบบเปิดในการเสนอราคาที่มีรูปแบบเหล่านี้ได้ในบทความOpen Measurement SDK  ในศูนย์ช่วยเหลือ
ตัวอย่างการเสนอราคาตอบ 
ส่วนต่อไปนี้แสดงตัวอย่างการเสนอราคาที่ตอบสนองสําหรับโฆษณาประเภทต่างๆ
  หมายเหตุ:  ตัวอย่าง Protobuf มีลิงก์ดาวน์โหลดสำหรับการเสนอราคาตอบที่แปลงเป็นอนุกรมที่คล้ายกัน ไม่ได้รับประกันว่าข้อมูลจะเหมือนกัน
 
แบนเนอร์ของแอป 
  
    OpenRTB Protobuf 
    แสดงตัวอย่างให้ฉันดู 
    การตอบกลับแบบอนุกรม 
id :   "4308k26S0C36XQ2z1dIo99" 
seatbid   { 
   bid   { 
     id :   "y2OcJw5j213rO95Gz78" 
     impid :   "1" 
     price :   18.360865389304116 
     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>" 
     crid :   "test_creative_id_391487" 
     dealid :   "1" 
     w :   390 
     h :   60 
     [ com . google . doubleclick . bid ]   { 
       impression_tracking_url :   "https://test.com/impression?id=123456" 
       ad_choices_destination_url :   "https://test.com/preferences" 
       billing_id :   82364411103 
       skadn   { 
         version :   "4.0" 
         network :   "cF58w81X" 
         itunesitem :   "788729094" 
         sourceapp :   "1422994973" 
         fidelities   { 
           fidelity :   VIEW_THROUGH_ADS 
           nonce :   "017e597c-3c7d-4a44-afeb-41cd9a17066f" 
           timestamp :   "1757235407882" 
           signature :   "11iF1L96q2cw8tu790p301c10530ogr7h250k1P9pLxqcJ2qe37klG8xB3M592YbpafQ9861493838C521XA6AEF4A40DK8X" 
         } 
         fidelities   { 
           fidelity :   STOREKIT_RENDERED_ADS 
           nonce :   "017e597c-3c7d-4a44-afeb-41cd9a17066f" 
           timestamp :   "1757235407882" 
           signature :   "f67L3C138Y6XB7940141011Pd58AZbdBk9Xo1Mlf1973706DsB5808ILLKumU2ic9fr72b9bSs3CD25CCZo8DJB65JB0615L" 
         } 
         sourceidentifier :   "5507" 
       } 
       app_promotion_type :   INSTALLS 
       clickurl :   "google.com" 
       clickurl :   "example.com" 
     } 
   } 
   seat :   "2542:1534:245840" 
} 
[ com . google . doubleclick . bid_response ]   { 
   processing_time_ms :   3 
}  
  
    OpenRTB JSON 
    แสดงตัวอย่างให้ฉันดู 
    
{ 
   "id" :   "4308k26S0C36XQ2z1dIo99" , 
   "seatbid" :   [ 
     { 
       "bid" :   [ 
         { 
           "id" :   "y2OcJw5j213rO95Gz78" , 
           "impid" :   "1" , 
           "price" :   18.360865389304116 , 
           "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>" , 
           "crid" :   "test_creative_id_391487" , 
           "dealid" :   "1" , 
           "w" :   390 , 
           "h" :   60 , 
           "ext" :   { 
             "impression_tracking_url" :   [ 
               "https://test.com/impression?id=123456" 
             ], 
             "ad_choices_destination_url" :   "https://test.com/preferences" , 
             "billing_id" :   "82364411103" , 
             "skadn" :   { 
               "version" :   "4.0" , 
               "network" :   "cF58w81X" , 
               "itunesitem" :   "788729094" , 
               "sourceapp" :   "1422994973" , 
               "fidelities" :   [ 
                 { 
                   "fidelity" :   0 , 
                   "nonce" :   "017e597c-3c7d-4a44-afeb-41cd9a17066f" , 
                   "timestamp" :   "1757235407882" , 
                   "signature" :   "11iF1L96q2cw8tu790p301c10530ogr7h250k1P9pLxqcJ2qe37klG8xB3M592YbpafQ9861493838C521XA6AEF4A40DK8X" 
                 }, 
                 { 
                   "fidelity" :   1 , 
                   "nonce" :   "017e597c-3c7d-4a44-afeb-41cd9a17066f" , 
                   "timestamp" :   "1757235407882" , 
                   "signature" :   "f67L3C138Y6XB7940141011Pd58AZbdBk9Xo1Mlf1973706DsB5808ILLKumU2ic9fr72b9bSs3CD25CCZo8DJB65JB0615L" 
                 } 
               ], 
               "sourceidentifier" :   "5507" 
             }, 
             "app_promotion_type" :   1 , 
             "clickurl" :   [ 
               "google.com" , 
               "example.com" 
             ] 
           } 
         } 
       ], 
       "seat" :   "2542:1534:245840" 
     } 
   ], 
   "ext" :   { 
     "processing_time_ms" :   3 
   } 
}  
 
โฆษณาคั่นระหว่างหน้าในแอป 
  
    OpenRTB Protobuf 
    แสดงตัวอย่างให้ฉันดู 
    การตอบกลับแบบอนุกรม 
id :   "U0t6Une80802A28Mi98o1t" 
seatbid   { 
   bid   { 
     id :   "300z78I726nCP7u4sFp" 
     impid :   "1" 
     price :   149.83914184570312 
     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>" 
     crid :   "test_creative_id_732353" 
     dealid :   "0" 
     w :   360 
     h :   715 
     burl :   "https://test.com/imp?id=123456" 
     [ com . google . doubleclick . bid ]   { 
       event_notification_token   { 
         payload :   "token" 
       } 
       billing_id :   68640308112 
       dsa   { 
         adrender :   true 
       } 
       clickurl :   "google.com" 
     } 
   } 
} 
cur :   "JPY" 
[ com . google . doubleclick . bid_response ]   { 
   processing_time_ms :   10 
}  
  
    OpenRTB JSON 
    แสดงตัวอย่างให้ฉันดู 
    
{ 
   "id" :   "U0t6Une80802A28Mi98o1t" , 
   "seatbid" :   [ 
     { 
       "bid" :   [ 
         { 
           "id" :   "300z78I726nCP7u4sFp" , 
           "impid" :   "1" , 
           "price" :   149.83914184570312 , 
           "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>" , 
           "crid" :   "test_creative_id_732353" , 
           "dealid" :   "0" , 
           "w" :   360 , 
           "h" :   715 , 
           "burl" :   "https://test.com/imp?id=123456" , 
           "ext" :   { 
             "event_notification_token" :   { 
               "payload" :   "token" 
             }, 
             "billing_id" :   "68640308112" , 
             "dsa" :   { 
               "adrender" :   1 
             }, 
             "clickurl" :   [ 
               "google.com" 
             ] 
           } 
         } 
       ] 
     } 
   ], 
   "cur" :   "JPY" , 
   "ext" :   { 
     "processing_time_ms" :   10 
   } 
}  
 
โฆษณาคั่นระหว่างหน้าแบบวิดีโอในแอป 
  
    OpenRTB Protobuf 
    แสดงตัวอย่างให้ฉันดู 
    การตอบกลับแบบอนุกรม 
id :   "n40G42d551UX18627ao8lt" 
seatbid   { 
   bid   { 
     id :   "17u6BnD62h88r5q7066" 
     impid :   "1" 
     price :   0.797848 
     adm :   "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%" 
     adomain :   "google.com" 
     crid :   "test_creative_id_987914" 
     w :   320 
     h :   480 
     cattax :   GOOGLE_CATEGORIES 
     [ com . google . doubleclick . bid ]   { 
       attribute :   47 
       attribute :   50 
       billing_id :   55383762512 
       skadn   { 
         version :   "4.0" 
         network :   "306el65O" 
         itunesitem :   "832461214" 
         sourceapp :   "977150768" 
         fidelities   { 
           fidelity :   VIEW_THROUGH_ADS 
           nonce :   "0054e0b9-0b53-4426-99dd-a1eefeb45565" 
           timestamp :   "1757329316673" 
           signature :   "oE3Ek8347oZV1Yl1J42G2c88BSKr2dqEbiOK2S4ni7NVDh3v128NN0hlzWK5aX96ecV1504E9k288i0t0wGX73P317812WE7" 
         } 
         fidelities   { 
           fidelity :   STOREKIT_RENDERED_ADS 
           nonce :   "0054e0b9-0b53-4426-99dd-a1eefeb45565" 
           timestamp :   "1757329316673" 
           signature :   "b1GqXA4v889p842512GQ1p3249q5VmPt1335f1H1zdK92fq24j7a7ml419W7u8B7rhhH97s507f2251923oWi89XF1voZv4b" 
         } 
         sourceidentifier :   "8396" 
       } 
       app_promotion_type :   INSTALLS 
       clickurl :   "google.com" 
     } 
   } 
} 
[ com . google . doubleclick . bid_response ]   { 
   processing_time_ms :   20 
}  
  
    OpenRTB JSON 
    แสดงตัวอย่างให้ฉันดู 
    
{ 
   "id" :   "n40G42d551UX18627ao8lt" , 
   "seatbid" :   [ 
     { 
       "bid" :   [ 
         { 
           "id" :   "17u6BnD62h88r5q7066" , 
           "impid" :   "1" , 
           "price" :   0.797848 , 
           "adm" :   "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%" , 
           "adomain" :   [ 
             "google.com" 
           ], 
           "crid" :   "test_creative_id_987914" , 
           "w" :   320 , 
           "h" :   480 , 
           "cattax" :   500 , 
           "ext" :   { 
             "attribute" :   [ 
               47 , 
               50 
             ], 
             "billing_id" :   "55383762512" , 
             "skadn" :   { 
               "version" :   "4.0" , 
               "network" :   "306el65O" , 
               "itunesitem" :   "832461214" , 
               "sourceapp" :   "977150768" , 
               "fidelities" :   [ 
                 { 
                   "fidelity" :   0 , 
                   "nonce" :   "0054e0b9-0b53-4426-99dd-a1eefeb45565" , 
                   "timestamp" :   "1757329316673" , 
                   "signature" :   "oE3Ek8347oZV1Yl1J42G2c88BSKr2dqEbiOK2S4ni7NVDh3v128NN0hlzWK5aX96ecV1504E9k288i0t0wGX73P317812WE7" 
                 }, 
                 { 
                   "fidelity" :   1 , 
                   "nonce" :   "0054e0b9-0b53-4426-99dd-a1eefeb45565" , 
                   "timestamp" :   "1757329316673" , 
                   "signature" :   "b1GqXA4v889p842512GQ1p3249q5VmPt1335f1H1zdK92fq24j7a7ml419W7u8B7rhhH97s507f2251923oWi89XF1voZv4b" 
                 } 
               ], 
               "sourceidentifier" :   "8396" 
             }, 
             "app_promotion_type" :   1 , 
             "clickurl" :   [ 
               "google.com" 
             ] 
           } 
         } 
       ] 
     } 
   ], 
   "ext" :   { 
     "processing_time_ms" :   20 
   } 
}  
 
ในแอป 
  
    OpenRTB Protobuf 
    แสดงตัวอย่างให้ฉันดู 
    การตอบกลับแบบอนุกรม 
id :   "550102L8So5v6gi4C00T36" 
seatbid   { 
   bid   { 
     id :   "U796oSA426V3U666ue8" 
     impid :   "1" 
     price :   1.057860016822815 
     crid :   "test_creative_id_395811" 
     dealid :   "0" 
     adm_native   { 
       ver :   "1.2" 
       assets   { 
         id :   6 
         img   { 
           url :   "https://native.test.com/logo?id=123456" 
           w :   200 
           h :   200 
           type :   LOGO 
         } 
       } 
       assets   { 
         id :   5 
         img   { 
           url :   "https://native.test.com/image?id=123456" 
           w :   800 
           h :   800 
           type :   MAIN 
         } 
       } 
       assets   { 
         id :   4 
         data   { 
           value :   "Galactic Luxury Cruises" 
           type :   SPONSORED 
         } 
       } 
       assets   { 
         id :   3 
         data   { 
           value :   "Book today" 
           type :   CTATEXT 
         } 
       } 
       assets   { 
         id :   1 
         title   { 
           text :   "Luxury Mars Cruises" 
         } 
       } 
       assets   { 
         id :   2 
         data   { 
           value :   "Visit the planet in a luxury spaceship." 
           type :   DESC 
         } 
       } 
       link   { 
         url :   "https://www.google.com" 
       } 
     } 
     [ com . google . doubleclick . bid ]   { 
       impression_tracking_url :   "https://test.com/impression?id=123456" 
       impression_tracking_url :   "https://test.com/impression?id=123456" 
       ad_choices_destination_url :   "https://test.com/preferences" 
       event_notification_token   { 
         payload :   "token" 
       } 
       billing_id :   73917825312 
       dsa   { 
         adrender :   true 
       } 
       clickurl :   "google.com" 
     } 
   } 
} 
cur :   "JPY" 
[ com . google . doubleclick . bid_response ]   { 
   processing_time_ms :   17 
}  
  
    OpenRTB JSON 
    แสดงตัวอย่างให้ฉันดู 
    
{ 
   "id" :   "550102L8So5v6gi4C00T36" , 
   "seatbid" :   [ 
     { 
       "bid" :   [ 
         { 
           "id" :   "U796oSA426V3U666ue8" , 
           "impid" :   "1" , 
           "price" :   1.057860016822815 , 
           "crid" :   "test_creative_id_395811" , 
           "dealid" :   "0" , 
           "ext" :   { 
             "impression_tracking_url" :   [ 
               "https://test.com/impression?id=123456" , 
               "https://test.com/impression?id=123456" 
             ], 
             "ad_choices_destination_url" :   "https://test.com/preferences" , 
             "event_notification_token" :   { 
               "payload" :   "token" 
             }, 
             "billing_id" :   "73917825312" , 
             "dsa" :   { 
               "adrender" :   1 
             }, 
             "clickurl" :   [ 
               "google.com" 
             ] 
           }, 
           "adm" :   "{ \" ver \" : \" 1.2 \" , \" assets \" :[{ \" id \" :6, \" img \" :{ \" url \" : \" https://native.test.com/logo?id=123456 \" , \" w \" :200, \" h \" :200, \" type \" :2}},{ \" id \" :5, \" img \" :{ \" url \" : \" https://native.test.com/image?id=123456 \" , \" w \" :800, \" h \" :800, \" type \" :3}},{ \" id \" :4, \" data \" :{ \" value \" : \" Galactic Luxury Cruises \" , \" type \" :1}},{ \" id \" :3, \" data \" :{ \" value \" : \" Book today \" , \" type \" :12}},{ \" id \" :1, \" title \" :{ \" text \" : \" Luxury Mars Cruises \" }},{ \" id \" :2, \" data \" :{ \" value \" : \" Visit the planet in a luxury spaceship. \" , \" type \" :2}}], \" link \" :{ \" url \" : \" https://www.google.com \" }}" 
         } 
       ] 
     } 
   ], 
   "cur" :   "JPY" , 
   "ext" :   { 
     "processing_time_ms" :   17 
   } 
}  
 
วิดีโอบนเว็บ 
  
    OpenRTB Protobuf 
    แสดงตัวอย่างให้ฉันดู 
    การตอบกลับแบบอนุกรม 
id :   "04XK8XoQI227314y42h0LL" 
seatbid   { 
   bid   { 
     id :   "R9TtHE88cGu48FA4DuG" 
     impid :   "1" 
     price :   1.0523000955581665 
     adm :   "https://video.test.com/ads?id=123456&wprice= %% WINNING_PRICE %% " 
     crid :   "test_creative_id_400281" 
     dealid :   "45957820" 
     [ com . google . doubleclick . bid ]   { 
       event_notification_token   { 
         payload :   "token" 
       } 
       billing_id :   63495119434 
       dsa   { 
         adrender :   true 
       } 
       clickurl :   "google.com" 
     } 
   } 
} 
cur :   "JPY" 
[ com . google . doubleclick . bid_response ]   { 
   processing_time_ms :   11 
}  
  
    OpenRTB JSON 
    แสดงตัวอย่างให้ฉันดู 
    
{ 
   "id" :   "04XK8XoQI227314y42h0LL" , 
   "seatbid" :   [ 
     { 
       "bid" :   [ 
         { 
           "id" :   "R9TtHE88cGu48FA4DuG" , 
           "impid" :   "1" , 
           "price" :   1.0523000955581665 , 
           "adm" :   "https://video.test.com/ads?id=123456&wprice= %% WINNING_PRICE %% " , 
           "crid" :   "test_creative_id_400281" , 
           "dealid" :   "45957820" , 
           "ext" :   { 
             "event_notification_token" :   { 
               "payload" :   "token" 
             }, 
             "billing_id" :   "63495119434" , 
             "dsa" :   { 
               "adrender" :   1 
             }, 
             "clickurl" :   [ 
               "google.com" 
             ] 
           } 
         } 
       ] 
     } 
   ], 
   "cur" :   "JPY" , 
   "ext" :   { 
     "processing_time_ms" :   11 
   } 
}  
 
แบนเนอร์บนเว็บในอุปกรณ์เคลื่อนที่สำหรับผู้เสนอราคา Exchange 
  
    OpenRTB Protobuf 
    แสดงตัวอย่างให้ฉันดู 
    การตอบกลับแบบอนุกรม 
id :   "1qCcL0350ZX64rx8WQm7N1" 
seatbid   { 
   bid   { 
     id :   "9I6TCG083egHnxY1490" 
     impid :   "1" 
     price :   0.34 
     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_607960" 
     w :   320 
     h :   100 
     [ com . google . doubleclick . bid ]   { 
       impression_tracking_url :   "https://test.com/impression?id=123456" 
       event_notification_token   { 
         payload :   "token" 
       } 
       billing_id :   29290087654 
       third_party_buyer_token :   "0W4u1J2Ya9GqKfzo925xPxN527l74y91z6P9h9b4s0Dg2t1q84O4S652wcHe63576VvK8aG6K7387yQujd13kdb99q75447qr6k332G4l3Mzhq75f155894Jg0U1vB18t73C24B4D1cd" 
     } 
   } 
   bid   { 
     id :   "1xHeg1ANn9RbY9n4rG2" 
     impid :   "1" 
     price :   0.2 
     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_607960" 
     w :   300 
     h :   50 
     [ com . google . doubleclick . bid ]   { 
       impression_tracking_url :   "https://test.com/impression?id=123456" 
       event_notification_token   { 
         payload :   "token" 
       } 
       third_party_buyer_token :   "ha1g9MaJIJ8R0110bkX95Jb0ksv78l4139zr4t98A19DDO6NCpX84TQp84a6H470M7mop5KzVHRyrJtn1zw78N1559WRm7554X7R21jnI0E1X7c10Xj98c08iH85742t76Y26H67cW78" 
     } 
   } 
   seat :   "3581:7507:419542" 
} 
seatbid   { 
   bid   { 
     id :   "x0ch5K0vq3iY6M7ZT84" 
     impid :   "1" 
     price :   0.11 
     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_607960" 
     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" 
       } 
     } 
   } 
   seat :   "3581:7507:419542" 
} 
bidid :   "EFa8lD5s-3w28kZzd-4221-aZkE1F6r5810" 
[ com . google . doubleclick . bid_response ]   { 
   processing_time_ms :   250 
}  
  
    OpenRTB JSON 
    แสดงตัวอย่างให้ฉันดู 
    
{ 
   "id" :   "1qCcL0350ZX64rx8WQm7N1" , 
   "seatbid" :   [ 
     { 
       "bid" :   [ 
         { 
           "id" :   "9I6TCG083egHnxY1490" , 
           "impid" :   "1" , 
           "price" :   0.34 , 
           "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_607960" , 
           "w" :   320 , 
           "h" :   100 , 
           "ext" :   { 
             "impression_tracking_url" :   [ 
               "https://test.com/impression?id=123456" 
             ], 
             "event_notification_token" :   { 
               "payload" :   "token" 
             }, 
             "billing_id" :   "29290087654" , 
             "third_party_buyer_token" :   "0W4u1J2Ya9GqKfzo925xPxN527l74y91z6P9h9b4s0Dg2t1q84O4S652wcHe63576VvK8aG6K7387yQujd13kdb99q75447qr6k332G4l3Mzhq75f155894Jg0U1vB18t73C24B4D1cd" 
           } 
         }, 
         { 
           "id" :   "1xHeg1ANn9RbY9n4rG2" , 
           "impid" :   "1" , 
           "price" :   0.2 , 
           "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_607960" , 
           "w" :   300 , 
           "h" :   50 , 
           "ext" :   { 
             "impression_tracking_url" :   [ 
               "https://test.com/impression?id=123456" 
             ], 
             "event_notification_token" :   { 
               "payload" :   "token" 
             }, 
             "third_party_buyer_token" :   "ha1g9MaJIJ8R0110bkX95Jb0ksv78l4139zr4t98A19DDO6NCpX84TQp84a6H470M7mop5KzVHRyrJtn1zw78N1559WRm7554X7R21jnI0E1X7c10Xj98c08iH85742t76Y26H67cW78" 
           } 
         } 
       ], 
       "seat" :   "3581:7507:419542" 
     }, 
     { 
       "bid" :   [ 
         { 
           "id" :   "x0ch5K0vq3iY6M7ZT84" , 
           "impid" :   "1" , 
           "price" :   0.11 , 
           "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_607960" , 
           "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" 
             } 
           } 
         } 
       ], 
       "seat" :   "3581:7507:419542" 
     } 
   ], 
   "bidid" :   "EFa8lD5s-3w28kZzd-4221-aZkE1F6r5810" , 
   "ext" :   { 
     "processing_time_ms" :   250 
   } 
}