การรายงานการประมูลของ Protected Audience API

วัดข้อมูลและผลลัพธ์ของการประมูล Protected Audience API

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

หากต้องการรายงานเกี่ยวกับเมตริกที่สําคัญซึ่งรวบรวมจากการประมูลโฆษณา Protected Audience API จะทํางานร่วมกับสิ่งต่อไปนี้

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

ภาพรวมการรายงาน Protected Audience API

เวิร์กโฟลว์โดยรวมของ Protected Audience
เวิร์กโฟลว์โดยรวมของกลุ่มเป้าหมายที่ได้รับการปกป้อง

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

ในระหว่างการประมูล คุณสามารถรายงานข้อมูลการประมูลได้โดยใช้เวิร์กเลตการรายงาน ในระหว่างเวลาแสดงผล คุณสามารถรายงานข้อมูลการมีส่วนร่วมจาก iframe หรือเฟรมที่มีการกำหนดเขตได้ ในระหว่างช่วงเวลาเกิด Conversion คุณสามารถรายงานข้อมูลการระบุแหล่งที่มาจากหน้าปลายทางได้โดยใช้ Attribution Reporting API

สถานที่ตั้งในการรายงาน

ในการประมูล ผู้ซื้อสามารถรายงานสัญญาณที่มีอยู่ในเวิร์กเลต generateBid() และ reportWin() ส่วนผู้ขายสามารถรายงานสัญญาณที่มีอยู่ใน scoreAd() และ reportResult() นอกการประมูล ผู้ซื้อและผู้ขายสามารถรายงานข้อมูลจากเฟรมที่แสดงผลโฆษณา และจากเว็บไซต์ที่เกิด Conversion ได้

ระยะเวลา ปลายทาง ตำแหน่ง มีข้อมูล Reporting API ที่พร้อมใช้งาน
การประมูล ผู้ซื้อ generateBid() สัญญาณ ผลการประมูล และประสิทธิภาพการประมูล Private Aggregation API
reportWin() Private Aggregation API
Ads Reporting API
ผู้ขาย scoreAd() Private Aggregation API
reportResult() Private Aggregation API
Ads Reporting API
แสดงผล ผู้ซื้อ / ผู้ขาย เฟรมในเว็บไซต์ของผู้เผยแพร่โฆษณา ข้อมูลระดับเหตุการณ์ภายในเฟรมโฆษณา Private Aggregation API
Ads Reporting API
Conversion ผู้ซื้อ / ผู้ขาย เว็บไซต์ Conversion ข้อมูล Conversion และระดับเหตุการณ์จากเว็บไซต์ Conversion Attribution Reporting API
Private Aggregation API
Ads Reporting API

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

ข้อมูลที่มีให้ภายในการประมูล Protected Audience API

ข้อมูลต่อไปนี้พร้อมให้รายงานจากชิ้นงาน Protected Audience API ระหว่างการประมูล

สัญญาณ

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

