สร้างคำตอบ

หลังจากแอปพลิเคชันประมวลผลคำขอราคาเสนอจาก Google แล้ว จะต้องมีการสร้างและส่งการตอบกลับ คู่มือนี้จะอธิบายวิธีเขียนโค้ดแอปพลิเคชันเพื่อสร้างการตอบสนอง

สร้างข้อความการเสนอราคาตอบ

Authorized Buyers จะส่ง BidRequest เป็นเนื้อหาข้อความของ HTTP POST การตอบกลับที่แอปพลิเคชันส่งต้องตั้งค่าส่วนหัว Content-Type เป็น application/octet-stream และเนื้อหาข้อความที่ประกอบด้วยบัฟเฟอร์โปรโตคอลแบบอนุกรม บัฟเฟอร์โปรโตคอลคือข้อความ BidResponse ตามที่กำหนดไว้ใน realtime-bidding.proto แอปพลิเคชันของคุณต้องแสดงผล BidResponse ที่แยกวิเคราะห์ได้เพื่อตอบสนองทุก BidRequest การหมดเวลาและการตอบกลับที่แยกวิเคราะห์ไม่ได้ถือว่าเป็นข้อผิดพลาด และ Google ควบคุมผู้เสนอราคากลับมาที่มีอัตราข้อผิดพลาดสูง

หากคุณไม่ต้องการเสนอราคาสำหรับการแสดงผลหนึ่งๆ คุณสามารถตั้งค่าช่อง processing_time_ms เพียงอย่างเดียว แล้วปล่อยช่องอื่นๆ ว่างไว้ คุณดู realtime-bidding.proto ได้จากหน้าข้อมูลอ้างอิง

รหัสครีเอทีฟโฆษณา

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

  • มีรูปลักษณ์หรือพฤติกรรมต่างไปจากเดิม
  • แสดงผลเป็นรูปภาพอื่น
  • แสดงผลด้วยวิธีการที่แตกต่างกัน (เช่น โฆษณาหนึ่งประกอบด้วยรูปภาพ ขณะที่อีกโฆษณาหนึ่งมี Flash)

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

แอตทริบิวต์โฆษณา

คุณต้องประกาศแอตทริบิวต์ครีเอทีฟโฆษณาที่อธิบายลักษณะของโฆษณาและการกำหนดเป้าหมายของโฆษณาอย่างครบถ้วนใน BidResponse.Ad.attribute แอตทริบิวต์ที่ต้องประกาศคือ (ดูรายการแอตทริบิวต์ทั้งหมดที่รองรับได้ที่ buyer-declarable-creative-attributes.txt)

  • 7 Tagging: IsTagged
    โฆษณามีพิกเซลหรือเว็บบีคอนเพื่อวัตถุประสงค์ในการสร้างรายการรหัสคุกกี้สำหรับการทำการตลาดอีกครั้งภายหลัง
  • 8 Remarketing: IsRemarketing
    โฆษณากำหนดเป้าหมายผู้บริโภคตามรหัสคุกกี้หรือรหัสอุปกรณ์ โดยที่รายการรหัสคุกกี้หรือรหัสอุปกรณ์หมายถึงกลุ่มผู้บริโภคที่ก่อนหน้านี้ได้โต้ตอบกับเว็บไซต์ที่ผู้ซื้อเป็นเจ้าของหรือเป็นตัวแทน
  • 9 UserInterestTargeting: IsUserInterestTargeted
    โฆษณากำหนดเป้าหมายผู้บริโภคตามรหัสคุกกี้หรือรหัสอุปกรณ์ โดยที่รายการรหัสคุกกี้หรือรหัสอุปกรณ์หมายถึงกลุ่มผู้บริโภคที่ผู้ซื้อได้กำหนดว่าเป็นกลุ่มความสนใจทั่วไป
  • 30 InstreamVastVideoType: Vpaid
    โฆษณาต้องใช้การรองรับ VPAID เพื่อแสดงผล
  • 32 MraidType: MRAID
    โฆษณาต้องใช้ MRAID API ในการแสดงผล

