รองรับการกำหนดกลุ่มเป้าหมายที่กำหนดเองด้วย Protected Audience API

อัปเดตล่าสุด

Protected Audience อยู่ในรุ่นเบต้าและพร้อมให้ทดสอบในอุปกรณ์สาธารณะ

กลุ่มเป้าหมายที่มีการป้องกันช่วยให้คุณทําสิ่งต่อไปนี้ได้

  • จัดการกลุ่มเป้าหมายที่กําหนดเองตามการกระทําก่อนหน้าของผู้ใช้
  • เริ่มการประมูลในอุปกรณ์ด้วยการสนับสนุนผู้ขายรายเดียวหรือสื่อกลาง Waterfall
  • ฝึกการรายงานการแสดงผลหลังจากเลือกโฆษณา

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

ไทม์ไลน์

เราจะเปิดตัวฟีเจอร์ใหม่ๆ ในอีกไม่กี่เดือนข้างหน้า วันที่เปิดตัวที่แน่นอนจะแตกต่างกันไปตามฟีเจอร์ และตารางนี้จะอัปเดตลิงก์ไปยังเอกสารประกอบเมื่อพร้อมใช้งาน

ฟีเจอร์ พร้อมใช้งานในเวอร์ชันตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์ พร้อมใช้งานในรุ่นเบต้า
การรายงานระดับเหตุการณ์ ไตรมาส 1 ปี 2023 ไตรมาส 3 ปี 2023
การแสดงโฆษณาสื่อกลางตามลำดับขั้น ไตรมาส 1 ปี 2023 ไตรมาส 4 ปี 2023
การกรองโฆษณาเพื่อการติดตั้งแอป ไตรมาส 2 ปี 2023 ไตรมาส 3 ปี 2023
การกรองความถี่สูงสุด ไตรมาส 2 ปี 2023 ไตรมาส 3 ปี 2023
ส่งโฆษณาตามบริบทไปยังเวิร์กโฟลว์การเลือกโฆษณาเพื่อกรอง ไตรมาส 2 ปี 2023 ไตรมาส 3 ปี 2023
การรายงานการโต้ตอบ ไตรมาส 2 ปี 2023 ไตรมาส 3 ปี 2023
เข้าร่วมการมอบสิทธิ์กลุ่มเป้าหมายที่กำหนดเอง ไตรมาส 3 ปี 2023 ไตรมาส 4 ปี 2023
การเรียกเก็บเงินที่ไม่ใช่ CPM ไตรมาส 3 ปี 2023 ไตรมาส 4 ปี 2023
การผสานรวมบริการเสนอราคาและประมูล ไตรมาส 3 ปี 2023 ไตรมาส 4 ปี 2023
การรายงานข้อบกพร่อง ไตรมาส 3 ปี 2023 ไตรมาส 4 ปี 2023
การผสานรวมการรายงานการระบุแหล่งที่มา ไม่มี ไตรมาส 4 ปี 2023
สื่อกลางการเสนอราคาแบบเปิด ไตรมาส 4 ปี 2023 ไตรมาส 4 ปี 2023
การจัดการสกุลเงิน ไตรมาส 1 ปี 2024 ไตรมาส 2 ปี 2024
การผสานรวม K-anon ไม่มี ไตรมาส 2 ปี 2024
การผสานรวมการรายงานแบบรวม ไตรมาส 3 ปี 2024 ไตรมาส 4 ปี 2024

ภาพรวม

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

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

Protected Audience API ใน Android (เดิมเรียกว่า FLEDGE) ประกอบด้วย API ต่อไปนี้สําหรับแพลตฟอร์มเทคโนโลยีโฆษณาและผู้ลงโฆษณาเพื่อรองรับ Use Case ทั่วไปที่อิงตามการโต้ตอบในลักษณะที่จํากัดการแชร์ทั้งตัวระบุในแอปต่างๆ และข้อมูลการโต้ตอบของแอปกับบุคคลที่สาม

  1. Custom Audience API: เน้นที่การแยกความคิด "กลุ่มเป้าหมายที่กําหนดเอง" ซึ่งแสดงถึงกลุ่มเป้าหมายที่ผู้ลงโฆษณากําหนดโดยมีเจตนาร่วมกัน ระบบจะจัดเก็บข้อมูลกลุ่มเป้าหมายไว้ในอุปกรณ์และสามารถเชื่อมโยงกับโฆษณาที่อาจแสดงสําหรับกลุ่มเป้าหมายและข้อมูลเมตาที่กําหนดเอง เช่น สัญญาณการเสนอราคา ข้อมูลนี้สามารถใช้เพื่อแจ้งการเสนอราคาของผู้ลงโฆษณา การกรองโฆษณา และการแสดงผล
  2. Ad Selection API: เฟรมเวิร์กนี้ช่วยประสานเวิร์กโฟลว์ของแพลตฟอร์มเทคโนโลยีโฆษณาที่ใช้สัญญาณในอุปกรณ์เพื่อระบุโฆษณา "ที่มีประสิทธิภาพสูงสุด" โดยพิจารณาจากโฆษณาที่เป็นไปได้ซึ่งจัดเก็บไว้ในเครื่อง และดำเนินการประมวลผลเพิ่มเติมกับโฆษณาที่เป็นไปได้ซึ่งแพลตฟอร์มเทคโนโลยีโฆษณาแสดงผลไปยังอุปกรณ์
แผนภาพแสดงเวิร์กโฟลว์การจัดการกลุ่มเป้าหมายที่กําหนดเองและการเลือกโฆษณาใน Privacy Sandbox บน Android

ในระดับสูง การผสานรวมจะทํางานดังนี้

  1. SportingGoodsApp ต้องการช่วยเตือนผู้ใช้ให้ซื้อสินค้าคงคลังในรถเข็นหากยังไม่ได้ซื้อภายใน 2 วัน SportingGoodsApp ใช้ Custom Audience API เพื่อเพิ่มผู้ใช้ไปยังรายการกลุ่มเป้าหมาย "ผลิตภัณฑ์ในรถเข็น" แพลตฟอร์มจะจัดการและจัดเก็บรายการกลุ่มเป้าหมายนี้ไว้ในอุปกรณ์ ซึ่งจะจํากัดการแชร์กับบุคคลที่สาม SportingGoodsApp เป็นพาร์ทเนอร์กับแพลตฟอร์มเทคโนโลยีโฆษณาเพื่อแสดงโฆษณาต่อผู้ใช้ในรายชื่อกลุ่มเป้าหมาย แพลตฟอร์มเทคโนโลยีโฆษณาจะจัดการข้อมูลเมตาสำหรับรายการกลุ่มเป้าหมายและแสดงโฆษณาที่เป็นไปได้ ซึ่งจะพร้อมใช้งานในเวิร์กโฟลว์การเลือกโฆษณาเพื่อพิจารณา แพลตฟอร์มสามารถกําหนดค่าให้ดึงข้อมูลโฆษณาตามกลุ่มเป้าหมายที่อัปเดตเป็นประจําในเบื้องหลัง วิธีนี้ช่วยให้รายการโฆษณาที่อาจแสดงตามกลุ่มเป้าหมายเป็นข้อมูลล่าสุดอยู่เสมอและไม่เกี่ยวข้องกับคําขอที่ส่งไปยังเซิร์ฟเวอร์โฆษณาบุคคลที่สามในระหว่างโอกาสในการโฆษณา (เช่น คําขอโฆษณาตามบริบท)

  2. เมื่อผู้ใช้เล่นเกม FrisbeeGame บนอุปกรณ์เครื่องเดียวกัน ผู้ใช้อาจเห็นโฆษณาที่เตือนให้ซื้อสินค้าที่ยังอยู่ในรถเข็นช็อปปิ้งของ SportingGoodsApp ให้เสร็จสมบูรณ์ FrisbeeGame (ซึ่งมี SDK โฆษณาแบบรวม) สามารถเรียกใช้ Ad Selection API เพื่อเลือกโฆษณาที่มีประสิทธิภาพสูงสุดสําหรับผู้ใช้โดยอิงตามรายการกลุ่มเป้าหมายที่ผู้ใช้อาจเป็นส่วนหนึ่งของรายการนั้น (ในตัวอย่างนี้คือกลุ่มเป้าหมายที่กําหนดเอง "ผลิตภัณฑ์ในรถเข็น" ที่ SportingGoodsApp สร้างขึ้น) คุณตั้งค่าเวิร์กโฟลว์การเลือกโฆษณาให้พิจารณาโฆษณาที่ดึงมาจากเซิร์ฟเวอร์ของแพลตฟอร์มเทคโนโลยีโฆษณาได้ นอกเหนือจากโฆษณาในอุปกรณ์ที่เชื่อมโยงกับกลุ่มเป้าหมายที่กําหนดเอง รวมถึงสัญญาณอื่นๆ ในอุปกรณ์ นอกจากนี้ เวิร์กโฟลว์ยังปรับแต่งโดยแพลตฟอร์มเทคโนโลยีโฆษณาและ SDK โฆษณาได้ด้วยโดยใช้การเสนอราคาและตรรกะการให้คะแนนที่กําหนดเองเพื่อให้บรรลุเป้าหมายการโฆษณาที่เหมาะสม แนวทางนี้ช่วยให้ใช้ข้อมูลความสนใจหรือข้อมูลการโต้ตอบกับแอปของผู้ใช้เพื่อเลือกโฆษณาได้ พร้อมกับจํากัดการแชร์ข้อมูลนี้กับบุคคลที่สาม

  3. SDK ของแอปที่แสดงโฆษณาหรือแพลตฟอร์มเทคโนโลยีโฆษณาจะแสดงผลโฆษณาที่เลือก

  4. แพลตฟอร์มนี้ช่วยให้การรายงานการแสดงผลและผลลัพธ์การเลือกโฆษณาเป็นไปอย่างสะดวก ความสามารถในการรายงานนี้ช่วยเสริมAttribution Reporting API แพลตฟอร์มเทคโนโลยีโฆษณาอาจปรับแต่งตามความต้องการในการรายงาน