สัญญาณ คำอธิบาย ตั้งค่าตำแหน่ง ผู้ใช้ ความพร้อมใช้งาน
auctionSignals ข้อมูลที่มีอยู่ในบริบทของสถานที่จัดประมูล ข้อมูลนี้อาจรวมถึงข้อมูลเนื้อหาหน้าเว็บ ข้อมูลผู้ใช้บุคคลที่หนึ่ง และอื่นๆ ผู้ขายตั้งค่าจากเว็บไซต์ของผู้เผยแพร่โฆษณาในการกําหนดค่าการประมูล ผู้ซื้อ
ผู้ขาย
generateBid scoreAd reportWin reportResult
directFromSellerSignals ข้อมูลเดียวกันสำหรับ auctionSignals, perBuyerSignals, sellerSignals แต่รับประกันว่าสัญญาณมาจากผู้ขายที่ระบุ ตั้งค่าผ่านส่วนหัวการตอบกลับ HTTP จากผู้ขาย ผู้ซื้อ
ผู้ขาย
generateBid scoreAd reportWin reportResult
browserSignals ข้อมูลต่างๆ ที่เบราว์เซอร์ระบุ (topWindowHostname, interestGroupOwner, renderUrl, adComponents, biddingDurationMsec, IGJoinCount, IGRecency, modelingSignals) ตั้งค่าโดยเบราว์เซอร์ ผู้ซื้อ
ผู้ขาย
generateBid scoreAd reportWin reportResult
sellerSignals สัญญาณที่ให้แก่ผู้ขายเพื่อการให้คะแนนโฆษณา ผู้ขายตั้งค่าจากเว็บไซต์ของผู้เผยแพร่โฆษณาในการกําหนดค่าการประมูล ผู้ขาย scoreAd
reportWin
reportResult
trustedScoringSignals สัญญาณแบบเรียลไทม์ที่ให้แก่ผู้ขายสำหรับการให้คะแนนโฆษณา ผู้ขายเป็นผู้ตั้งค่า URL จากเว็บไซต์ของผู้เผยแพร่โฆษณาในการกําหนดค่าการประมูล ผู้ขาย scoreAd reportResult
perBuyerSignals ข้อมูลบริบทการประมูลที่ระบุให้ผู้ซื้อบางราย ผู้ขายสามารถเรียกดูมูลค่าสำหรับผู้ซื้อได้ก่อนที่การประมูลจะเริ่มขึ้น ข้อมูลนี้เป็นความรู้ของผู้ซื้อเกี่ยวกับโอกาสในการโฆษณา ผู้ขายตั้งค่าจากเว็บไซต์ของผู้เผยแพร่โฆษณาในการกําหนดค่าการประมูล ผู้ซื้อ generateBid scoreAd reportWin reportResult
trustedBiddingSignals สัญญาณแบบเรียลไทม์ที่ให้แก่ผู้ซื้อสำหรับการเสนอราคาโฆษณา ผู้ซื้อจะตั้งค่า URL จากเว็บไซต์ของผู้ลงโฆษณาเมื่อตั้งค่ากลุ่มความสนใจ ผู้ซื้อ generateBid
userBiddingSignals ข้อมูลผู้ใช้ที่ได้จากผู้ซื้อ ผู้ซื้อตั้งค่าจากเว็บไซต์ของผู้ลงโฆษณาเมื่อตั้งค่ากลุ่มความสนใจ ผู้ซื้อ generateBid

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

ข้อมูลอื่นๆ ที่มี

  • ข้อมูลผลลัพธ์ที่เกี่ยวข้องกับข้อมูลการชนะและการแพ้การประมูล เช่น ราคาเสนอที่ชนะและเหตุผลในการปฏิเสธราคาเสนอ
  • ข้อมูลประสิทธิภาพที่มีข้อมูลเวลาในการตอบสนอง เช่น ระยะเวลาในการดึงข้อมูลและเรียกใช้เวิร์กเลตการเสนอราคา

ข้อมูลที่มีให้นอกการประมูล Protected Audience API

นอกเหนือจากการประมูลของ Protected Audience API แล้ว ข้อมูลจะพร้อมให้รายงานได้ในช่วง 2 ช่วงเวลา

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

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

การรายงานระดับเหตุการณ์

รายงานระดับเหตุการณ์จะแสดงรายละเอียดข้อมูลจากเหตุการณ์อย่างน้อย 1 รายการ เหตุการณ์อาจเป็นการชนะการประมูล การแสดงโฆษณา หรือ Conversion จนถึงปี 2026 เป็นอย่างน้อย การรายงานการชนะการประมูลระดับเหตุการณ์จะยังคงอยู่ ไม่จำเป็นต้องใช้เฟรมที่มีการกำหนดเขตเพื่อแสดงผลโฆษณากลุ่มเป้าหมายที่ได้รับการคุ้มครอง และสามารถใช้ iframe ที่มีสิทธิ์เข้าถึงเครือข่ายแบบไม่จำกัดสําหรับการรายงานระดับเหตุการณ์ นอกจากนี้ Ads Reporting API ยังพร้อมใช้งานในเฟรมที่มีการกำหนดเขตและ iframe เพื่อให้คุณเชื่อมโยงข้อมูลการประมูลและ Conversion กับข้อมูลระดับเหตุการณ์จากเฟรมได้ การดำเนินการนี้ออกแบบมาเพื่อให้ระบบนิเวศมีเส้นทางที่ง่ายขึ้นในการย้ายข้อมูล เนื่องจากคุณจะใช้โครงสร้างพื้นฐานการรายงานที่มีอยู่ได้ต่อไปอย่างน้อยจนถึงปี 2026 ขณะย้ายข้อมูลระบบไปยังกลุ่มเป้าหมายที่ได้รับการคุ้มครอง

