โฆษณาเนทีฟ

โฆษณาเนทีฟคือโฆษณาที่มีการจัดรูปแบบไว้ให้เหมาะสมกับเนื้อหาและการออกแบบรูปลักษณ์โดยรอบ ทำให้ผู้ใช้มีแนวโน้มที่จะดูและคลิกโฆษณาดังกล่าวมากขึ้น พื้นที่โฆษณาโฆษณาเนทีฟมีให้บริการในแอปบนอุปกรณ์เคลื่อนที่ รวมถึงเว็บไซต์ในเดสก์ท็อปและอุปกรณ์เคลื่อนที่ ดูข้อมูลเพิ่มเติมเกี่ยวกับโฆษณาเนทีฟได้ที่ภาพรวมของโฆษณาเนทีฟ

โฆษณาเนทีฟใช้ได้กับทั้ง Authorized Buyers และการเสนอราคาแบบเปิด

ขั้นตอนการทำงานของโฆษณาเนทีฟมีดังนี้

  1. จะมีการเรียกโฆษณาเนทีฟไปยัง Google การเรียกจะระบุเทมเพลตโฆษณาเนทีฟ 1 หรือทั้ง 2 รายการด้านล่าง โดยแต่ละเทมเพลตจะระบุช่องโฆษณาเนทีฟที่ต้องการ
  2. Google ส่งคำขอราคาเสนอ RTB ที่มีรายการช่องที่กำลังขอให้แก่ผู้ซื้อ
  3. ผู้ซื้อที่สนใจตอบกลับด้วยช่องที่ขอ
  4. Google จัดการประมูลเพื่อเลือกราคาเสนอที่ชนะและส่งไฟล์เนื้อหาครีเอทีฟโฆษณาที่ผู้ซื้อจัดหาให้ไปยังผู้เผยแพร่โฆษณา
  5. ผู้เผยแพร่โฆษณาจะรวมเนื้อหาเข้าด้วยกันเป็นโฆษณาเนทีฟและจัดรูปแบบให้เข้ากับการออกแบบของเว็บไซต์

รูปแบบข้อความ

Google รองรับ ข้อกำหนด OpenRTB ทั้งใน JSON และ Protobuf

สำหรับโฆษณาเนทีฟ OpenRTB Protobuf ช่องต่อไปนี้แตกต่างจากข้อกำหนด

ข้อกำหนด JSON
(PROTOCOL_OPENRTB_2_4)
ประเภท JSON การใช้งาน OpenRTB
(PROTOCOL_OPENRTB_PROTOBUF_2_4)
ประเภท OpenRTB
BidRequest.imp[].native.request string BidRequest.imp[].native.request_native NativeRequest
BidResponse.seatbid[].bid[].adm string BidResponse.seatbid[].bid[].adm_native NativeResponse

ช่อง OpenRTB เป็นข้อความ Protobuf ไม่ใช่สตริง

หากคุณใช้ OpenRTB Protobuf คุณจะไม่ได้รับ BidRequest.imp[].native.request และต้องตอบกลับด้วย BidResponse.seatbid[].bid[].adm_native ระบบจะกรองการเสนอราคาตอบที่มี BidResponse.seatbid[].bid[].adm ออก คุณไม่จำเป็นต้องระบุรหัสเนื้อหาสำหรับการเสนอราคาตอบของ OpenRTB Protobuf

หากคุณใช้ Buyer SDK เพื่อแสดงโฆษณาเนทีฟ คุณต้องรวมรูปภาพ type ไว้ใน declared_ad เมื่อส่งครีเอทีฟโฆษณาเข้ารับการตรวจสอบ

เทมเพลตโฆษณาเนทีฟ

Google รองรับเทมเพลตโฆษณาเนทีฟ 2 ประเภทที่นิยมใช้กันมากที่สุดสำหรับโฆษณาเนทีฟที่ไม่ใช่วิดีโอและโฆษณาวิดีโอ