รับสิทธิ์เข้าถึง Protected Audience ใน Android API

แพลตฟอร์มเทคโนโลยีโฆษณาต้องลงทะเบียนเพื่อเข้าถึง Protected Audience API ดูข้อมูลเพิ่มเติมที่หัวข้อลงทะเบียนบัญชี Privacy Sandbox

การจัดการกลุ่มเป้าหมายที่กําหนดเอง

กลุ่มเป้าหมายที่กำหนดเอง

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

แอปของผู้ลงโฆษณาหรือ SDK ที่ผสานรวมอาจเข้าร่วมหรือออกจากกลุ่มเป้าหมายที่กําหนดเองโดยอิงตามการมีส่วนร่วมของผู้ใช้ในแอป เป็นต้น

ข้อมูลเมตากลุ่มเป้าหมายที่กําหนดเอง

กลุ่มเป้าหมายที่กําหนดเองแต่ละกลุ่มจะมีข้อมูลเมตาต่อไปนี้

  • เจ้าของ: ชื่อแพ็กเกจของแอปเจ้าของ ระบบจะตั้งค่านี้เป็นชื่อแพ็กเกจของแอปที่เรียกใช้โดยปริยาย
  • ผู้ซื้อ: เครือข่ายโฆษณาของผู้ซื้อซึ่งจัดการโฆษณาสําหรับกลุ่มเป้าหมายที่กําหนดเองนี้ ผู้ซื้อยังแสดงถึงบุคคลที่อาจเข้าถึงกลุ่มเป้าหมายที่กำหนดเองและดึงข้อมูลโฆษณาที่เกี่ยวข้อง ผู้ซื้อจะระบุตามรูปแบบ eTLD+1
  • ชื่อ: ชื่อหรือตัวระบุที่กำหนดเองสำหรับกลุ่มเป้าหมายที่กำหนดเอง เช่น ผู้ใช้ที่มี "ผู้ละทิ้งรถเข็นช็อปปิ้ง" แอตทริบิวต์นี้อาจใช้เป็นเกณฑ์การกําหนดเป้าหมายข้อใดข้อหนึ่งในแคมเปญโฆษณาของผู้ลงโฆษณา หรือสตริงการค้นหาใน URL สําหรับการดึงข้อมูลโค้ดการเสนอราคา
  • เวลาเปิดใช้งานและเวลาหมดอายุ: ช่องเหล่านี้กําหนดกรอบเวลาของกลุ่มเป้าหมายที่กําหนดเองนี้ แพลตฟอร์มจะใช้ข้อมูลนี้เพื่อถอนการเป็นสมาชิกออกจากกลุ่มเป้าหมายที่กำหนดเอง เวลาหมดอายุต้องไม่เกินกรอบเวลาสูงสุดเพื่อจํากัดอายุของกลุ่มเป้าหมายที่กําหนดเอง
  • URL การอัปเดตรายวัน: URL ที่แพลตฟอร์มใช้ดึงข้อมูลโฆษณาที่เป็นผู้สมัครและข้อมูลเมตาอื่นๆ ที่กําหนดไว้ในช่อง "สัญญาณการเสนอราคาของผู้ใช้" และ "สัญญาณการเสนอราคาที่เชื่อถือได้" เป็นประจํา ดูรายละเอียดเพิ่มเติมได้ที่ส่วนวิธีดึงข้อมูลโฆษณาที่มีโอกาสแสดงสําหรับกลุ่มเป้าหมายที่กําหนดเอง
  • สัญญาณการเสนอราคาของผู้ใช้: สัญญาณเฉพาะแพลตฟอร์มเทคโนโลยีโฆษณาสําหรับการเสนอราคาโฆษณารีมาร์เก็ตติ้ง ตัวอย่างสัญญาณ ได้แก่ ตำแหน่งโดยคร่าวๆ ของผู้ใช้ ภาษาที่ต้องการ และอื่นๆ
  • ข้อมูลการเสนอราคาที่เชื่อถือได้: แพลตฟอร์มเทคโนโลยีโฆษณาใช้ข้อมูลแบบเรียลไทม์เพื่อดึงข้อมูลโฆษณาและประเมิน เช่น โฆษณาอาจใช้งบประมาณหมดแล้วและต้องหยุดแสดงทันที เทคโนโลยีโฆษณาสามารถกําหนดปลายทาง URL ที่จะดึงข้อมูลแบบเรียลไทม์นี้มา และชุดคีย์ที่ต้องมีการค้นหาแบบเรียลไทม์ เซิร์ฟเวอร์ที่จัดการคําขอนี้จะต้องเป็นเซิร์ฟเวอร์ที่เชื่อถือได้ซึ่งจัดการโดยแพลตฟอร์มเทคโนโลยีโฆษณา
  • URL ของตรรกะการเสนอราคา: URL ที่แพลตฟอร์มใช้ดึงข้อมูลโค้ดการเสนอราคาจากแพลตฟอร์มฝั่งดีมานด์ แพลตฟอร์มจะดําเนินการขั้นตอนนี้เมื่อเริ่มการประมูลโฆษณา
  • โฆษณา: รายการโฆษณาที่เป็นไปได้สําหรับกลุ่มเป้าหมายที่กําหนดเอง ซึ่งรวมถึงข้อมูลเมตาของโฆษณาเฉพาะแพลตฟอร์มเทคโนโลยีโฆษณาและ URL เพื่อแสดงโฆษณา เมื่อเริ่มการประมูลสําหรับกลุ่มเป้าหมายที่กําหนดเอง ระบบจะพิจารณารายการข้อมูลเมตาของโฆษณานี้ ระบบจะรีเฟรชรายการโฆษณานี้โดยใช้ปลายทาง URL การอัปเดตรายวันเมื่อเป็นไปได้ เนื่องจากข้อจํากัดด้านทรัพยากรในอุปกรณ์เคลื่อนที่ ระบบจึงจํากัดจํานวนโฆษณาที่เก็บไว้ในกลุ่มเป้าหมายที่กําหนดเอง