การรายงานการชนะการประมูลระดับเหตุการณ์ด้วย sendReportTo()

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

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

// Buyer reporting worklet
function reportWin(auctionSignals, perBuyerSignals, sellerSignals, browserSignals, directFromSellerSignals) {
  sendReportTo(`https://buyer-reporting-server.example/reporting?bid=${browserSignals.bid}`);
}

ฟังก์ชัน sendReportTo() สามารถใช้เพื่อสร้างรายงาน Conversion ที่ชนะสำหรับผู้ขายเมื่อเรียกใช้จาก reportResult() และรายงาน Conversion ที่ชนะสำหรับผู้ซื้อเมื่อเรียกใช้จาก reportWin() ฟังก์ชัน sendReportTo() จะใช้งานได้จนถึงปี 2026 เป็นอย่างน้อย

รายงานการมีส่วนร่วม

รายงานการมีส่วนร่วมมีข้อมูลระดับเหตุการณ์จากครีเอทีฟโฆษณา เช่น ข้อมูลการแสดงผลหรือการคลิกที่เชื่อมโยงกับสัญญาณของการประมูล Protected Audience API ที่แสดงผลโฆษณา เนื่องจากโฆษณาจะแสดงผลหลังจากการประมูลสิ้นสุดลง สัญญาณการประมูลจึงใช้ไม่ได้ภายในเฟรมที่แสดงผลโฆษณา หากต้องการเชื่อมโยงข้อมูลเหล่านี้จากช่วงเวลาต่างๆ เรามีกลไกการเปลี่ยนผ่าน 2 รายการในการสร้างรายงานการมีส่วนร่วม

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

Ads Reporting API สําหรับเฟรมที่มีการกำหนดเขตและ iframe

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

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

ฟังก์ชัน registerAdBeacon() ใช้ได้เฉพาะในฟังก์ชันการรายงานเท่านั้น และไม่สามารถใช้ได้ในตรรกะการเสนอราคาของผู้ซื้อและตรรกะการให้คะแนนของผู้ขาย

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

// Protected Audience API buyer win reporting worklet
function reportWin(auctionSignals) {
  const { campaignId } = auctionSignals

  registerAdBeacon({
    click: `https://buyer-server.example/report/click?campaignId=${campaignId}`
  })
}
// Protected Audience API seller reporting worklet
function reportResult(auctionConfig) {
  const { campaignId } = auctionConfig.auctionSignals;

  registerAdBeacon({
    click: `https://seller-server.example/report/click?campaignId=${campaignId}`
  })
}
// Ad frame
window.fence.reportEvent({
  eventType: 'click',
  eventData: JSON.stringify({'clickX': '123', 'clickY': '456'}),
  destination:['buyer', 'seller']
});

นอกจากนี้ Fenced Frames Ads Reporting API จะพร้อมใช้งานจนถึงปี 2026 เป็นอย่างน้อยด้วยเหตุผลเดียวกับการรายงาน Conversion

ดูข้อมูลแบบเจาะลึกได้ที่คำอธิบาย

การเข้าถึงเครือข่ายแบบไม่จำกัด

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

การเข้าถึงเครือข่ายจะถูกจำกัดในอนาคต

รายงานการระบุแหล่งที่มา

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

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

กลไกการเปลี่ยนผ่าน

เมื่อลงทะเบียนบีคอนโฆษณา คุณสามารถใช้คีย์เวิร์ด reserved.top_navigation ซึ่งจะเพิ่มส่วนหัว Attribution-Reporting-Eligible ให้กับบีคอนโดยอัตโนมัติเพื่อให้มีสิทธิ์ลงทะเบียนเป็นแหล่งที่มาของการระบุแหล่งที่มา

registerAdBeacon({
 'reserved.top_navigation': 'https://adtech.example/click?buyer_event_id=123',
});

