สร้างคำตอบ

หลังจากแอปพลิเคชันประมวลผลคําขอราคาเสนอจาก 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 โดยไม่เปลี่ยนแปลงในการเสนอราคาตอบ

คำแนะนำ

  • เปิดใช้การเชื่อมต่อ HTTPS แบบถาวร (หรือที่เรียกว่า "Keep-Alive" หรือ "การใช้การเชื่อมต่อซ้ำ") ในเซิร์ฟเวอร์ ตั้งค่าการหมดเวลาเป็นอย่างน้อย 10 วินาที โดยค่าที่สูงกว่าจะมีประโยชน์ในหลายกรณี Google จะยืนยันข้อมูลนี้ในระหว่างการทดสอบเวลาในการตอบสนองครั้งแรกของแอปพลิเคชัน เนื่องจาก Authorized Buyers ส่งคำขอในอัตราที่สูงและต้องหลีกเลี่ยงเวลาในการตอบสนองที่เพิ่มขึ้นจากการสร้างการเชื่อมต่อ TCP แยกกันสำหรับคำขอแต่ละรายการ
  • ใส่ URL ติดตามการแสดงผลที่ไม่บังคับเพื่อติดตามเมื่อการแสดงผลแสดงผลแทนที่จะติดตามเมื่อผู้เสนอราคาชนะ เนื่องจากจำนวนครั้งที่ชนะและการแสดงผลลดลง สถิติการติดตามจึงแม่นยำมากขึ้น

  • ตรวจสอบว่าโค้ดผู้เสนอราคาของคุณไม่ใช้ช่องที่เลิกใช้งานแล้ว ซึ่งอาจทําให้ราคาเสนอไม่สําเร็จเนื่องจากมีข้อผิดพลาด
  • ใส่ BidResponse.seatbid.bid.w และ BidResponse.seatbid.bid.h ใน BidResponse BidResponse ของคําขอที่มีโฆษณาหลายขนาดต้องระบุช่องเหล่านี้ มิเช่นนั้นระบบจะยกเลิกการประมูล
  • จำกัดขนาดคำตอบให้ไม่เกิน 8K การตอบกลับขนาดใหญ่มากอาจเพิ่มเวลาในการตอบสนองของเครือข่ายและทําให้หมดเวลา
  • ปฏิบัติตามหลักเกณฑ์สําหรับราคาเสนอในพื้นที่โฆษณา iOS ที่ต้องระบุแหล่งที่มาของ SKAdNetwork

ตัวอย่างการเสนอราคาตอบ

ตัวอย่างต่อไปนี้แสดงตัวอย่างคําขอ Protobuf และ JSON ที่มนุษย์อ่านได้

OpenRTB ProtobufOpenRTB JSONGoogle
การตอบกลับแบบอนุกรม
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"
{
  "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"
}
การตอบกลับแบบอนุกรม
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 ในศูนย์ช่วยเหลือ

ตัวอย่างการเสนอราคาตอบ

ส่วนต่อไปนี้แสดงตัวอย่างการเสนอราคาที่ตอบสนองสําหรับโฆษณาประเภทต่างๆ

แบนเนอร์ของแอป

OpenRTB ProtobufOpenRTB JSONGoogle
การตอบกลับแบบอนุกรม
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
}
{
  "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
  }
}
การตอบกลับแบบอนุกรม
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 ProtobufOpenRTB JSONGoogle
การตอบกลับแบบอนุกรม
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"
{
  "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"
}
การตอบกลับแบบอนุกรม
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 ProtobufOpenRTB JSONGoogle
การตอบกลับแบบอนุกรม
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"
{
  "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"
}
การตอบกลับแบบอนุกรม
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 ProtobufOpenRTB JSONGoogle
การตอบกลับแบบอนุกรม
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"
{
  "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"
}
การตอบกลับแบบอนุกรม
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 ProtobufOpenRTB JSONGoogle
การตอบกลับแบบอนุกรม
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"
{
  "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"
}
การตอบกลับแบบอนุกรม
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 ProtobufOpenRTB 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
    [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
}
{
  "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
  }
}