ขณะที่เทมเพลตอื่นๆ จะมีอยู่และอาจมีชุดข้อกำหนดสำหรับช่อง มิติข้อมูล และขนาดที่ต่างไปจากนี้

เทมเพลตโฆษณาเพื่อการติดตั้งแอป

ตารางด้านล่างแสดงช่องที่มีป้ายกำกับว่าต้องระบุหรือแนะนำ โดยคำนึงถึงกฎต่อไปนี้

  • ผู้เสนอราคาต้องระบุช่องที่ระบุว่าต้องระบุ
  • ผู้เสนอราคาไม่จำเป็นต้องกรอกข้อมูลในช่องที่มีเครื่องหมายแนะนำ และผู้เผยแพร่โฆษณาอาจแสดงหรือไม่แสดงช่องเหล่านี้ (เช่น การให้ดาว)
  • คำกระตุ้นให้ดำเนินการ (CTA) จะทําเครื่องหมายเป็นแนะนําเสมอ เนื่องจากระบบจะกําหนดค่าเริ่มต้นหากผู้เสนอราคาไม่ได้ส่ง แต่ค่าเริ่มต้นจะแสดงเสมอหากมีการส่ง

ตารางต่อไปนี้แสดงช่องของเทมเพลตโฆษณาเพื่อการติดตั้งแอป แอปบนอุปกรณ์เคลื่อนที่ใช้ช่องเหล่านี้เพื่อสร้างโฆษณาเนทีฟเพื่อการติดตั้งแอป

ฟิลด์ คำอธิบาย ต้องระบุหรือแนะนำ แสดงทุกครั้งไหม ขนาดรูปภาพที่แนะนำ/จำนวนอักขระสูงสุดที่แนะนำ ตัวอย่าง
บรรทัดแรก ชื่อแอป จำเป็น มี 25 อักขระ Flood-It!
รูปภาพ ภาพหน้าจอจากแอปหรือรูปภาพอื่นที่เกี่ยวข้อง จำเป็น ไม่ได้ 1200 x 627 พิกเซล หรือ 600 x 600 พิกเซล ขึ้นอยู่กับสัดส่วนภาพที่ผู้เผยแพร่กำหนด <ภาพหน้าจอจากเกม Flood-It!>
เนื้อความ ข้อความหลักของแอป จำเป็น ไม่ได้ 90 อักขระ เรียบง่ายหลอกลวง + ยากสุดๆ จนไม่อยากพลาด = สนุกจนหยุดไม่ได้!
ไอคอนแอป ไอคอนแอป จำเป็น ไม่ได้ 128 x 128 พิกเซล <ไอคอนแอป Flood-it!>
คำกระตุ้นให้ดำเนินการ (Call-To-Action) การดำเนินการที่ต้องการของผู้ใช้ แนะนำ มี 15 อักขระ ติดตั้ง
Star rating จำนวนดาว (0-5) ที่แสดงคะแนนของแอปใน App Store แนะนำ ไม่ได้ 0 - 5 4.5
ราคา ค่าใช้จ่ายของแอป แนะนำ ไม่ได้ 15 อักขระ ฟรี

หมายเหตุเกี่ยวกับความยาวของข้อความ

หากผู้ซื้อส่งเนื้อหาข้อความ (เช่น ข้อความเนื้อหา) ยาวเกินจำนวนอักขระสูงสุดที่แนะนำ Google หรือผู้เผยแพร่โฆษณาอาจตัดข้อความดังกล่าวและแสดงจุดไข่ปลา โปรดทราบว่าขีดจำกัดการตัดข้อความจะตัดเหลือครึ่งหนึ่งในภาษาจีน ญี่ปุ่น และเกาหลี เช่น บรรทัดแรกสำหรับภาษาอังกฤษจำกัดไว้ที่ 90 อักขระ และจำกัดที่ 45 อักขระสำหรับภาษาจีน

หมายเหตุเกี่ยวกับขนาดรูปภาพ