หากต้องการแนบข้อมูลระดับเหตุการณ์กับบีคอนที่คุณลงทะเบียนไว้ ให้เรียก setReportEventDataForAutomaticBeacons() จากเฟรมที่มีรั้วล้อมด้วยเพย์โหลดเหตุการณ์

window.fence.setReportEventDataForAutomaticBeacons({
  eventType: 'reserved.top_navigation',
  eventData: 'data from the frame',
  destination:['seller', 'buyer']
})

ดูข้อมูลเพิ่มเติมได้ที่ส่วนการรายงานการระบุแหล่งที่มาของคำอธิบาย Ads Reporting API

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

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

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

เวิร์กโฟลว์:

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

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

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

การรวบรวมข้อมูลกลุ่มเป้าหมายที่ได้รับการคุ้มครอง

Private Aggregation API เป็นกลไกที่ใช้รายงานข้อมูลกลุ่มเป้าหมายที่ได้รับการคุ้มครองเพื่อสร้างรายงานสรุป ซึ่งเป็นรายงานแบบรวมที่อาจมีข้อมูลรบกวนซึ่งรวบรวมจากที่เก็บข้อมูล ที่เก็บข้อมูลจะแสดงด้วยคีย์การรวม และสามารถเข้ารหัสข้อมูลบางอย่างลงในคีย์ได้

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

ดูข้อมูลเพิ่มเติมเกี่ยวกับ API ได้จากบทความการรวมข้อมูลส่วนตัว

การรวมสัญญาณการประมูล

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

ในตัวอย่างนี้ ระบบจะรวบรวมราคาเสนอที่ชนะไว้ในที่เก็บของเจ้าของกลุ่มความสนใจ

function convertBuyerToBucket(igOwner) {}
function convertWinningBidToValue(winningBid) {}

function reportResult(auctionConfig, browserSignals) {
  privateAggregation.contributeToHistogram({
    bucket: convertBuyerToBucket(browserSignals.interestGroupOwner),
    value: convertWinningBidToValue(browserSignals.bid)
  });
} 

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

การรวบรวมสัญญาณการประมูลกับข้อมูลเหตุการณ์

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

หากต้องการรวบรวมสัญญาณการประมูลตามเหตุการณ์ ให้ใช้ privateAggregation.contributeToHistogramOnEvent(eventType, contribution) ซึ่งรับสตริงที่ระบุประเภทเหตุการณ์และการมีส่วนร่วมที่จะรายงานเมื่อมีการทริกเกอร์เหตุการณ์นั้น คุณสามารถเรียกใช้เมธอดที่มีประเภทเหตุการณ์ที่กําหนดเอง จากนั้นเรียก window.fence.reportEvent(eventType) จากเฟรมโฆษณาเพื่อทริกเกอร์การส่งรายงาน

สมมติว่าคุณต้องการวัดจํานวนคลิกที่โฆษณาของแคมเปญได้รับ

// Protected Audience API worklet
function getClickReportBucketForCampaign(campaignId) {
  // return a bucket for the campaign ID and the click event
}

function generateBid(interestGroup) {
  privateAggregation.contributeToHistogramOnEvent('click', {
    bucket: getClickReportBucketForCampaign(interestGroup.ads.metadata.campaignId), 
    value: 1
  });
}

ในฟังก์ชันการสร้างราคาเสนอ คุณสามารถกําหนดกลุ่มเป็นชุดค่าผสมของรหัสแคมเปญและเหตุการณ์การคลิก จากนั้นเพิ่มค่าของกลุ่มนั้นขึ้น 1 ทุกครั้งที่ทริกเกอร์เหตุการณ์

// Ad frame
window.fence.reportEvent('click');

จากนั้นในภายหลัง คุณสามารถเรียกใช้การส่งรายงานจากเฟรมโฆษณาได้โดยเรียกใช้ reportEvent(eventType) ดังนี้

ดูข้อมูลเพิ่มเติมเกี่ยวกับการเรียกให้ใช้การมีส่วนร่วมในการรวบรวมข้อมูลส่วนตัวจากเฟรมได้จากคําอธิบาย

การรายงานผลลัพธ์และประสิทธิภาพการประมูล