นอกจากนี้ ระบบจะรองรับแอตทริบิวต์ต่อไปนี้แต่ไม่จำเป็นต้องประกาศ เนื่องจาก Authorized Buyers จะตรวจพบโดยอัตโนมัติ และจะบล็อก (หรืออนุญาต) ครีเอทีฟโฆษณาโดยอิงตามค่าที่ตรวจพบแทนการประกาศของคุณ ดูคำอธิบายเกี่ยวกับวิธีขอความคิดเห็นเกี่ยวกับพร็อพเพอร์ตี้ที่ตรวจพบของครีเอทีฟโฆษณาใน Creatives API

  • 34 RichMediaCapabilityType: RichMediaCapabilityFlash
    โฆษณาต้องใช้การสนับสนุน Flash เพื่อแสดงผล
  • 50 RichMediaCapabilityType: RichMediaCapabilityNonFlash
    โฆษณาไม่จำเป็นต้องใช้ Flash ในการแสดงผล
  • 47 RichMediaCapabilityType: RichMediaCapabilitySSL
    โฆษณาสามารถแสดงผลบนหน้า SSL โปรดทราบว่า Authorized Buyers จะถือว่าครีเอทีฟโฆษณาที่มีค่าที่ประกาศไว้ต่างกันของแอตทริบิวต์นี้แตกต่างกัน (จะได้รับการตรวจสอบแยกกันและมีสถานะการอนุมัติที่แตกต่างกัน) ดังนั้น หากคุณเสนอราคาด้วยครีเอทีฟโฆษณาเดียวกันทั้งเวอร์ชันที่เป็น SSL และไม่ใช่ SSL คุณควรประกาศแอตทริบิวต์นี้ให้สอดคล้องกัน เพื่อให้ความแตกต่างนี้แสดงอย่างถูกต้องใน AdX

ช่องการเสนอราคาแบบเปิด

การเสนอราคาตอบที่ส่งโดยผู้เสนอราคา Exchange และผู้เสนอราคาในเครือข่ายที่เข้าร่วมในการเสนอราคาแบบเปิดนั้นคล้ายกับการเสนอราคาตอบของ Authorized Buyers ที่เข้าร่วมการเสนอราคาแบบเรียลไทม์มาตรฐาน ลูกค้าการเสนอราคาแบบเปิดสามารถระบุช่องเพิ่มเติมเพียงไม่กี่ช่อง และช่องที่มีอยู่ 2-3 ช่องอาจมีการใช้งานแบบอื่น ซึ่งรวมถึงสิ่งต่างๆ ต่อไปนี้

OpenRTB Authorized Buyers รายละเอียด
BidResponse.imp[].pmp.deals[].id BidResponse.ad[].adslot[].exchange_deal_id

รหัสดีลจากเนมสเปซของ Exchange ที่เชื่อมโยงกับราคาเสนอนี้และรายงานต่อผู้เผยแพร่โฆษณา

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 โทเค็นที่ใช้เพื่อระบุข้อมูลผู้ซื้อบุคคลที่สามปลายทางในกรณีที่การแลกเปลี่ยนในฐานะผู้เสนอราคาแบบเปิดเป็นเพียงตัวกลาง ค่านี้มาจากผู้ซื้อบุคคลที่สามและต้องส่งไปยัง Google โดยไม่มีการเปลี่ยนแปลงในการเสนอราคาตอบ

การแนะนำวิดีโอ

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

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

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

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

Google

OpenRTB JSON

โปรโตคอล OpenRTB

สำคัญ: ข้อความ 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.Ad.sdk_rendered_ad
  • AMP
    • BidResponse.Ad.amp_ad_url
  • วิดีโอ
    • BidResponse.Ad.video_url หรือ
    • BidResponse.Ad.video_vast_xml
  • เนทีฟ
    • BidResponse.Ad.native_ad

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