ผู้เผยแพร่โฆษณาได้รับอนุญาตให้ทำสิ่งต่อไปนี้

  • ครอบตัดรูปภาพหลักอย่างสมมาตรได้สูงสุด 20% ในมิติเดียว (ความสูงหรือความกว้าง)
  • ปรับขนาดรูปภาพโดยไม่เปลี่ยนสัดส่วนภาพ
  • ระบบอาจกรองรูปภาพที่มีสัดส่วนภาพต่างจากรูปภาพที่มีความสูงและความกว้างอย่างมาก

เทมเพลตโฆษณาแบบคอนเทนต์

ตารางต่อไปนี้แสดงฟิลด์ของเทมเพลตโฆษณาเนื้อหา ผู้เผยแพร่โฆษณาใช้ช่องเหล่านี้เพื่อสร้างโฆษณาเนทีฟแบบคอนเทนต์

ฟิลด์ คำอธิบาย ต้องระบุหรือแนะนำ แสดงทุกครั้งไหม ขนาดรูปภาพสูงสุด/จำนวนอักขระสูงสุดที่แนะนำ * ตัวอย่าง
บรรทัดแรก ส่วนหัวของโฆษณา จำเป็น มี 25 อักขระ อัตราสินเชื่อต่ำสุด
รูปภาพ รูปภาพหลักของโฆษณา จำเป็น ไม่ได้ 1200 x 627 พิกเซล หรือ 600 x 600 พิกเซล ขึ้นอยู่กับสัดส่วนภาพที่ผู้เผยแพร่กำหนด <รูปภาพหลักของโฆษณา>
เนื้อความ เนื้อหาโฆษณา จำเป็น ไม่ได้ 90 อักขระ บ้านใหม่ใน Brooklyn ที่อบอุ่น ราคาถูกกว่าและเร็วกว่าที่คุณคิด!
โลโก้ โลโก้ของผู้ลงโฆษณาหรือรูปภาพขนาดเล็กอื่นๆ ที่เกี่ยวข้อง แนะนำ ไม่ได้ 128 x 128 พิกเซล <โลโก้ของ NY Mortgage Inc.>
คำกระตุ้นให้ดำเนินการ (Call-To-Action) การดำเนินการที่ผู้ใช้ต้องการ แนะนำ ไม่ได้ 15 อักขระ รับใบเสนอราคา
ผู้ลงโฆษณา ข้อความที่ระบุผู้ลงโฆษณาหรือแบรนด์ จำเป็น ไม่ได้ 25 อักขระ NY Mortgage Inc.

เทมเพลตโฆษณาวิดีโอเพื่อการติดตั้งแอป

ฟิลด์ คำอธิบาย ต้องระบุหรือแนะนำ แสดงทุกครั้งไหม ขนาดรูปภาพที่แนะนำ/จำนวนอักขระสูงสุด * ตัวอย่าง
วิดีโอ การตอบกลับด้วย VAST ของวิดีโอซึ่งมีเนื้อหาที่จำเป็นทั้งหมดในการเล่นโฆษณาวิดีโอ จำเป็น ไม่ได้ - URL ไปยัง VAST XML ที่มี Flood-It! โฆษณาวิดีโอ
บรรทัดแรก ชื่อแอป จำเป็น มี 25 อักขระ Flood-It!
รูปภาพ รูปภาพ (ภาพขนาดย่อ) ที่แสดงในโปรแกรมเล่นก่อนการคลิกโฆษณาวิดีโอหรือขณะโหลด จำเป็น ไม่ได้ ควรตรงกับอัตราส่วนของวิดีโอ (เช่น 1280x720 สำหรับวิดีโอ 16x9 และ 4x3 สำหรับวิดีโอ 640x480) ภาพหน้าจอจากเกม Flood-It! หรือจากวิดีโอ
เนื้อความ ข้อความหลักของแอป จำเป็น ไม่ได้ 90 อักขระ เรียบง่ายหลอกลวง + ยากสุดๆ จนไม่อยากพลาด = สนุกจนหยุดไม่ได้!
ไอคอนแอป ไอคอนแอป จำเป็น ไม่ได้ 128 x 128 พิกเซล ไอคอนแอป Flood-it!
คำกระตุ้นให้ดำเนินการ (Call-To-Action) การดำเนินการที่ต้องการของผู้ใช้ จำเป็น มี 15 อักขระ ติดตั้ง
Star rating จำนวนดาว (0-5) ที่แสดงถึงคะแนนของแอปใน App Store แนะนำ ไม่ได้ 0 - 5 4.5
ราคา ค่าใช้จ่ายของแอป แนะนำ ไม่ได้ 15 อักขระ ฟรี