นอกจากนี้ คุณยังรวบรวมผลลัพธ์การประมูลได้เมื่อทริกเกอร์โดยเหตุการณ์การชนะหรือการแพ้การประมูลด้วย contributeToHistogramOnEvent(eventType, contribution) เมื่อส่งคีย์เวิร์ดประเภทเหตุการณ์ที่สงวนไว้ (reserved.win, reserved.loss และ reserved.always)

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

เมื่อระบุค่าฐานบางอย่าง เช่น จํานวนราคาเสนอที่ชนะ คุณสามารถกําหนดจํานวนที่จะเพิ่มหรือลบออกจากค่านั้น แล้วรายงานค่าสุดท้าย เช่น หากระบุราคาเสนอที่ชนะเป็นมูลค่าฐาน 150 บาท คุณสามารถลบราคาเสนอ 60 บาทเพื่อคำนวณมูลค่าจริง 90 บาทของจำนวนเงินที่เสียไปในการประมูล

การรายงานผลลัพธ์ของการประมูล

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

หากต้องการดูจำนวนเงินที่แพ้การประมูล ให้ลบราคาเสนอของคุณออกจากราคาเสนอที่ชนะ

function generateBid() {
  const bid = calculateBidAmount();

  privateAggregation.contributeToHistogramOnEvent('reserved.loss', {
    bucket: getBucketForCampaign(interestGroup.ads.metadata.campaignId),
    value: {
      baseValue: 'winning-bid',
      scale: 1 // Scale the value to minimize noise-to-signal ratio 
      offset: -bid, // Numbers added to browser value after scaling 
    }
  });
}

เมื่อส่งรายงานแล้ว ค่าที่รายงานจริงจะเป็น baseValue ที่ปรับขนาดแล้วโดยเลื่อนตามค่า offset ดูข้อมูลเพิ่มเติมได้ที่คำอธิบาย

การรายงานประสิทธิภาพ

ผู้ซื้อและผู้ขายสามารถรายงานระยะเวลาที่ใช้ในการเรียกใช้สคริปต์ และระยะเวลาที่ใช้ในการดึงข้อมูลสัญญาณที่เชื่อถือได้ ผู้ขายสามารถรวบรวมเวลาสร้างราคาเสนอและเวลาสัญญาณการเสนอราคาที่เชื่อถือได้ของผู้ซื้อแต่ละรายได้เมื่อได้รับอนุญาต

ดูข้อมูลเพิ่มเติมได้ในคำอธิบาย

การจัดเก็บสัญญาณการประมูลในพื้นที่เก็บข้อมูลที่ใช้ร่วมกัน

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

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

จากชิ้นงาน Protected Audience API คุณสามารถเขียนคีย์และค่าลงในพื้นที่เก็บข้อมูลที่ใช้ร่วมกันได้ ดังนี้

// Protected Audience API worklet
function generateBid() {
  sharedStorage.set('test-bucket', 123);
}

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

// Shared Storage worklet
class SendReachReport{
  async run() {
    const testBucket = await this.sharedStorage.get('test-bucket');

    privateAggregation.contributeToHistogram({
      bucket: testBucket,
      value: 1
    });
  }
}

register('send-report', SendReachReport);

ดูข้อมูลเพิ่มเติมเกี่ยวกับพื้นที่เก็บข้อมูลที่ใช้ร่วมกันได้ที่ส่วนพื้นที่เก็บข้อมูลที่ใช้ร่วมกันของคู่มือนักพัฒนาซอฟต์แวร์การรายงาน Protected Audience API, คำอธิบาย, การสาธิตเวอร์ชันที่ใช้จริง และโค้ดสาธิตใน GitHub

ขั้นตอนถัดไปคือ

เราต้องการพูดคุยกับคุณเพื่อให้แน่ใจว่าเราได้สร้าง API ที่เหมาะสำหรับทุกคน

พูดคุยเกี่ยวกับ API

API นี้จะได้รับการจัดทำเอกสารและอภิปรายต่อสาธารณะเช่นเดียวกับ Privacy Sandbox API อื่นๆ

ทดลองใช้ API

คุณจะทดสอบและเข้าร่วมในการพูดคุยเกี่ยวกับ Protected Audience API ได้