นอกจากนี้ ขนาดโฆษณาที่ประกาศในการเสนอราคาตอบต้องตรงกับชุดค่าผสมขนาดใดขนาดหนึ่งในคำขอราคาเสนอในกรณีต่อไปนี้

  • โฆษณาเป็นแบนเนอร์ปกติ (ไม่ใช่วิดีโอ เนทีฟ หรือโฆษณาคั่นระหว่างหน้า)
  • ผู้เสนอราคาได้ประกาศขนาดในการเสนอราคาตอบ ต้องประกาศขนาดทุกครั้งที่คำขอมีมากกว่า 1 ขนาด
  • โดยมีข้อยกเว้นสำหรับโฆษณาคั่นระหว่างหน้า สำหรับโฆษณาคั่นระหว่างหน้า ความกว้าง ต้องไม่ต่ำกว่า 50% ของความกว้างหน้าจอและความสูงอย่างน้อย 40% ของความสูงหน้าจอ

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

นโยบายสำหรับข้อมูลโค้ด HTML ส่วนใหญ่ที่แสดงในการเสนอราคาตอบจะเหมือนกับนโยบายสำหรับโฆษณาของบุคคลที่สาม ดูข้อมูลเพิ่มเติมได้ที่หลักเกณฑ์ของโปรแกรม Authorized Buyers, ข้อกำหนดสำหรับการแสดงโฆษณาของบุคคลที่สาม และประกาศ URL การคลิกผ่านในโฆษณา

ระบุมาโคร

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

ระบุมาโครเป็นส่วนหนึ่งของข้อมูลโค้ด HTML ในรูปแบบ %%MACRO%% โดยที่ MACRO เป็นหนึ่งในมาโครที่รองรับซึ่งแสดงในตารางด้านล่าง

Google กำหนดให้คุณต้องใช้มาโคร CLICK_URL_UNESC หรือ CLICK_URL_ESC ภายในครีเอทีฟโฆษณาที่แสดงโดยบุคคลที่สาม Google ใช้มาโคร CLICK_URL สำหรับการติดตามการคลิก

ในการใช้มาโคร ให้รวมมาโครไว้ในโฆษณาเพื่อให้มีการดึง URL เมื่อมีคนคลิก ค่าที่ส่งกลับมาจากการดึงข้อมูลคือการเปลี่ยนเส้นทางไปยัง URL อื่นที่ต่อท้าย CLICK_URL

มาโคร คำอธิบาย
ADVERTISING_IDENTIFIER ช่วยให้ผู้ซื้อได้รับ iOS IDFA หรือรหัสโฆษณาของ Android เมื่อมีการแสดงผล ดูรายละเอียดได้ที่การถอดรหัสตัวระบุผู้ลงโฆษณา
CACHEBUSTER ตัวแทนสตริงของจำนวนเต็ม 4 ไบต์แบบสุ่มที่ไม่มีเครื่องหมาย
CLICK_URL_UNESC

URL การคลิกที่ไม่ใช้ Escape สำหรับโฆษณา ในข้อมูลโค้ด URL การคลิกของบุคคลที่สามเวอร์ชันที่ใช้อักขระหลีกควรจะวางต่อท้ายมาโครนั้นโดยตรง

เช่น หาก URL การคลิกของบุคคลที่สามคือ http://my.adserver.com/some/path/handleclick?click=clk สามารถใช้โค้ดต่อไปนี้กับ URL การคลิกของบุคคลที่สามเวอร์ชันที่ใช้ Escape เพียงครั้งเดียวหลังจากเรียกใช้มาโครได้

<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 ที่ใช้ Escape 2 ครั้งต่อท้าย %%CLICK_URL_ESC%% ได้ หลังจากที่ my.adserver.com ยกเลิกการ Escape แล้ว URL ดังกล่าวจะมี URL เวอร์ชัน Escape ครั้งเดียวต่อท้าย google_click_url เมื่อดึงข้อมูล google_click_url แล้ว ก็จะยกเลิกการกำหนดเป็นอักขระหลีกอีกครั้งแล้วเปลี่ยนเส้นทาง