ข้อจำกัด

  • วิดีโอ: วิดีโอทั้งหมดต้องอยู่ในรูปแบบ VAST URL หรือแท็ก VAST ไฟล์วิดีโอดิบ เช่น WebM, MP4 ฯลฯ ไม่สามารถระบุได้

  • ความยาวของข้อความ: หากผู้ซื้อระบุเนื้อหาข้อความเช่น body ในคำตอบ Google หรือผู้เผยแพร่โฆษณาอาจตัดข้อความดังกล่าวให้เป็นจุดไข่ปลา โปรดทราบว่าขีดจำกัดการตัดข้อความจะตัดเหลือครึ่งหนึ่งในภาษาจีน ญี่ปุ่น และเกาหลี เช่น บรรทัดแรกในภาษาอังกฤษจำกัดไว้ที่ 90 อักขระ และ 45 อักขระสำหรับภาษาจีน

  • ขนาดรูปภาพ: ผู้เผยแพร่โฆษณาสามารถทำสิ่งต่อไปนี้

    • ครอบตัดรูปภาพหลักอย่างสมมาตรได้สูงสุด 20% ในมิติเดียว (ความสูงหรือความกว้าง
    • ปรับขนาดรูปภาพโดยไม่เปลี่ยนสัดส่วนภาพ

ตัวอย่างโฆษณาเพื่อการติดตั้งแอป

วิดีโอแบบเนทีฟ

เทมเพลตโฆษณาเนื้อหาวิดีโอ

ฟิลด์ คำอธิบาย ต้องระบุหรือแนะนำ แสดงทุกครั้งไหม ขนาดรูปภาพที่แนะนำ/จำนวนอักขระสูงสุด * ตัวอย่าง
วิดีโอ การตอบกลับด้วย VAST ของวิดีโอซึ่งมีเนื้อหาที่จำเป็นทั้งหมดในการเล่นโฆษณาวิดีโอ จำเป็น มี - URL ไปยัง VAST XML ที่มี Flood-It! โฆษณาวิดีโอ
บรรทัดแรก ส่วนหัวของโฆษณา จำเป็น มี 25 อักขระ อัตราสินเชื่อต่ำสุด
รูปภาพ รูปภาพ (ภาพขนาดย่อ) ที่แสดงในโปรแกรมเล่นก่อนการคลิกโฆษณาวิดีโอหรือขณะโหลด จำเป็น ไม่ได้ ควรตรงกับอัตราส่วนของวิดีโอ (เช่น 1280x720 สำหรับวิดีโอ 16x9 และ 4x3 สำหรับวิดีโอ 640x480) ภาพหน้าจอจากวิดีโอ
เนื้อความ เนื้อหาโฆษณา จำเป็น ไม่ได้ 90 อักขระ บ้านใหม่ใน Brooklyn ที่อบอุ่น ราคาถูกกว่าและเร็วกว่าที่คุณคิด!
โลโก้ โลโก้ของผู้ลงโฆษณาหรือรูปภาพขนาดเล็กอื่นๆ ที่เกี่ยวข้อง แนะนำ ไม่ได้ 128 x 128 พิกเซล โลโก้ของ NY Mortgage Inc.
คำกระตุ้นให้ดำเนินการ (Call-To-Action) การดำเนินการที่ผู้ใช้ต้องการ จำเป็น ไม่ได้ 15 อักขระ รับใบเสนอราคา
ผู้ลงโฆษณา ข้อความที่ระบุผู้ลงโฆษณาหรือแบรนด์ จำเป็น ไม่ได้ 25 อักขระ NY Mortgage Inc.

ช่องเมตา

ช่องเมตาต่อไปนี้มีการแชร์โดยเทมเพลตโฆษณาที่รองรับทั้งหมด

บัฟเฟอร์โปรโตคอลแบบเรียลไทม์ของ Authorized Buyers เทียบเท่ากับ Authorized Buyers OpenRTB คำอธิบาย
NativeAd.click_link_url Link.url URL ที่เบราว์เซอร์จะเรียกใช้เมื่อผู้ใช้คลิกโฆษณา อาจเป็นก้าวแรกของเชนการเปลี่ยนเส้นทางที่นำไปสู่หน้า Landing Page ในท้ายที่สุด สำหรับโฆษณาเนทีฟ เราขอแนะนำให้ใช้ click_link_url เป็นช่องสำหรับตั้งค่าปลายทางที่ผู้ใช้จะไปในท้ายที่สุด คุณต้องใช้ช่องนี้ในกรณีของหน้า Landing Page แบบไดนามิก
Ad.click_through_url Bid.adomain

ต้องตั้งค่าหากผู้เสนอราคาต้องการเสนอราคา นี่คือชุด URL ปลายทางสำหรับข้อมูลโค้ด ซึ่งรวมถึง URL ที่ผู้ใช้จะไปถึงเมื่อคลิกโฆษณาที่แสดง และ URL ใดๆ ที่แสดงในโฆษณาที่แสดง อย่ารวมการเรียกกลางคันไปยังเซิร์ฟเวอร์โฆษณาที่ไม่เกี่ยวข้องกับหน้า Landing Page สุดท้าย BidResponse ที่แสดงข้อมูลโค้ดหรือโฆษณาวิดีโอ แต่ประกาศว่าจะไม่ทิ้ง click_through_url โปรดตั้งค่าช่องนี้หากตั้งค่า html_snippet, video_url หรือ native_ad ไว้เท่านั้น ข้อมูลนี้ใช้เป็นการประกาศ URL ปลายทาง เช่น เพื่อหลังการกรอง URL ที่ผู้เผยแพร่โฆษณาบล็อก หรือการจัดหมวดหมู่โฆษณา โปรดดู NativeAd.click_link_url ด้านบนเมื่อใช้โฆษณาเนทีฟ

สำหรับโฆษณาที่ไม่ใช่เนทีฟ ระบบจะไม่ใช้สำหรับการติดตามการคลิกหรือฟังก์ชันการทำงานอื่นๆ ของโฆษณา แต่จะใช้เป็นการประกาศ URL ปลายทางเท่านั้น

สำหรับโฆษณาเนทีฟ หากไม่ได้ตั้งค่า NativeAd.click_link_url ระบบจะใช้ค่าแรกของ click_through_url เพื่อนำผู้ใช้ไปยังหน้า Landing Page นอกจากนี้ ค่าทั้งหมดจะใช้เป็นการประกาศ URL ปลายทาง (คล้ายกับกรณีที่ไม่ใช่เนทีฟ)

NativeAd.click_tracking_urls Link.clicktrackers ไม่บังคับ URL เพิ่มเติมที่ให้ผู้ลงโฆษณาสามารถติดตามการคลิกโฆษณาของผู้ใช้
Ad.ad_choices_destination_url BidExt.ad_choices_destination_url ลิงก์ไปยังค่าที่กำหนดเองของโฆษณาหรือหน้าเลือกไม่ใช้ หากมี ระบบจะเพิ่มไอคอนตัวเลือกโฆษณาอื่นๆ มาตรฐานลงในครีเอทีฟโฆษณาเนทีฟและลิงก์กับ URL นี้ ค่านี้รองรับสำหรับโฆษณาเนทีฟ แต่จะไม่เป็นส่วนหนึ่งของข้อความเนทีฟในการเสนอราคาตอบ
Ad.impression_tracking_url NativeResponse.imptrackers คุณควรติดตามการแสดงผลของเนทีฟด้วย impression_tracking_url ใน Proto การเสนอราคาแบบเรียลไทม์ของ Authorized Buyers หรือเครื่องมือติดตามการแสดงผลแบบเนทีฟใน OpenRTB

ผู้เผยแพร่เป็นตัวระบุ required_fields และ recommended_fields เราจะแสดงวิธีแปลช่องบิตเหล่านี้เพื่อกำหนดว่าต้องระบุหรือแนะนำให้ใส่ข้อมูลนั้นหรือไม่

ช่องบิตจะใช้ค่าไบนารีแต่ละบิตเพื่อจัดเก็บคำสั่งจริงหรือเท็จ ซึ่งเทียบเท่ากับการส่งสัญญาณบูลีนหลายรายการ เช่น is_logo_required, is_header_required ฯลฯ แต่มาบรรจุกันทั้งหมดเข้าด้วยกัน

ตัวอย่าง

ในตัวอย่างนี้เราจะใช้ค่า required_fields เป็น 1085

ขั้นแรก ให้หาค่าฐานสองที่เทียบเท่าดังนี้ 10000111101

เมื่อมีค่าฐานสองแล้ว คุณสามารถตรวจสอบบิตเพื่อดูว่าต้องระบุ (1) หรือช่องที่ต้องระบุ (0) หรือไม่

ตารางด้านล่างจะแมปฟิลด์กับตำแหน่งของฟิลด์ในค่าฐานสอง อ่านไบนารีจากขวาไปซ้ายโดย 1 บิตตรงกับตำแหน่งขวาสุดในค่าไบนารี

ฟิลด์ ตำแหน่งค่าไบนารี (ขวาไปซ้าย)
HEADLINE 1
BODY 2
CALL_TO_ACTION 4
ADVERTISER 8
IMAGE 16
LOGO 32
APP_ICON 64
STAR_RATING 128
PRICE 256
STORE 512
VIDEO 1024

เมื่อดูตัวอย่างค่าไบนารี 10000111101 1 บิต (ขวาสุด) คือ 1 ซึ่งหมายถึงค่าที่จำเป็น ตามตาราง 1 บิตจะสอดคล้องกับ HEADLINE

ค่า 2 บิต (ค่าที่ 2 จากขวา) คือ 0 ซึ่งแสดงว่าไม่จำเป็น 2 บิตสอดคล้องกับ BODY

ต่อไปนี้คือช่องที่ต้องกรอกทั้งหมดที่มีการตีความในตัวอย่างของเรา

ค่า คำอธิบาย จำเป็นหรือไม่
1 VIDEO มี
0 STORE ไม่ได้
0 PRICE ไม่ได้
0 STAR_RATING ไม่ได้
0 APP_ICON ไม่ได้
1 LOGO มี
1 IMAGE มี
1 ADVERTISER มี
1 CALL_TO_ACTION มี
0 BODY ไม่ได้
1 HEADLINE มี

ข้อความ NativeAdTemplate

เมื่อได้รับคำขอราคาเสนอที่มีพื้นที่โฆษณาเนทีฟ คำขอนั้นจะมี BidRequest.adSlot[].native_ad_template ที่มีการป้อนข้อมูล ข้อความ NativeAdTemplate จะระบุข้อกำหนดสำหรับสิ่งต่อไปนี้

  • ช่องที่ต้องระบุหรือแนะนำ
  • ขนาดของรูปภาพ โลโก้ และไอคอนแอป
  • ข้อกำหนดสำหรับสไตล์ที่โฆษณาแสดง
message BidRequest {
  //...
  message AdSlot {
    //...

    message NativeAdTemplate {
      // Defines the bits used in required_fields and recommended_fields.
      // There is one bit for each of the fields in BidResponse.Ad.NativeAd
      enum Fields {
        NO_FIELDS = 0x0;
        HEADLINE = 0x1;
        BODY = 0x2;
        CALL_TO_ACTION = 0x4;
        ADVERTISER = 0x8;
        IMAGE = 0x10;
        LOGO = 0x20;
        APP_ICON = 0x40;
        STAR_RATING = 0x80;
        PRICE = 0x100;
        DEPRECATED_STORE = 0x200;
        VIDEO = 0x400;
      }

      // Bitfield describing which fields are required by the publisher. Bid
      // responses with no value for these fields will be rejected. Click
      // and view tracking urls are always implicitly required.
      optional int64 required_fields = 1;

      // Bitfield describing which fields are recommended by the publisher.
      // All recommended field are supported, but not all recommended fields
      // are required.
      optional int64 recommended_fields = 2;

      // max_safe_length indicates the maximum number of Unicode characters that
      // are guaranteed to be shown without truncation. Longer strings may be
      // truncated and ellipsized by Ad Exchange or the publisher during
      // rendering.
      optional int32 headline_max_safe_length = 3;
      optional int32 body_max_safe_length = 4;
      optional int32 call_to_action_max_safe_length = 5;
      optional int32 advertiser_max_safe_length = 6;
      optional int32 price_max_safe_length = 15;

      // The width and height from which to calculate the required aspect ratio.
      // You can provide a larger image in the response. Images that have aspect
      // ratios substantially different than those implied by the height and
      // width may be filtered.
      optional int32 image_width = 7;
      optional int32 image_height = 8;
      optional int32 logo_width = 9;
      optional int32 logo_height = 10;
      optional int32 app_icon_width = 11;
      optional int32 app_icon_height = 12;

      // Globally distinct id for the specific style, HTML, and CSS with which
      // the native ad is rendered.
      optional int32 style_id = 16;

      // Type of style layout for each native ad template.
      enum LayoutType {
        PIXEL = 0;
        FLUID = 1;
      }
      optional LayoutType style_layout_type = 17 [default = PIXEL];

      // If the style_layout_type is Pixel, width and height of the
      // entire native ad after rendering. If the style_layout_type is
      // Fluid, the style_height and style_width may optionally
      // not be populated.
      optional int32 style_height = 18;
      optional int32 style_width = 19;
    }
    repeated NativeAdTemplate native_ad_template = 51;
  }

    // NativePlacementType describes placement of native ad slot with respect to
    // surrounding context.
    enum NativePlacementType {
      PLACEMENT_UNKNOWN = 0;
      // In the feed of content - for example as an item inside the organic
      // feed/grid/listing/carousel.
      PLACEMENT_IN_FEED = 1;
      // In the atomic unit of the content - for example, in the article page or single
      // image page.
      PLACEMENT_ATOMIC_UNIT = 2;
      // Outside the core content - for example in the ads section on the right
      // rail, as a banner-style placement near the content, etc.
      PLACEMENT_OUTSIDE = 3;
      // Recommendation widget, most commonly presented below the article
      // content.
      PLACEMENT_RECOMMENDATION = 4;
    }

    optional NativePlacementType native_placement_type = 45;

  // ...
}

ข้อความ NativeAd

เมื่อเสนอราคาในพื้นที่โฆษณาเนทีฟ ผู้ซื้อต้องเติมข้อมูลในช่อง BidResponse.ad[].native_ad ในช่องที่ต้องกรอกใน BidRequest.adSlot[].native_ad_template ที่เกี่ยวข้อง

message BidResponse {
  //...
  message Ad {
    //...

    message NativeAd {
      // A short title for the ad.
      optional string headline = 1;

      // A long description of the ad.
      optional string body = 2;

      // A label for the button that the user is supposed to click.
      optional string call_to_action = 3;

      // The name of the advertiser or sponsor, to be displayed in the ad
      // creative.
      optional string advertiser = 4;

      // Next tag to use: 4
      message Image {
        optional string url = 1;

        // Image width and height are specified in pixels. You may provide a
        // larger image than was requested, so long as the aspect ratio is
        // preserved.
        optional int32 width = 2;
        optional int32 height = 3;
      }

      // A large image.
      optional Image image = 5;

      // A smaller image, for the advertiser's logo.
      optional Image logo = 6;

      // The app icon, for app download ads.
      optional Image app_icon = 7;

      // The video file. Only set this field if the video field is requested.
      oneof video {
        // The URL to fetch a video ad. The URL should return an XML response
        // that conforms to VAST standards.
        string video_url = 13;

        // The VAST document to be returned.
        string video_vast_xml = 16;
      }

      // The app rating in the app store. Must be in the range [0-5].
      optional double star_rating = 8;

      // The URL that the browser/SDK will load when the user clicks the ad.
      // This can be the landing page directly, or the first step of a redirect
      // chain that eventually leads to it. For backward compatibility, if this
      // is not set, the first Ad.click_through_url is used.
      optional string click_link_url = 14;

      // The URL to use for click tracking. The SDK pings click tracking url on
      // a background thread. When resolving the url, HTTP 30x redirects are
      // followed. The SDK ignores the contents of the response; this URL
      // has no effect on the landing page for the user.
      // This field is planned to be deprecated and we are moving to the
      // repeated click_tracking_urls field.
      optional string click_tracking_url = 11;

      // The URLs to use for click tracking. This will be used throughout the
      // serving stack and will incorporate any URL in click_tracking_urls.
      repeated string click_tracking_urls = 15;

      // The price of the promoted app including the currency info.
      optional string price = 10;

    };
    optional NativeAd native_ad = 18;

    // The set of destination URLs for the snippet. This includes the URLs that
    // the user will go to if they click on the displayed ad, and any URLs that
    // are visible in the rendered ad. Do not include intermediate calls to the
    // adserver that are unrelated to the final landing page. A BidResponse that
    // returns a snippet or video ad but declares no click_through_url will be
    // discarded. Only set this field if html_snippet or video_url or native_ad
    // are set. This data is used as a destination URL declaration, for example
    // for post-filtering of publisher-blocked URLs or ad categorization.
    //
    // For non-native ads, it is not used for click tracking or any
    // other ad functionality; it is only used as a destination URL
    // declaration.
    //
    // For native ads, if NativeAd.click_link_url is not set, the first
    // value of click_through_url is used to direct the user to the landing
    // page. In addition, all values are used as destination
    // URL declarations (similar to the non-native case).
    repeated string click_through_url = 4;

    //...

    // The URLs to call when the impression is rendered. The SDK pings
    // impression urls on a background thread and ignores the contents
    // of the response.
    repeated string impression_tracking_url = 19;

    // Link to ad preferences page. This is only supported for native ads.
    // If present, a standard AdChoices icon is added to the native ad creative and
    // linked to this URL.
    optional string ad_choices_destination_url = 21;
    // ...
  }
}

ตัวอย่างคำขอราคาเสนอ

คำขอราคาเสนอที่ไม่ใช่วิดีโอ

Google

OpenRTB JSON

โปรโตคอล OpenRTB

คำขอราคาเสนอวิดีโอ

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

โปรดทราบว่าค่าในการตอบกลับเหล่านี้ไม่ได้มีวัตถุประสงค์เพื่อให้ตรงกับคำขอที่เกี่ยวข้องข้างต้น อย่างไรก็ตาม หากเทมเพลตในคำขอแนะนำช่องที่จำเป็น/ไม่บังคับ คำตอบที่นี่จะสอดคล้องกับข้อกำหนดเหล่านั้น

การเสนอราคาตอบที่ไม่ใช่วิดีโอ

Google

OpenRTB JSON

โปรโตคอล OpenRTB

การเสนอราคาตอบของวิดีโอ