โฆษณาเนทีฟคือโฆษณาที่มีการจัดรูปแบบไว้ให้เหมาะสมกับเนื้อหาและการออกแบบรูปลักษณ์โดยรอบ ทำให้ผู้ใช้มีแนวโน้มที่จะดูและคลิกโฆษณาดังกล่าวมากขึ้น พื้นที่โฆษณาโฆษณาเนทีฟมีให้บริการในแอปบนอุปกรณ์เคลื่อนที่ รวมถึงเว็บไซต์ในเดสก์ท็อปและอุปกรณ์เคลื่อนที่ ดูข้อมูลเพิ่มเติมเกี่ยวกับโฆษณาเนทีฟได้ที่ภาพรวมของโฆษณาเนทีฟ
โฆษณาเนทีฟใช้ได้กับทั้ง Authorized Buyers และการเสนอราคาแบบเปิด
ขั้นตอนการทำงานของโฆษณาเนทีฟมีดังนี้
- จะมีการเรียกโฆษณาเนทีฟไปยัง Google การเรียกจะระบุเทมเพลตโฆษณาเนทีฟ 1 หรือทั้ง 2 รายการด้านล่าง โดยแต่ละเทมเพลตจะระบุช่องโฆษณาเนทีฟที่ต้องการ
- Google ส่งคำขอราคาเสนอ RTB ที่มีรายการช่องที่กำลังขอให้แก่ผู้ซื้อ
- ผู้ซื้อที่สนใจตอบกลับด้วยช่องที่ขอ
- Google จัดการประมูลเพื่อเลือกราคาเสนอที่ชนะและส่งไฟล์เนื้อหาครีเอทีฟโฆษณาที่ผู้ซื้อจัดหาให้ไปยังผู้เผยแพร่โฆษณา
- ผู้เผยแพร่โฆษณาจะรวมเนื้อหาเข้าด้วยกันเป็นโฆษณาเนทีฟและจัดรูปแบบให้เข้ากับการออกแบบของเว็บไซต์
รูปแบบข้อความ
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 ที่แสดงข้อมูลโค้ดหรือโฆษณาวิดีโอ แต่ประกาศว่าจะไม่ทิ้ง สำหรับโฆษณาที่ไม่ใช่เนทีฟ ระบบจะไม่ใช้สำหรับการติดตามการคลิกหรือฟังก์ชันการทำงานอื่นๆ ของโฆษณา แต่จะใช้เป็นการประกาศ 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; // ... } }
ตัวอย่างคำขอราคาเสนอ
คำขอราคาเสนอที่ไม่ใช่วิดีโอ
OpenRTB JSON
โปรโตคอล OpenRTB
คำขอราคาเสนอวิดีโอ
ตัวอย่างการเสนอราคาตอบ
โปรดทราบว่าค่าในการตอบกลับเหล่านี้ไม่ได้มีวัตถุประสงค์เพื่อให้ตรงกับคำขอที่เกี่ยวข้องข้างต้น อย่างไรก็ตาม หากเทมเพลตในคำขอแนะนำช่องที่จำเป็น/ไม่บังคับ คำตอบที่นี่จะสอดคล้องกับข้อกำหนดเหล่านั้น