CLICK_URL_ESC_ESC

URL ที่ใช้ Escape 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 รวมถึงสตริงว่างได้ สําหรับการเสนอราคาแบบเปิด เราขอแนะนําให้ Exchange ใช้มาโครนี้ เมื่อทําเช่นนั้นแล้ว แพลตฟอร์มฝั่งดีมานด์ไม่จําเป็นต้องทําการเปลี่ยนแปลง

เช่น หากครีเอทีฟโฆษณาจะรวม %%?VERIFICATION:-1:5000%% การแทนที่ข้อความจะเป็น 5000 เมื่อแสดงและ -1 ใน ไปป์ไลน์การยืนยัน ซึ่งจะช่วยแยกความแตกต่างระหว่างคำสั่ง ping 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

การ Escape URL ในมาโครใช้รูปแบบต่อไปนี้

  • อักขระเว้นวรรคจะถูกแทนที่ด้วยเครื่องหมายบวก (+)
  • อักขระที่เป็นตัวอักษรและตัวเลขคละกัน (0-9, a-z, A-Z) และอักขระจากชุด !()*,-./:_~ จะไม่เปลี่ยนแปลง
  • อักขระอื่นๆ ทั้งหมดจะถูกแทนที่ด้วย %XX โดยที่ XX เป็นเลขฐานสิบหกที่แทนอักขระนั้นๆ

ข้อจำกัดของผู้เผยแพร่โฆษณา

ผู้เผยแพร่โฆษณาใช้ BidRequest เพื่อผ่านข้อจำกัดเกี่ยวกับโฆษณาที่จะอนุญาต คุณจำเป็นต้องบังคับใช้ข้อจำกัดในช่องเหล่านี้

  • allowed_vendor_type
  • excluded_attribute
  • excluded_sensitive_category

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

หากแสดงข้อมูลโค้ด HTML ใน BidResponse คุณจะต้องตั้งค่าช่อง attribute, category และ click_through_url ใน BidResponse ให้ถูกต้อง หากโฆษณามีค่าที่เกี่ยวข้องหลายค่าสำหรับช่องเหล่านี้ คุณต้องใส่ค่าทุกค่าด้วย ดูความคิดเห็นสำหรับช่องเหล่านี้ในคำจำกัดความบัฟเฟอร์โปรโตคอล BidResponse สำหรับรายละเอียดเพิ่มเติม ระบบจะทิ้งคำตอบที่ไม่มีการตั้งค่าช่องเหล่านี้

ค่าที่เป็นไปได้ของ BidRequest.excluded_attribute คือ (ดู publisher-excludable-creative-attributes.txt)

  • 7 Tagging: IsTagged
    โฆษณาไม่ได้รับอนุญาตหากมีพิกเซลหรือเว็บบีคอนเพื่อวัตถุประสงค์ในการสร้างรายการรหัสคุกกี้สำหรับการทำการตลาดอีกครั้งในภายหลัง
  • 8 CookieTargeting: IsCookieTargeted
    โฆษณาจะไม่ได้รับอนุญาตหากกำหนดเป้าหมายผู้บริโภคตามรหัสคุกกี้ โดยที่รายการรหัสคุกกี้แสดงถึงกลุ่มผู้บริโภคที่ก่อนหน้านี้ได้โต้ตอบกับเว็บไซต์ที่ผู้ซื้อเป็นเจ้าของหรือเป็นตัวแทน
  • 9 UserInterestTargeting: IsUserInterestTargeted
    โฆษณาจะไม่ได้รับอนุญาตหากกำหนดเป้าหมายผู้บริโภคตามรหัสคุกกี้ โดยที่รายการรหัสคุกกี้แสดงถึงกลุ่มผู้บริโภคที่ผู้ซื้อกำหนดว่าเป็นกลุ่มความสนใจทั่วไป
  • 21 CreativeType: Html
    โฆษณาไม่ได้รับอนุญาตให้ใช้ช่อง html_snippet หรือ snippet_template ใน BidResponse.Ad
  • 22 CreativeType: VastVideo
    โฆษณาไม่ได้รับอนุญาตให้ใช้ฟิลด์ video_url ใน BidResponse.Ad
  • 30 InstreamVastVideoType: Vpaid
    ไม่อนุญาตให้โฆษณาต้องใช้การรองรับ VPAID เพื่อแสดงผล
  • 32 MraidType: MRAID
    โฆษณาไม่ได้รับอนุญาตให้ใช้ MRAID API ในการแสดงผล
  • 34 RichMediaCapabilityType: RichMediaCapabilityFlash
    ไม่อนุญาตให้โฆษณาต้องมีการรองรับ Flash เพื่อแสดงผล
  • 39 RichMediaCapabilityType: RichMediaCapabilityHTML5
    ไม่อนุญาตให้โฆษณาต้องใช้ฟีเจอร์ HTML5 เพื่อแสดงผล
  • 48 RichMediaCapabilityType: RichMediaCapabilityNonSSL
    โฆษณาไม่ได้รับอนุญาตให้สร้างคำขอที่ไม่ใช่ SSL