การให้สิทธิ์กลุ่มเป้าหมายที่กำหนดเอง

การกำหนดค่าและการกำหนดกลุ่มเป้าหมายที่กำหนดเองแบบดั้งเดิมมักอาศัยเทคโนโลยีฝั่งเซิร์ฟเวอร์และการผสานรวมที่ขับเคลื่อนโดยเทคโนโลยีโฆษณาร่วมกับพาร์ทเนอร์และลูกค้าที่เป็นเอเจนซีและผู้ลงโฆษณา Protected Audience API ช่วยให้กําหนดค่าและกำหนดกลุ่มเป้าหมายเองได้ขณะที่ปกป้องความเป็นส่วนตัวของผู้ใช้ หากต้องการเข้าร่วมกลุ่มเป้าหมายที่กําหนดเอง เทคโนโลยีโฆษณาของผู้ซื้อที่ไม่มี SDK ในแอปจะต้องทํางานร่วมกับเทคโนโลยีโฆษณาที่มีอยู่ในอุปกรณ์ เช่น พาร์ทเนอร์การวัดผลบนอุปกรณ์เคลื่อนที่ (MMP) และแพลตฟอร์มฝั่งขาย (SSP) Protected Audience API มีจุดประสงค์เพื่อรองรับ SDK เหล่านี้ด้วยการจัดหาโซลูชันที่ยืดหยุ่นสําหรับการจัดการกลุ่มเป้าหมายที่กําหนดเอง โดยช่วยให้ผู้เรียกใช้ในอุปกรณ์เรียกใช้การสร้างกลุ่มเป้าหมายที่กําหนดเองในนามของผู้ซื้อได้ กระบวนการนี้เรียกว่าการมอบสิทธิ์กลุ่มเป้าหมายที่กําหนดเอง กําหนดค่าการมอบสิทธิ์กลุ่มเป้าหมายที่กําหนดเองโดยทําตามขั้นตอนต่อไปนี้

เข้าร่วมกลุ่มเป้าหมายที่กำหนดเอง

การเข้าร่วมกลุ่มเป้าหมายที่กำหนดเองทำได้ 2 วิธี ดังนี้

joinCustomAudience()

แอปหรือ SDK สามารถขอเข้าร่วมกลุ่มเป้าหมายที่กําหนดเองได้โดยเรียกใช้ joinCustomAudience() หลังจากสร้างอินสแตนซ์ออบเจ็กต์ CustomAudience ด้วยพารามิเตอร์ที่คาดไว้ ตัวอย่างข้อมูลโค้ดที่แสดงภาพมีดังนี้

CustomAudience audience = new CustomAudience(
    Buyer = "example-dsp.com",
    Name = "running-shoes",
    ActivationTime = now(),
    ExpirationTime = ActivationTime.plus(30 days),
    DailyUpdateURL = Uri.parse("https://..."),
    UserBiddingSignals = new JSONObject("{...}"),
    TrustedBiddingURL = Uri.parse("https://..."),
    TrustedBiddingKeys = {'key1","key2", ...,"key n"},
    BiddingLogicURL =  Uri.parse("https://..."),
    Ads = [new AdData(renderUrl = Uri.parse("https://..."),
           metadata = new JSONObject("{...}"), ...];

// Invoke ad services API to join a custom audience.
joinCustomAudience(audience);

fetchAndJoinCustomAudience()

แอปหรือ SDK สามารถขอเข้าร่วมกลุ่มเป้าหมายที่กําหนดเองในนามของเทคโนโลยีโฆษณาที่ไม่มีการแสดงในอุปกรณ์ได้โดยเรียกใช้ fetchAndJoinCustomAudience() พร้อมพารามิเตอร์ที่คาดไว้ ดังตัวอย่างต่อไปนี้

FetchAndJoinCustomAudienceRequest fetchRequest = new FetchAndJoinCustomAudienceRequest(
    // Example: Optional verification token passed inside the fetch URL
    FetchURI = Uri.parse("https://example-dsp.com/...?mytoken=arbitrary1234"),
    // All the following parameters are optional
    Name = "running-shoes",
    ActivationTime = now(),
    ExpirationTime = ActivationTime.plus(30 days),
    UserBiddingSignals = new JSONObject("{...}")
);

fetchAndJoinCustomAudience(fetchRequest);

ปลายทาง URL ที่ผู้ซื้อเป็นเจ้าของจะตอบกลับด้วยออบเจ็กต์ CustomAudience JSON ในเนื้อหาการตอบกลับ ระบบจะไม่สนใจช่องผู้ซื้อและเจ้าของของกลุ่มเป้าหมายที่กำหนดเอง (และ API จะป้อนข้อมูลให้โดยอัตโนมัติ) นอกจากนี้ API ยังบังคับให้ URL การอัปเดตรายวันตรงกับ eTLD+1 ของผู้ซื้อด้วย

{
 "name": "running-shoes",
 "activation_time": 1680603133000,
 "expiration_time": 1680803133000,
 "user_bidding_signals" : {"signal1": "value"},
 "trusted_bidding_data": {
    "trusted_bidding_uri": "https://example-dsp.com/.."
    "trusted_bidding_keys": ["k1", "k2"],
 },
 "bidding_logic_uri": "https://example-dsp.com/...",
 "daily_update_uri": "https://example-dsp.com/...",
 "ads": [
   {
     "render_uri": "https://example-dsp.com/...",
     "metadata": {},
     "ad_filters": {
       "frequency_cap": {
         "win": [
           {
             "ad_counter_key": 1,
             "max_count": 2,
             "interval_in_seconds": 60
           },
         ],
         "view": [
           {
             "ad_counter_key": 2,
             "max_count": 10,
             "interval_in_seconds": 3600
           },
         ]
       },
       "app_install": {
         "package_names": [
           "package.name.one",
           "package.name.two", ...
         ]
       }
     }
   },
   ...
 ]
}

fetchAndJoinCustomAudience() API จะระบุตัวตนของผู้ซื้อจาก eTLD+1 ของ fetchUri ระบบจะใช้ข้อมูลประจำตัวของCustomAudienceผู้ซื้อเพื่อดำเนินการตรวจสอบการลงทะเบียนและการให้สิทธิ์แอปแบบเดียวกับที่joinCustomAudience()ทำ และคำตอบการดึงข้อมูลจะไม่สามารถแก้ไขข้อมูลประจำตัวดังกล่าวได้ เจ้าของ CustomAudience คือชื่อแพ็กเกจของแอปพลิเคชันที่เรียกใช้ ไม่มีการตรวจสอบfetchUriอื่นๆ นอกเหนือจากการตรวจสอบ eTLD+1 และโดยเฉพาะอย่างยิ่ง ไม่มีการตรวจสอบ k-anon fetchAndJoinCustomAudience() API จะส่งคําขอ HTTP GET ไปยัง fetchUri และคาดหวังว่าจะได้รับออบเจ็กต์ JSON ที่แสดงกลุ่มเป้าหมายที่กําหนดเอง ระบบจะใช้ข้อจำกัดที่ไม่บังคับและบังคับ รวมถึงค่าเริ่มต้นเดียวกันกับช่องออบเจ็กต์กลุ่มเป้าหมายที่กำหนดเองกับคำตอบ ดูข้อมูลเกี่ยวกับข้อกําหนดและข้อจํากัดปัจจุบันในคู่มือนักพัฒนาซอฟต์แวร์

การตอบกลับข้อผิดพลาด HTTP จากผู้ซื้อจะทำให้ fetchAndJoinCustomAudience ดำเนินการไม่สำเร็จ โดยเฉพาะอย่างยิ่ง การตอบกลับสถานะ HTTP 429 (มีคำขอมากเกินไป) จะบล็อกคำขอจากแอปพลิเคชันปัจจุบันเป็นระยะเวลาที่กำหนด การเรียก API จะล้มเหลวเช่นกันหากการตอบกลับจากผู้ซื้อผิดรูปแบบ ระบบจะรายงานความล้มเหลวไปยังผู้เรียก API ที่ต้องรับผิดชอบในการลองอีกครั้งเนื่องจากความล้มเหลวชั่วคราว (เช่น เซิร์ฟเวอร์ไม่ตอบกลับ) หรือจัดการกับความล้มเหลวถาวร (เช่น ความล้มเหลวในการตรวจสอบข้อมูลหรือข้อผิดพลาดอื่นๆ ที่ไม่ชั่วคราวซึ่งเกิดขึ้นระหว่างการสื่อสารกับเซิร์ฟเวอร์)

ออบเจ็กต์ CustomAudienceFetchRequest ช่วยให้ผู้ที่เรียก API กําหนดข้อมูลบางอย่างสําหรับกลุ่มเป้าหมายที่กำหนดเองได้โดยใช้พร็อพเพอร์ตี้ที่ไม่บังคับซึ่งแสดงในตัวอย่างด้านบน หากตั้งค่าไว้ในคําขอ ระบบจะไม่เขียนทับค่าเหล่านี้ด้วยการตอบกลับจากผู้ซื้อที่ได้รับจากแพลตฟอร์ม Protected Audience API จะละเว้นช่องในการตอบกลับ หากไม่ได้ตั้งค่าในคําขอ จะต้องตั้งค่าในคําตอบ เนื่องจากต้องใช้ช่องเหล่านี้เพื่อสร้างกลุ่มเป้าหมายที่กําหนดเอง การนำเสนอ JSON ของเนื้อหา CustomAudience ตามที่ระบุบางส่วนโดยผู้เรียก API จะรวมอยู่ในคำขอ GET ไปยัง fetchUri ในส่วนหัวพิเศษ X-CUSTOM-AUDIENCE-DATA ขนาดของรูปแบบที่แปลงเป็นอนุกรมของข้อมูลที่ระบุสําหรับกลุ่มเป้าหมายที่กําหนดเองจํากัดไว้ที่ 8 KB หากไฟล์มีขนาดเกินfetchAndJoinCustomAudience การเรียก API จะล้มเหลว

การไม่ใช้การตรวจสอบ k-anon ช่วยให้คุณใช้ fetchUri ในการยืนยันตัวตนผู้ซื้อ และเพื่อเปิดใช้การแชร์ข้อมูลระหว่างผู้ซื้อกับ SDK ได้ ผู้ซื้อสามารถระบุโทเค็นการยืนยันเพื่อให้การยืนยันกลุ่มเป้าหมายที่กำหนดเองสะดวกขึ้น SDK ในอุปกรณ์ควรใส่โทเค็นนี้ใน fetchUri เพื่อให้ปลายทางที่โฮสต์โดยผู้ซื้อสามารถดึงข้อมูลเนื้อหาของกลุ่มเป้าหมายที่กำหนดเอง และใช้โทเค็นการยืนยันเพื่อยืนยันว่าการดำเนินการ fetchAndJoinCustomAudience() สอดคล้องกับผู้ซื้อและมาจากพาร์ทเนอร์ในอุปกรณ์ที่เชื่อถือได้ หากต้องการแชร์ข้อมูล ผู้ซื้อสามารถตกลงกับผู้เรียกในอุปกรณ์ว่าจะมีการเพิ่มข้อมูลบางส่วนที่จะนําไปใช้สร้างกลุ่มเป้าหมายที่กําหนดเองเป็นพารามิเตอร์การค้นหาลงใน fetchUri ซึ่งช่วยให้ผู้ซื้อตรวจสอบการเรียกใช้และตรวจจับได้ว่าเทคโนโลยีโฆษณาที่เป็นอันตรายใช้โทเค็นการตรวจสอบเพื่อสร้างกลุ่มเป้าหมายที่กำหนดเองหลายกลุ่มหรือไม่

หมายเหตุเกี่ยวกับคําจํากัดความและพื้นที่เก็บข้อมูลโทเค็นการยืนยัน

  • Protected Audience API จะไม่ใช้โทเค็นการยืนยันเพื่อวัตถุประสงค์ใดๆ และคุณไม่จำเป็นต้องใช้โทเค็นดังกล่าว

    • ผู้ซื้ออาจใช้โทเค็นการยืนยันเพื่อยืนยันว่าการสร้างกลุ่มเป้าหมายนั้นทําในนามของตน
    • โปรโพซาลของ Protected Audience API ไม่ได้ระบุรูปแบบของโทเค็นการยืนยันหรือวิธีที่ผู้ซื้อโอนโทเค็นการยืนยันไปยังผู้เรียก เช่น โทเค็นการยืนยันอาจโหลดไว้ล่วงหน้าใน SDK หรือแบ็กเอนด์ของเจ้าของคน หรือ SDK ของเจ้าของคนอาจดึงข้อมูลโทเค็นแบบเรียลไทม์จากเซิร์ฟเวอร์ของผู้ซื้อ

ออกจากกลุ่มเป้าหมายที่กำหนดเอง

เจ้าของกลุ่มเป้าหมายที่กําหนดเองอาจเลือกออกโดยเรียกใช้ leaveCustomAudience() ดังที่แสดงในข้อมูลโค้ดตัวอย่างด้านล่าง

// Invoke ad services API to leave a custom audience.
leaveCustomAudience(buyer, name);

กลุ่มเป้าหมายที่กําหนดเองจะหมดอายุและถูกนําออกจากพื้นที่เก็บข้อมูลในอุปกรณ์หลังจากผ่านไปตามระยะเวลาที่กําหนดไว้ล่วงหน้า เพื่อช่วยประหยัดพื้นที่เก็บข้อมูลและทรัพยากรอื่นๆ ของอุปกรณ์ ค่าเริ่มต้นจะกําหนด เจ้าของจะลบล้างค่าเริ่มต้นนี้ได้

การควบคุมของผู้ใช้

  • ข้อเสนอนี้มีจุดประสงค์เพื่อให้ผู้ใช้เห็นรายการแอปที่ติดตั้งไว้ซึ่งสร้างกลุ่มเป้าหมายที่กําหนดเองอย่างน้อย 1 กลุ่ม
  • ผู้ใช้สามารถนำแอปออกจากรายการนี้ได้ การนําออกจะล้างกลุ่มเป้าหมายที่กําหนดเองทั้งหมดที่เชื่อมโยงกับแอป และป้องกันไม่ให้แอปเข้าร่วมกลุ่มเป้าหมายที่กําหนดเองใหม่
  • ผู้ใช้สามารถรีเซ็ต Protected Audience API ได้ทั้งหมด เมื่อเกิดกรณีนี้ขึ้น ระบบจะล้างกลุ่มเป้าหมายที่กําหนดเองที่มีอยู่ในอุปกรณ์
  • ผู้ใช้สามารถเลือกไม่ใช้ Privacy Sandbox ใน Android ทั้งหมดได้ ซึ่งรวมถึง Protected Audience API หากผู้ใช้เลือกไม่ใช้ Privacy Sandbox ระบบจะไม่แสดงข้อความแจ้งว่า Protected Audience API ใช้งานไม่ได้

การออกแบบความสามารถนี้อยู่ระหว่างดำเนินการและรายละเอียดจะรวมอยู่ในการอัปเดตในภายหลัง

การอัปเดตตามกำหนดการ

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

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

/**
* API To schedule delayed update events for Custom Audience
*
* @param request Criteria that determine when and where to trigger a call to a
* DSP endpoint to update one or more Custom Audiences
*/

public void scheduleCustomAudienceUpdate(
    @NonNull ScheduleCustomAudienceUpdateRequest request,
    @NonNull @CallBackExecutor Executor executor,
    @NonNull AdServicesOutcomeReceiver<Object, Exception> receiver)

ScheduleCustomAudienceUpdateRequest

public final class ScheduleCustomAudienceUpdateRequest {
  // Required Field
  @NonNull public Uri getUpdateUri() {
    return mUpdateUri;
  }

  // Required Field
  @NonNull public Duration getMinDelay() {
    return mMinDelay;
  }

  //  Required Field
  @NonNull public List<PartialCustomAudience> getPartialCustomAudienceList() {
    return mPartialCustomAudiences;
  }

  //  Optional Field (default false)
  public boolean shouldReplacePendingUpdates () {
    return mShouldReplacePendingUpdates;
  }
}

ScheduleCustomAudienceUpdateRequest มีข้อมูลที่จำเป็นสำหรับการลงทะเบียนงานที่ทำงานล่าช้าเพื่อใช้งานกับแพลตฟอร์ม หลังจากการเลื่อนเวลาตามที่ระบุแล้ว งานเบื้องหลังจะทํางานเป็นระยะๆ และส่งคําขอ ไฟล์ ScheduleCustomAudienceUpdateRequestอาจมีข้อมูลต่อไปนี้

  • UpdateUri: ปลายทาง URI ที่จะส่งการเรียก GET เพื่อดึงข้อมูลอัปเดต ระบบจะอนุมานข้อมูลประจำตัวของผู้ซื้อจาก eTLD+1 โดยไม่จำเป็นต้องระบุอย่างชัดเจนและไม่สามารถแก้ไขโดยการตอบกลับการอัปเดต คำขอ GET คาดว่าจะได้รับออบเจ็กต์ JSON ที่มีรายการออบเจ็กต์ customAudience ในการตอบกลับ
  • DelayTime: เวลาแสดงการเลื่อนเวลาจากเวลาที่เรียกใช้ scheduleCustomAudienceUpdate() API เพื่อตั้งเวลาอัปเดต
  • PartialCustomAudience: API นี้ยังอนุญาตให้ SDK บนอุปกรณ์ส่งรายการกลุ่มเป้าหมายที่กําหนดเองซึ่งสร้างขึ้นเพียงบางส่วนได้ด้วย ซึ่งช่วยให้ SDK ในแอปทําหน้าที่เป็นทั้ง 2 บทบาทได้ ตั้งแต่การควบคุมอย่างเต็มรูปแบบไปจนถึงการควบคุมบางส่วนในการจัดการกลุ่มเป้าหมายที่กําหนดเอง โดยอิงตามการเป็นพาร์ทเนอร์กับ DSP

    • นอกจากนี้ ยังช่วยให้ API นี้เข้ากันได้กับ fetchAndJoinCustomAudience() API ซึ่งช่วยให้แชร์ข้อมูลในลักษณะเดียวกันได้
  • ShouldReplacePendingUpdates: บูลีนที่ระบุว่าควรยกเลิกการอัปเดตที่กำหนดเวลาไว้ซึ่งรอดำเนินการอยู่และแทนที่ด้วยการอัปเดตที่ระบุไว้ในScheduleCustomAudienceUpdateRequestปัจจุบันหรือไม่ หากตั้งค่าเป็น false และยังมีคำขออัปเดตที่รอดำเนินการสำหรับผู้ซื้อรายเดียวกันในแอปเดียวกันอยู่ การเรียกใช้ scheduleCustomAudienceUpdate ด้วย ScheduleCustomAudienceUpdateRequest นี้จะดำเนินการไม่สำเร็จ ค่าเริ่มต้นคือ false

สิทธิ์และการควบคุมแอป

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

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

การออกแบบความสามารถนี้อยู่ระหว่างดำเนินการและรายละเอียดจะรวมอยู่ในการอัปเดตในภายหลัง

การควบคุมแพลตฟอร์มเทคโนโลยีโฆษณา

ข้อเสนอนี้ระบุวิธีต่างๆ ที่เทคโนโลยีโฆษณาใช้ควบคุมกลุ่มเป้าหมายที่กําหนดเองได้ ดังนี้

  • เทคโนโลยีโฆษณาลงทะเบียนกับ Privacy Sandbox และระบุโดเมน eTLD+1 ซึ่งตรงกับ URL ทั้งหมดสําหรับกลุ่มเป้าหมายที่กําหนดเอง
  • เทคโนโลยีโฆษณาสามารถเป็นพาร์ทเนอร์กับแอปหรือ SDK เพื่อมอบโทเค็นการยืนยันที่จะใช้ในการยืนยันการสร้างกลุ่มเป้าหมายที่กําหนดเอง เมื่อมอบหมายกระบวนการนี้ให้กับพาร์ทเนอร์ คุณจะกําหนดค่าการสร้างกลุ่มเป้าหมายที่กําหนดเองให้ต้องได้รับการยืนยันจากเทคโนโลยีโฆษณาได้
  • เทคโนโลยีโฆษณาสามารถเลือกปิดใช้งานการเรียก joinCustomAudience ในนามของตน และอนุญาตให้เฉพาะ fetchAndJoinCustomAudience API เปิดใช้กลุ่มเป้าหมายที่กำหนดเองทั้งหมดของการเรียกเท่านั้น คุณอัปเดตการควบคุมได้ในระหว่างการลงทะเบียน Privacy Sandbox โปรดทราบว่าการควบคุมจะอนุญาตเทคโนโลยีโฆษณาทั้งหมดหรือไม่อนุญาตเลย เนื่องจากข้อจํากัดของแพลตฟอร์ม สิทธิ์การมอบสิทธิ์จึงไม่สามารถกำหนดตามเทคโนโลยีโฆษณา

โฆษณาและข้อมูลเมตาที่ส่งมา

โฆษณาและข้อมูลเมตาที่เป็นผู้สมัครซึ่งแสดงผลจากแพลตฟอร์มฝั่งซื้อควรมีช่องต่อไปนี้

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

เวิร์กโฟลว์การเลือกโฆษณา

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

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

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

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

โฟลว์ชาร์ตที่แสดงการเริ่มต้นเวิร์กโฟลว์การเลือกโฆษณา

เวิร์กโฟลว์การเลือกโฆษณานี้จะประสานงานการเรียกใช้โค้ด JavaScript ที่ได้จากเทคโนโลยีโฆษณาในอุปกรณ์ตามลําดับต่อไปนี้

  1. การดำเนินการตามตรรกะการเสนอราคาฝั่งซื้อ
  2. การกรองและการประมวลผลโฆษณาฝั่งผู้ซื้อ
  3. การดำเนินการตามตรรกะการตัดสินใจฝั่งผู้ขาย

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

การออกแบบการเลือกโฆษณาที่ไม่เกี่ยวข้องกับกลุ่มเป้าหมายที่กำหนดเองอยู่ระหว่างการพัฒนา

เริ่มเวิร์กโฟลว์การเลือกโฆษณา

เมื่อแอปต้องแสดงโฆษณา SDK ของแพลตฟอร์มเทคโนโลยีโฆษณาอาจเริ่มเวิร์กโฟลว์การเลือกโฆษณาโดยการเรียกใช้เมธอด selectAds() หลังจากสร้างออบเจ็กต์ AdSelectionConfig ขึ้นมาใหม่ด้วยพารามิเตอร์ที่คาดไว้ ดังนี้

  • ผู้ขาย: ตัวระบุแพลตฟอร์มโฆษณาฝั่งขายตามรูปแบบ eTLD+1
  • URL ตรรกะการตัดสิน: เมื่อเริ่มการประมูลโฆษณา แพลตฟอร์มจะใช้ URL นี้เพื่อดึงข้อมูลโค้ด JavaScript จากแพลตฟอร์มฝั่งขายเพื่อประเมินโฆษณาที่ชนะ
  • ผู้ซื้อตามกลุ่มเป้าหมายที่กำหนดเอง: รายการแพลตฟอร์มฝั่งซื้อที่มีดีมานด์ตามกลุ่มเป้าหมายที่กำหนดเองสำหรับการประมูลนี้ โดยเป็นไปตามรูปแบบ eTLD+1
  • สัญญาณการเลือกโฆษณา: ข้อมูลเกี่ยวกับการประมูล (ขนาดโฆษณา รูปแบบโฆษณา เป็นต้น)
  • สัญญาณของผู้ขาย: สัญญาณเฉพาะของแพลตฟอร์มฝั่งขาย
  • URL ของสัญญาณการระบุคะแนนที่เชื่อถือได้: URL ปลายทางของสัญญาณที่เชื่อถือได้ฝั่งผู้ขายซึ่งดึงข้อมูลแบบเรียลไทม์ที่เฉพาะเจาะจงของครีเอทีฟโฆษณาได้
  • ตามสัญญาณของผู้ซื้อ: ฝ่ายดีมานด์ที่เข้าร่วมอาจใช้พารามิเตอร์นี้เพื่อป้อนข้อมูลสำหรับการประมูล ตัวอย่างเช่น พารามิเตอร์นี้อาจรวมข้อมูลตามบริบทที่ครอบคลุมซึ่งเป็นประโยชน์ในการกำหนดราคาเสนอ

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

AdSelectionConfig myAdSelectionConfig = new AdSelectionConfig {
    Seller = "example-ssp1.com",
    DecisionLogicURL = Uri.parse("https://..."),
    CustomAudienceBuyerList = Arrays.asList("example-dsp1.com","bexample-dsp2.com"),
    AdSelectionSignals = "{"min_price": 10,"auction_attempts": 3}"
    SellerSignals = "{"seller_type": "news", "content_category": "sports","mature_ads_accepted" :"false"}"
    PerBuyerSignals = " {"buyer1Name": {"key1" : "value1"},
                         "buyer2Name": {"key1" : "value1", "key2" : "value2" }"
};

// Invoke ad services API to initiate ad selection workflow.
Ad winningAd = selectAds(myAdSelectionConfig);

ตรรกะการเสนอราคาฝั่งผู้ซื้อ

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

แพลตฟอร์มจะใช้ข้อมูลเมตา "URL ของตรรกะการเสนอราคา" ของกลุ่มเป้าหมายที่กําหนดเองเพื่อดึงข้อมูลโค้ด JavaScript ซึ่งควรมีลายเซ็นฟังก์ชันด้านล่าง

generateBid(ad, auction_signals, per_buyer_signals, trusted_bidding_signals,
        contextual_signals, user_signals, custom_audience_signals) {
    // ...
    return {'bid': ...};
}

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

ฟังก์ชันนี้ต้องการพารามิเตอร์ต่อไปนี้

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

ค่าใช้จ่ายโฆษณา

นอกจากราคาเสนอแล้ว แพลตฟอร์มฝั่งผู้ซื้อยังมีตัวเลือกในการแสดงผลต้นทุนต่อการคลิกเป็นส่วนหนึ่งของ generateBid() เช่น

generateBid(ad, auction_signals, per_buyer_signals, trusted_bidding_signals,
        contextual_signals, user_signals, custom_audience_signals) {
    // ...
    return {'bid': ..., 'adCost': ...,};
}

หากโฆษณานี้เป็นผู้ชนะ ระบบจะปัดเศษแบบสุ่ม adCost เป็น 8 บิตเพื่อรักษาความเป็นส่วนตัว จากนั้นระบบจะส่งค่าที่ปัดเศษของ adCost ไปยังพารามิเตอร์ contextual_signals ใน reportWin ในระหว่างการรายงานการแสดงผล

ตรรกะการกรองฝั่งผู้ซื้อ

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

สามารถใช้ตรรกะการกรองฝั่งผู้ซื้อเป็นส่วนหนึ่งของตรรกะการเสนอราคาได้โดยแสดงผลมูลค่าการเสนอราคา 0 สําหรับโฆษณาหนึ่งๆ

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

ตรรกะการให้คะแนนฝั่งผู้ขาย

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

scoreAd(ad, bid, auction_config, trusted_scoring_signals,
        contextual_signals, user_signals, custom_audience_signals) {
    // ...
    return score_for_this_ad;
}

ฟังก์ชันนี้ต้องการพารามิเตอร์ต่อไปนี้

  • โฆษณา: โฆษณาที่กําลังประเมินอยู่ เอาต์พุตจากฟังก์ชัน generateBid()
  • ราคาเสนอ: เอาต์พุตราคาเสนอจากฟังก์ชัน generateBid()
  • การกําหนดค่าการประมูล: พารามิเตอร์อินพุตสําหรับเมธอด selectAds()
  • สัญญาณการให้คะแนนที่เชื่อถือได้: แพลตฟอร์มเทคโนโลยีโฆษณาใช้ข้อมูลแบบเรียลไทม์เพื่อใช้ในการกรองและคะแนนโฆษณา ตัวอย่างเช่น ผู้เผยแพร่แอปอาจบล็อกแคมเปญโฆษณาไม่ให้แสดงโฆษณาในแอป ระบบจะดึงข้อมูลนี้มาจากพารามิเตอร์ URL ของสัญญาณการให้คะแนนที่เชื่อถือได้ของการกำหนดค่าการประมูล เซิร์ฟเวอร์ที่แสดงคำขอนี้ควรเป็นเซิร์ฟเวอร์ที่เชื่อถือได้ซึ่งจัดการโดยเทคโนโลยีโฆษณา
  • สัญญาณตามบริบท: ซึ่งอาจรวมถึงการประทับเวลาแบบหยาบหรือข้อมูลตำแหน่งโดยประมาณ
  • สัญญาณของผู้ใช้: ซึ่งอาจรวมถึงข้อมูล เช่น App Store ที่เริ่มการติดตั้งแอป
  • สัญญาณกลุ่มเป้าหมายที่กําหนดเอง: หากโฆษณาที่กําลังให้คะแนนมาจากกลุ่มเป้าหมายที่กําหนดเองในอุปกรณ์ สัญญาณนี้จะมีข้อมูล เช่น ผู้อ่านและชื่อกลุ่มเป้าหมายที่กําหนดเอง

รันไทม์ของโค้ดการเลือกโฆษณา

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

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

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

ภาษาโปรแกรม

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

การแสดงโฆษณาที่มีประสิทธิภาพสูงสุด

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

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

การรายงานการแสดงผลและเหตุการณ์

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

  1. การรายงานฝั่งผู้ขาย
  2. การรายงานฝั่งซื้อ

ซึ่งช่วยให้แพลตฟอร์มฝั่งผู้ซื้อและฝั่งผู้ขายมีวิธีส่งข้อมูลสำคัญในอุปกรณ์กลับไปที่เซิร์ฟเวอร์เพื่อเปิดใช้ความสามารถต่างๆ เช่น การกําหนดงบประมาณแบบเรียลไทม์ การอัปเดตรูปแบบการเสนอราคา และเวิร์กโฟลว์การเรียกเก็บเงินที่ถูกต้อง การรองรับการรายงานการแสดงผลนี้ช่วยเสริม Attribution Reporting API

การสนับสนุนการรายงานเหตุการณ์ต้องดำเนินการ 2 ขั้นตอน ได้แก่ ฝั่งผู้ขายและฝั่งผู้ซื้อ JavaScript ต้องลงทะเบียนเหตุการณ์ที่ควรได้รับรายงานเหตุการณ์ และฝั่งผู้ขายมีหน้าที่รับผิดชอบในการรายงานข้อมูลระดับเหตุการณ์

Protected Audience มีกลไกในการติดตามเหตุการณ์ในอนาคตที่เกี่ยวข้องกับการประมูลที่ชนะโดยการลงทะเบียนบีคอน ในreportResult() ฟังก์ชัน JavaScript ของผู้ขาย แพลตฟอร์มฝั่งขายจะลงทะเบียนบีคอนได้โดยใช้ฟังก์ชัน registerAdBeacon() ของแพลตฟอร์ม ในทํานองเดียวกัน แพลตฟอร์มฝั่งซื้อสามารถเรียกใช้registerAdBeacon()จากฟังก์ชัน JavaScript reportWin()

registerAdBeacon(beacons)

อินพุต:

  • event_key: สตริงที่ระบุประเภทการโต้ตอบที่จะลงทะเบียน ข้อมูลนี้ใช้เป็นคีย์ในการค้นหาปลายทางที่แพลตฟอร์มส่ง Ping ขณะรายงานผลการประมูล
  • reporting_url: URL ที่เป็นของแพลตฟอร์มเทคโนโลยีโฆษณาสําหรับการจัดการเหตุการณ์

คีย์เหตุการณ์คือตัวระบุสตริงที่เป็นของ SDK ฝั่งขายซึ่งมีหน้าที่รายงานผลของการประมูล หากต้องการให้มีการเรียกกลับ เทคโนโลยีโฆษณาจะลงทะเบียนบีคอนด้วยคีย์ที่ตรงกับคีย์ที่ผู้ขายใช้เมื่อรายงานเหตุการณ์ คีย์เหล่านี้ไม่จำเป็นต้องเป็นคีย์ที่ไม่ระบุตัวบุคคลตาม k แต่มีขีดจํากัดด้านจํานวนและความยาวของคีย์ที่ลงทะเบียนสําหรับกลุ่มเป้าหมายที่กําหนดเองหนึ่งๆ ได้ หากมีการเรียกใช้ reportEvent() แพลตฟอร์มฝั่งขายที่เรียกใช้การประมูลจะมีสิทธิ์รับรายงานเหตุการณ์เหล่านี้เสมอ เฉพาะแพลตฟอร์มฝั่งซื้อที่ชนะเท่านั้นที่มีสิทธิ์รับรายงานเหล่านี้

การรายงานฝั่งผู้ขาย

แพลตฟอร์มเรียกใช้ฟังก์ชัน reportResult() JavaScript ในโค้ดที่ฝั่งอุปทานระบุซึ่งดาวน์โหลดจากพารามิเตอร์ Decision logic URL ของผู้ขายสําหรับ selectAds() API

reportResult(render_url, bid, auction_config, contextual_signals) {
    // ...
    beacons = {"click":clickUri}
    registerAdBeacon(beacons)
    return {
      "status": 0,
      "results": {"reporting_url": reporting_url,
                  "signals_for_buyer": signals_for_buyer}};
}

เอาต์พุต: ออบเจ็กต์ JSON ที่มี

  • สถานะ: 0 สำหรับ "สำเร็จ" ค่าอื่นๆ สำหรับ "ไม่สำเร็จ"
  • URL การรายงาน: แพลตฟอร์มจะเรียกใช้ URL นี้ที่แสดงผลจากฟังก์ชัน
  • สัญญาณสำหรับผู้ซื้อ: ออบเจ็กต์ JSON ที่ส่งไปยังreportWin ฟังก์ชันของผู้ซื้อ

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

  • URL การนําเสนอโฆษณา
  • จํานวนราคาเสนอที่ชนะ
  • ชื่อแอป
  • ตัวระบุการค้นหา
  • สัญญาณสําหรับผู้ซื้อ: แพลตฟอร์มจะส่งค่าที่แสดงผลนี้เป็นพารามิเตอร์อินพุตไปยังโค้ดการรายงานฝั่งดีมานด์เพื่อรองรับการแชร์ข้อมูลระหว่างฝั่งอุปทานและฝั่งดีมานด์

การรายงานฝั่งซื้อ

แพลตฟอร์มจะเรียกใช้reportWin()ฟังก์ชัน JavaScript ในโค้ดที่ฝั่งดีมานด์ระบุซึ่งดาวน์โหลดมาจากข้อมูลเมตา URL ของตรรกะการเสนอราคาของกลุ่มเป้าหมายที่กำหนดเองซึ่งเชื่อมโยงกับการประมูล

reportWin(render_url, bid, auction_signals, per_buyer_signals,
        signals_for_buyer, contextual_signals, custom_audience_signals) {
    // ...
    beacons = {"click":clickUri}
    registerAdBeacon(beacons)
    return {
      "status": 0,
      "results": {"reporting_uri": reporting_uri}};
}

อินพุต:

  • ดึงข้อมูล auction_signals และ per_buyer_signals จาก AuctionConfig ข้อมูลใดก็ตามที่แพลตฟอร์มฝั่งซื้อต้องส่งไปยัง URL การรายงานอาจมาจากข้อมูลนี้
  • signals_for_buyer คือเอาต์พุตของ reportResult ฝั่งผู้ขาย ซึ่งเปิดโอกาสให้แพลตฟอร์มฝั่งขายแชร์ข้อมูลกับแพลตฟอร์มฝั่งซื้อเพื่อวัตถุประสงค์ในการรายงาน
  • contextual_signals มีข้อมูล เช่น ชื่อแอป และ custom_audience_signals มีข้อมูลกลุ่มเป้าหมายที่กำหนดเอง ทั้งนี้อาจมีการเพิ่มข้อมูลอื่นๆ ในอนาคต

เอาต์พุต:

  • สถานะ: 0 สำหรับ "สำเร็จ" ค่าอื่นๆ สำหรับ "ไม่สำเร็จ"
  • URL การรายงาน: แพลตฟอร์มจะเรียกใช้ URL นี้ที่แสดงผลจากฟังก์ชัน

การรายงานเหตุการณ์

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

ReportEventRequest request = new ReportEventRequest(
  AdSelectionId = ad_selection_id,
  event_key = "view"
  event_data = "{ "viewTimeInSeconds" :1 }",
  reporting_destinations =
    FLAG_REPORTING_DESTINATION_SELLER |
      FLAG_REPORTING_DESTINATION_BUYER,
  input_event = clickInputEvent // or null for view
  )

reportEvent(request)

อินพุต:

  • ad_selection_id ต้องเป็น AdSelectionId ของการประมูลที่เพิ่งจัดขึ้น ดึงมาจาก AdSelectionOutcome
  • event_key คือสตริงที่ฝั่งขายกําหนดซึ่งอธิบายเหตุการณ์การโต้ตอบ
  • event_data คือสตริงที่แสดงข้อมูลที่เชื่อมโยงกับ event_key
  • reporting_destinations คือบิตมาสก์ที่ตั้งค่าโดยใช้ Flag ที่แพลตฟอร์มระบุ โดยอาจเป็น FLAG_REPORTING_DESTINATION_SELLER หรือ FLAG_REPORTING_DESTINATION_BUYER หรือทั้ง 2 อย่างก็ได้
  • input_event (ไม่บังคับ) ใช้สำหรับการผสานรวมกับ Attribution Reporting API อาจเป็นออบเจ็กต์ InputEvent (สําหรับเหตุการณ์การคลิก) หรือเป็นค่า Null (สําหรับเหตุการณ์การดู) ดูรายละเอียดเพิ่มเติมเกี่ยวกับพารามิเตอร์นี้ได้ที่การผสานรวม Attribution Reporting API

หลังจาก SDK ฝั่งขายเรียกใช้ reportEvent แล้ว แพลตฟอร์มจะพยายามจับคู่ event_key กับคีย์ที่ผู้ซื้อและผู้ขายลงทะเบียนไว้ในฟังก์ชัน JavaScript ของ reportWin และ reportResult ทั้งนี้ขึ้นอยู่กับ Flag reporting_destinations หากตรงกัน แพลตฟอร์มจะส่ง event_data ไปยัง reporting_url ที่เชื่อมโยง ประเภทเนื้อหาของคําขอคือข้อความธรรมดาที่มีevent_dataเป็นเนื้อหา คําขอนี้จะดำเนินการอย่างดีที่สุดและจะดำเนินการไม่สำเร็จโดยอัตโนมัติในกรณีที่เกิดข้อผิดพลาดเกี่ยวกับเครือข่าย การตอบกลับของเซิร์ฟเวอร์ หรือหากไม่พบคีย์ที่ตรงกัน

การผสานรวม Attribution Reporting API

เราให้บริการฟังก์ชันการทำงานข้าม API ใน Protected Audience และ Attribution Reporting API (ARA) เพื่อรองรับผู้ซื้อที่เข้าร่วมการประมูล Protected Audience ฟังก์ชันการทํางานนี้ช่วยให้นักเทคโนโลยีโฆษณาประเมินประสิทธิภาพการระบุแหล่งที่มาในกลยุทธ์รีมาร์เก็ตติ้งต่างๆ เพื่อให้ทราบได้ว่ากลุ่มเป้าหมายประเภทใดให้ ROI สูงสุด

การผสานรวมข้าม API นี้ช่วยให้เทคโนโลยีโฆษณาทําสิ่งต่อไปนี้ได้

  • สร้างการแมปคีย์-ค่าของ URI เพื่อใช้สําหรับทั้ง 1) การรายงานการโต้ตอบกับโฆษณา และ 2) การลงทะเบียนแหล่งที่มา
  • รวมข้อมูลการประมูลจากการประมูลกลุ่มเป้าหมายที่ได้รับการคุ้มครองในการแมปคีย์ฝั่งแหล่งที่มาสําหรับการรายงานสรุปรวม (โดยใช้ Attribution Reporting API) ดูข้อมูลเพิ่มเติมได้ในข้อเสนอการออกแบบ ARA

เมื่อผู้ใช้เห็นหรือคลิกโฆษณา

  • URL ที่ใช้รายงานการโต้ตอบกับเหตุการณ์เหล่านั้นโดยใช้ Protected Audience จะระบุข้อมูลที่จำเป็นให้แก่ผู้ซื้อเพื่อใช้ในการบันทึกการดูหรือการคลิกเป็นแหล่งที่มาที่มีสิทธิ์ด้วย Attribution Reporting API
  • เทคโนโลยีโฆษณาอาจเลือกส่ง CustomAudience (หรือข้อมูลตามบริบทอื่นๆ ที่เกี่ยวข้องเกี่ยวกับโฆษณา เช่น ตําแหน่งโฆษณาหรือระยะเวลาในการดู) โดยใช้ URL ดังกล่าวเพื่อให้เมตาดาต้านี้ส่งต่อไปยังรายงานสรุปได้เมื่อเทคโนโลยีโฆษณาตรวจสอบประสิทธิภาพแคมเปญโดยรวม

การเปิดใช้การลงทะเบียนแหล่งที่มา

reportEvent() จะยอมรับพารามิเตอร์ที่ไม่บังคับใหม่ InputEvent ผู้ซื้อที่ชนะซึ่งลงทะเบียนบีคอนโฆษณาจะเลือกรายงาน reportEvent ที่จะลงทะเบียนกับ Attribution Reporting API เป็นแหล่งที่มาที่ลงทะเบียนได้ ระบบจะเพิ่มส่วนหัว "มีสิทธิ์รายงานการระบุแหล่งที่มา" ลงในคำขอรายงานเหตุการณ์ทั้งหมดที่ส่งจาก reportEvent() การตอบกลับที่มีส่วนหัว ARA ที่เหมาะสมจะได้รับการแยกวิเคราะห์ในลักษณะเดียวกับการตอบกลับการลงทะเบียนแหล่งที่มา ARA ปกติอื่นๆ ดูคําอธิบาย Attribution Reporting API สําหรับวิธีลงทะเบียน URL แหล่งที่มา

เนื่องจาก ARA ใน Android รองรับเหตุการณ์การดูและการคลิก ระบบจึงใช้ InputEvents เพื่อแยกความแตกต่างระหว่าง 2 ประเภทนี้ เช่นเดียวกับการลงทะเบียนแหล่งที่มา ARA reportEvent() API จะตีความInputEventที่ยืนยันโดยแพลตฟอร์มเป็นเหตุการณ์คลิก หากไม่มี InputEvent หรือ InputEvent เป็นค่าว่างหรือไม่ถูกต้อง ระบบจะถือว่าการลงทะเบียนแหล่งที่มาเป็นการดู

โปรดทราบว่า eventData หลังการประมูลอาจมีข้อมูลที่ละเอียดอ่อน ดังนั้นแพลตฟอร์มจึงนำ eventData ออกจากคำขอลงทะเบียนแหล่งที่มาที่เปลี่ยนเส้นทาง

ตัวอย่างการรายงานการมีส่วนร่วมและ Conversion

ในตัวอย่างนี้ เราจะพิจารณาจากมุมมองของผู้ซื้อที่สนใจเชื่อมโยงข้อมูลจากการประมูล โฆษณาที่แสดงผล และแอป Conversion

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

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

  1. ในระหว่างการเรียกใช้ reportWin ผู้ซื้อสามารถลงทะเบียนบีคอนโฆษณาให้ทริกเกอร์ระหว่างเวลาที่โฆษณาแสดงผลและสำหรับเหตุการณ์การโต้ตอบที่เฉพาะเจาะจง (registerAdBeacon()) หากต้องการเชื่อมโยงสัญญาณการประมูลกับเหตุการณ์โฆษณา ให้ตั้งค่า auctionId เป็นพารามิเตอร์การค้นหาของ URL บีคอน
  2. ในระหว่างการแสดงผลโฆษณา ระบบจะทริกเกอร์หรือปรับปรุงบีคอนที่คุณลงทะเบียนไว้ในระหว่างการประมูลด้วยข้อมูลระดับเหตุการณ์ ผู้ขายต้องทริกเกอร์ reportEvent() และส่งข้อมูลระดับเหตุการณ์ แพลตฟอร์มจะส่งคําขอ ping ไปยัง URL ของบีคอนโฆษณาที่ลงทะเบียนไว้ของผู้ซื้อซึ่งสัมพันธ์กับ reportEvent() ที่ทริกเกอร์
  3. ผู้ซื้อจะลงทะเบียนโฆษณากับ Attribution Reporting API โดยตอบกลับคําขอบีคอนโฆษณาด้วยส่วนหัว Attribution-Reporting-Register-Source หากต้องการเชื่อมโยงสัญญาณการประมูลสำหรับเหตุการณ์ Conversion ให้ตั้งค่า auctionId ใน URL แหล่งที่มาของรีจิสทรี

หลังจากกระบวนการข้างต้น ผู้ซื้อจะมีรายงานการประมูล รายงานการโต้ตอบ และรายงาน Conversion ซึ่งสามารถเชื่อมโยงโดยใช้รหัสที่ไม่ซ้ำกันซึ่งใช้เชื่อมโยงกันได้

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

เซิร์ฟเวอร์ที่เชื่อถือได้ซึ่งจัดการโดยแพลตฟอร์มเทคโนโลยีโฆษณา

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

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

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

ด้านล่างนี้คือตัวอย่าง URL ในการดึงข้อมูลการเสนอราคาที่เชื่อถือได้ โดยอิงตามข้อมูลเมตาสัญญาณการเสนอราคาที่เชื่อถือได้จากกลุ่มเป้าหมายที่กําหนดเอง

https://www.kv-server.example/getvalues?keys=key1,key2

การตอบกลับจากเซิร์ฟเวอร์ควรเป็นออบเจ็กต์ JSON ที่มีคีย์เป็น key1, key2 เป็นต้น และค่าที่พร้อมใช้งานสำหรับฟังก์ชันการเสนอราคาของผู้ซื้อ

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

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

https://www.kv-server.example/getvalues?renderUrls=render_url1,render_url2

การตอบกลับจากเซิร์ฟเวอร์ควรเป็นออบเจ็กต์ JSON ที่มีคีย์เป็น URL การแสดงผลที่ส่งในคำขอ

เซิร์ฟเวอร์เหล่านี้จะทำงานด้วยวิธีที่เชื่อถือได้เพื่อมอบสิทธิประโยชน์ด้านความปลอดภัยและความเป็นส่วนตัวหลายประการ ดังนี้

  • ค่าที่แสดงผลของเซิร์ฟเวอร์สำหรับแต่ละคีย์จะเชื่อถือได้ว่าจะอิงตามคีย์นั้นๆ เท่านั้น
  • เซิร์ฟเวอร์ไม่บันทึกในระดับเหตุการณ์
  • เซิร์ฟเวอร์ไม่มีผลข้างเคียงอื่นๆ จากคําขอเหล่านี้

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

ผู้ซื้อและผู้ขายสามารถใช้เซิร์ฟเวอร์ประเภทคีย์-ค่าที่เชื่อถือได้ร่วมกันสำหรับแพลตฟอร์มที่เข้ากันได้กับ Privacy Sandbox ใน Android และสำหรับเว็บ