ดังนั้น หากช่อง excluded_attribute มีค่าเป็น 7 คุณไม่ควรแสดงโฆษณาที่ใช้พิกเซลหรือเว็บบีคอนในการสร้างรายการ โปรดทราบว่าหากโฆษณาทำเช่นนี้ จะต้องกำหนดค่า 7 ในช่องแอตทริบิวต์ของ BidResponse ในทำนองเดียวกัน หากช่อง excluded_attribute มีค่า 48 คุณควรแสดงโฆษณาที่สามารถแสดงบนหน้า SSL เท่านั้น (และประกาศแอตทริบิวต์ 47 RichMediaCapabilityType: RichMediaCapabilitySSL)

นอกจากนี้ ช่อง excluded_sensitive_category ใน BidRequest ยังใช้โค้ดจากไฟล์ ad-sensitive-categories.txt ที่มีอยู่ในหน้าข้อมูลอ้างอิงด้วย มาดูคำอธิบายเพิ่มเติมของโค้ดเหล่านี้กัน

  • 3 Politics
    ประกอบด้วยปัญหาทางการเมืองหรือความขัดแย้งทางสังคม แต่ไม่รวมถึงโฆษณาสำหรับหน่วยงานข่าวที่ไม่มีมุมมองที่ลำเอียงเกี่ยวกับปัญหาดังกล่าว
  • 4 Dating
    ประกอบด้วยบริการหาคู่และชุมชนการนัดพบออนไลน์
  • 5 Religion
    ประกอบด้วยโฆษณาทางศาสนาและโฆษณาที่สนับสนุนหรือต่อต้านมุมมองทางศาสนา แต่ไม่รวมถึงโหราศาสตร์หรือความเชื่อเรื่องจิตและวิญญาณที่ไม่เกี่ยวข้องกับนิกายในศาสนา
  • 7 Video Games (Casual & Online)
    ประกอบด้วยวิดีโอเกม เกมออนไลน์ และเกมที่ดาวน์โหลดได้ แต่ไม่รวมเครื่องเล่นวิดีโอเกม
  • 8 Ringtones & Downloadables
    ส่วนเพิ่มเติมสำหรับมือถือประกอบด้วย เสียงเรียกเข้า และไฟล์ที่ดาวน์โหลดได้อื่นๆ เช่น สกรีนเซฟเวอร์และวอลเปเปอร์สำหรับเครื่องเดสก์ท็อป รวมทั้งรูปแบบโปรไฟล์และกราฟิกสำหรับเครือข่ายสังคม
  • 10 Get Rich Quick
    แผนการสัญญาว่าจะสร้างรายได้อย่างรวดเร็ว
  • 18 Weight Loss
    ประกอบด้วยการลดน้ำหนัก การอดอาหาร รวมถึงผลิตภัณฑ์และโปรแกรมที่เกี่ยวข้อง แต่ไม่รวมโฆษณาการรับประ่ทานที่มีประโยชน์ หรือสมรรถภาพร่างกายทั่วไป
  • 19 Cosmetic Procedures & Body Modification
    ประกอบด้วย การยก การดูด เลเซอร์ การกำจัดและการปลูกผมหรือขน การสักลาย และการปรับแต่งร่างกาย
  • 23 Drugs & Supplements:
    ประกอบด้วยโฆษณาเกี่ยวกับเภสัชกรรม วิตามิน อาหารเสริม และร้านค้าปลีกที่เกี่ยวข้อง แต่ไม่รวมแหล่งข้อมูลเกี่ยวกับยา
  • 24 Sexual & Reproductive Health
    ประกอบด้วยโฆษณาเกี่ยวกับสมรรถภาพทางเพศและการมีบุตร แต่ไม่รวมถึงแหล่งข้อมูลเกี่ยวกับการตั้งครรภ์แบบปกติ
  • 35 Social Casino Games
    ประกอบด้วยเกมการพนันจำลอง (รวมถึงแต่ไม่จำกัดเพียงโป๊กเกอร์ สล็อต บิงโก ล็อตเตอรี่ การพนันกีฬา การพนันการแข่งขัน รวมถึงเกมไพ่และเกมคาสิโนอื่นๆ) ซึ่งผู้เล่นไม่มีโอกาสที่จะชนะรางวัลที่มีมูลค่า (เช่น เงินหรือของรางวัล) เลย
  • 36 Significant Skin Exposure
    รูปภาพโฆษณาที่ส่วนใดก็ตามของร่างกายตั้งแต่ช่วงกระดูกสันอกไปจนถึงกลางต้นขาไม่ได้สวมใส่เสื้อผ้า หรือมีการสวมใส่กางเกงใน ชุดว่ายน้ำ ชุดชั้นใน หรือเสื้อผ้าแบบซีทรูหรือผ้าที่ไม่ใช่เสื้อผ้าอื่นๆ เช่น ผ้าเช็ดตัวหรือผ้าปูที่นอน
  • 37 Sensationalism
    โฆษณาที่มีเป้าหมายเพื่อกระตุ้นให้ผู้ใช้คลิกโดยการกระตุ้นความอยากรู้อยากเห็น โดยส่วนใหญ่แล้วจะใช้ข้อความที่กล่าวอ้างเกินจริงหรือการอุปมาอุปไมย รวมโฆษณาที่เน้นเรื่องที่เร้าความรู้สึก (เช่น การจับกุม การเสียชีวิต หรือการหย่าร้างของผู้มีชื่อเสียง) หรือมีเป้าหมายเพื่อสร้างความตื่นตกใจ

Open Measurement

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

ขณะนี้ รูปแบบโฆษณาที่รองรับประกอบด้วยโฆษณาวิดีโอ แบนเนอร์ และโฆษณาคั่นระหว่างหน้า ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้ Open Measurement ในการเสนอราคาตอบที่มีรูปแบบเหล่านี้ได้ที่บทความ Open Measurement SDK ในศูนย์ช่วยเหลือ

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

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

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

Google

OpenRTB JSON

โปรโตคอล OpenRTB

โฆษณาคั่นระหว่างหน้าในแอป

Google

OpenRTB JSON

โปรโตคอล OpenRTB

โฆษณาวิดีโอคั่นระหว่างหน้าในแอป

Google

โปรโตคอล OpenRTB

เนทีฟของแอป

Google

OpenRTB JSON

โปรโตคอล OpenRTB

วิดีโอบนเว็บ

Google

แบนเนอร์เว็บบนอุปกรณ์เคลื่อนที่สำหรับผู้เสนอราคา Exchange

โปรโตคอล OpenRTB