คู่มือการทดสอบและการผสานรวม Protected Audience (เดิมเรียกว่า FLEDGE) สำหรับ SSP

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

SSP สามารถทดสอบ Protected Audience API กับ Display และ Video 360 และ Google Ads เพื่อทำสิ่งต่อไปนี้

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

คำแนะนำต่อไปนี้จะอธิบายรายละเอียดการผสานรวมระหว่าง SSP กับ Display & Video 360 และ Google Ads SSP ที่สนใจประสานงานการทดสอบควรเข้าร่วม ติดต่อดิสเพลย์และ ตัวแทนพาร์ทเนอร์ Video 360

การลงทะเบียน

SSP ควรลงทะเบียน ตนเองเพื่อ ใช้ Protected Audience API

สรุปโฟลว์การแสดง

แผนภาพต่อไปนี้แสดงขั้นตอนการทำงานทั่วไปที่อธิบายประเด็นการโต้ตอบหลักระหว่าง Chrome, SSP, Display และ Video 360 และ Google Ads

แผนภาพลำดับแสดงคำขอระหว่าง Chrome, SSP และ
DSP

ตัวเลือกการผสานรวม

ตัวเลือกที่ 1: ผู้ขายโดยตรง / ผู้ขายรายเดียว

ขั้นตอนคำขอโดยละเอียดสำหรับผู้ขายรายเดียว
การประมูล

ขั้นตอน

  1. แท็กโฆษณา SSP จะส่งคำขอโฆษณาไปยังเซิร์ฟเวอร์ SSP โดยระบุว่าเบราว์เซอร์ รองรับ Protected Audience API
  2. เซิร์ฟเวอร์ SSP ส่งคำขอราคาเสนอ OpenRTB ตามบริบทไปยัง DSP ซึ่งระบุว่า เบราว์เซอร์รองรับ Protected Audience API
  3. DSP ตอบสนองด้วยการเสนอราคาตอบ OpenRTB ที่มีสัญญาณสำหรับ การประมูลในอุปกรณ์
  4. เซิร์ฟเวอร์ SSP จะส่งการตอบกลับโฆษณาที่มีการกำหนดค่าการประมูลไปยังแท็กโฆษณา SSP
  5. แท็กโฆษณา SSP เริ่มการประมูลในอุปกรณ์โดยการเรียกใช้ runAdAuction() ที่ส่งผ่านสัญญาณจากการเสนอราคาตอบ OpenRTB ของ DSP ผ่าน perBuyerSignals
  6. Chrome เรียกใช้เซิร์ฟเวอร์การเสนอราคาคีย์/ค่า DSP ที่เชื่อถือได้ เพื่อดึงสัญญาณการเสนอราคาแบบเรียลไทม์
  7. การโทรผ่าน Chrome generateBid() ฟังก์ชัน DSP JavaScript สำหรับกลุ่มความสนใจที่เข้าร่วมแต่ละกลุ่ม
  8. Chrome เรียกใช้เซิร์ฟเวอร์การให้คะแนนคีย์/ค่า SSP ที่เชื่อถือได้ เพื่อดึงสัญญาณการให้คะแนนแบบเรียลไทม์
  9. การโทรผ่าน Chrome scoreAd() SSP JavaScript สำหรับกลุ่มความสนใจที่เข้าร่วมแต่ละกลุ่ม
  10. การโทรผ่าน Chrome reportWin() ฟังก์ชัน DSP JavaScript เพื่อรายงานผู้ชนะไปยัง DSP
  11. การโทรผ่าน Chrome reportResult() SSP JavaScript เพื่อรายงานผู้ชนะไปยัง SSP

การเปลี่ยนแปลงขั้นต่ำในฝั่ง SSP

  • ต้องอัปเดตแท็กโฆษณา SSP เป็น

    • ตรวจหาว่าเบราว์เซอร์รองรับ Protected Audience API หรือไม่
    • ส่งข้อมูลนั้นเป็นส่วนหนึ่งของคำขอโฆษณาไปยังเซิร์ฟเวอร์ SSP [1]
    • เริ่มการประมูลในอุปกรณ์โดยเรียกใช้การส่ง runAdAuction() ใน สัญญาณจากการเสนอราคาตอบ OpenRTB [5] ของ DSP (ดูช่องข้อมูลผู้ซื้อใน คำขอราคาเสนอและการเสนอราคาตอบด้านล่าง)
  • เซิร์ฟเวอร์ SSP จำเป็นต้อง

    • เผยแพร่ข้อมูลเกี่ยวกับการรองรับ Protected Audience API ไปยัง DSP ผ่านช่องในคำขอราคาเสนอ OpenRTB [2] (ดูส่วนราคาเสนอ โครงสร้างคำขอและการตอบกลับด้านล่าง)
    • เผยแพร่สัญญาณของผู้ซื้อ DSP ในการเสนอราคาตอบ OpenRTB ไปยังโฆษณา SSP (ดูส่วนเกี่ยวกับคำขอราคาเสนอ / โครงสร้างการเสนอราคาตอบด้านล่าง) [4]
  • [Optional] SSP ต้องใช้เซิร์ฟเวอร์ SSP ที่เชื่อถือได้เพื่อดึงข้อมูลแบบเรียลไทม์ สัญญาณการให้คะแนนเพื่อสนับสนุนการตรวจสอบคุณภาพโฆษณา การบังคับใช้การตั้งค่าของผู้เผยแพร่โฆษณา วันที่ [8]

  • SSP ต้องติดตั้งใช้งาน JavaScript ด้วย "scoreAd(...)" และ "reportResult(...)" ฟังก์ชัน [9], [11]

ตัวเลือกที่ 2: ผู้ขายหลายราย

ขั้นตอนการส่งคำขอโดยละเอียดสำหรับการประมูลผู้ขายหลายราย

ขั้นตอน

  1. อะแดปเตอร์ SSP จะส่งคำขอโฆษณาไปยังเซิร์ฟเวอร์ SSP โดยระบุว่าเบราว์เซอร์ รองรับ Protected Audience API
  2. เซิร์ฟเวอร์ SSP ส่งคำขอราคาเสนอ OpenRTB ตามบริบทไปยัง DSP ซึ่งระบุว่า เบราว์เซอร์รองรับ Protected Audience API
  3. เซิร์ฟเวอร์ DSP ตอบสนองด้วยการเสนอราคาตอบ OpenRTB ที่มีสัญญาณสำหรับ การประมูลในอุปกรณ์
  4. เซิร์ฟเวอร์ SSP จะส่งการตอบกลับโฆษณาที่มีการกำหนดค่าการประมูลไปยังแท็กโฆษณา SSP
  5. อะแดปเตอร์ SSP Prebid จะมีการกำหนดค่าการประมูลคอมโพเนนต์ให้กับเซิร์ฟเวอร์โฆษณาของผู้เผยแพร่โฆษณา แท็ก
  6. แท็กเซิร์ฟเวอร์โฆษณาของผู้เผยแพร่โฆษณาจะส่งคำขอโฆษณาไปยังเซิร์ฟเวอร์โฆษณาของผู้เผยแพร่โฆษณา
  7. แท็กโฆษณาของผู้เผยแพร่โฆษณาเริ่มการประมูลในอุปกรณ์โดยการเรียกใช้ runAdAuction(...) API
  8. Chrome เรียกใช้เซิร์ฟเวอร์การเสนอราคาคีย์/ค่า DSP ที่เชื่อถือได้ เพื่อดึงสัญญาณการเสนอราคาแบบเรียลไทม์
  9. การโทรผ่าน Chrome generateBid() ฟังก์ชัน JavaScript ของ DSP สำหรับกลุ่มความสนใจที่เข้าร่วมแต่ละกลุ่ม
  10. Chrome เรียกใช้เซิร์ฟเวอร์การให้คะแนนคีย์/ค่า SSP ที่เชื่อถือได้ เพื่อดึงสัญญาณการให้คะแนนแบบเรียลไทม์
  11. การโทรผ่าน Chrome scoreAd() SSP JavaScript สำหรับกลุ่มความสนใจที่เข้าร่วมแต่ละกลุ่ม
  12. การโทรผ่าน Chrome reportWin() ฟังก์ชัน DSP JavaScript เพื่อรายงานผู้ชนะไปยัง DSP
  13. การโทรผ่าน Chrome reportResult() SSP JavaScript เพื่อรายงานผู้ชนะไปยัง SSP

การเปลี่ยนแปลงขั้นต่ำในฝั่ง SSP

  • ต้องอัปเดตอะแดปเตอร์ SSP เป็น

    • ตรวจหาว่าเบราว์เซอร์รองรับ Protected Audience หรือไม่
    • ส่งข้อมูลนั้นเป็นส่วนหนึ่งของคำขอโฆษณาไปยังเซิร์ฟเวอร์ SSP [1]
    • ให้การกำหนดค่าการประมูลคอมโพเนนต์ให้กับแท็กโฆษณาของเซิร์ฟเวอร์โฆษณาของผู้เผยแพร่โฆษณา [5]
    • หาก Google Ad Manager เป็นเซิร์ฟเวอร์โฆษณาของผู้เผยแพร่โฆษณา SSP สามารถดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้ * ใช้ Protected Audience ของ Prebid โมดูล * เรียก แท็กโฆษณา setConfig() ของ Google Ad Manager API พร้อมกับ หลายค่า ผู้ขาย
  • เซิร์ฟเวอร์ SSP จำเป็นต้อง

    • เผยแพร่ข้อมูลเกี่ยวกับการรองรับ Protected Audience ไปยัง DSP โดยใช้ ช่องในคำขอราคาเสนอ OpenRTB [2] (ดูส่วนราคาเสนอ โครงสร้างคำขอและการตอบกลับด้านล่าง)
    • เผยแพร่สัญญาณของผู้ซื้อ DSP ในการเสนอราคาตอบ OpenRTB ไปยังโฆษณา SSP (ดูส่วนเกี่ยวกับคำขอราคาเสนอ / โครงสร้างการเสนอราคาตอบด้านล่าง) [4]
  • [Optional] SSP ต้องใช้เซิร์ฟเวอร์ SSP ที่เชื่อถือได้เพื่อดึงข้อมูลแบบเรียลไทม์ สัญญาณการให้คะแนนเพื่อสนับสนุนการตรวจสอบคุณภาพโฆษณา การบังคับใช้การตั้งค่าของผู้เผยแพร่โฆษณา วันที่ [10]

  • SSP จำเป็นต้องแสดง JavaScript ด้วย scoreAd() และ reportResult() ฟังก์ชัน [11], [14]

บริการเสนอราคาและประมูล

เรากำลังประเมินการเสนอราคาและ บริการประมูล (B&A) proposal

เมื่อแสดงและ Video 360 พร้อมทดสอบ Protected Audience API กับ B&A แล้ว เราจะติดต่อกลับไปพร้อมรายละเอียดเพิ่มเติม

โปรโตคอล OpenRTB

คำขอราคาเสนอ

เพื่อแยกความแตกต่างระหว่างโอกาสในการแสดงผลที่รองรับ Protected การประมูลในอุปกรณ์ Audience API จากการประมูลที่รองรับเฉพาะเวอร์ชันมาตรฐาน การประมูลแลกเปลี่ยนฝั่งเซิร์ฟเวอร์ ซึ่งเป็นฟิลด์ enum ใหม่ที่ชื่อ ae สำหรับ "auction สภาพแวดล้อม" ควรเพิ่มเป็นส่วนขยายไปยังออบเจ็กต์ Imp ใน OpenRTB คำขอราคาเสนอเพื่อระบุว่าสภาพแวดล้อมการเสนอราคารองรับสภาพแวดล้อมใด ทั้งหมด enum ae อาจมีค่าต่อไปนี้

  • 0: การประมูลฝั่งเซิร์ฟเวอร์แบบมาตรฐาน
  • 1: คำขอที่มีการรองรับ Protected Audience API ซึ่งในบริบท การประมูลจะทำงานบนเซิร์ฟเวอร์ของ Exchange และการเสนอราคาของกลุ่มความสนใจ การประมูลสุดท้ายจะทำงานในเบราว์เซอร์
{
  "id": 
  "imp": [{
    "id": "1"
    "video": {...}
    "ext": {
      "ae": 1
    }]
}

การเสนอราคาตอบ

นอกจากราคาเสนอตามบริบทแล้ว การเสนอราคาตอบยังใช้เพื่อส่งผ่าน ข้อมูลที่เกี่ยวข้องกับดิสเพลย์และ Video 360 และ Google Ads ที่เข้าร่วมใน การประมูลตามกลุ่มความสนใจสำหรับ Protected Audience API อัปเดตการเสนอราคาตอบเป็น รองรับการประมูลตามกลุ่มความสนใจ ดังนี้

{
  "seatbid": [{
    "bid": [{
       // Traditional contextual bids
    }]
  }],

  "ext": {
    // InterestGroupBidding object which holds information for running an
    // in-browser interest group auction.
    "igbid": [{
      // ID of the Imp object of the impression to which
      // these interest group bidding signals apply to.
      "impid": "1",

      // InterestGroupBuyer object which holds DSP information for the in-browser
      // auction.
      "igbuyer": [{
        // Origin of Display & Video 360 and Google Ads to participate in the
        // interest group auction. For more info regarding the origin see:
        // https://developer.mozilla.org/en-US/docs/Glossary/Origin
        "origin": "https://td.doubleclick.net",

        // Buyer-specific signals to use in auctionConfig as perBuyerSignals.
        // Used by the buyer's interest group bidding function. Can be left empty
        "buyerdata": ...,

        // Buyer experiment group id to support coordinated experiments with
        // buyers' trusted servers. This experiment id should be added to the
        // `perBuyerExperimentGroupIds` map in auctionConfig.
        "buyer_experiment_group_id": 12345
      }]
    }]
  }
}

ระบบรองรับสถานการณ์ต่อไปนี้

  • สถานการณ์ที่ 1: ดิสเพลย์และ Video 360 และ Google Ads ต้องการเข้าร่วมเท่านั้น ในการประมูลตามบริบท ในสถานการณ์นี้ไม่มีช่อง Igbid

  • สถานการณ์ที่ 2: ดิสเพลย์และ Video 360 และ Google Ads ต้องการเข้าร่วมเท่านั้น ในการประมูลตามกลุ่มความสนใจ ในสถานการณ์นี้ แสดงและ Video 360 และ Google Ads จะข้ามฟิลด์การเสนอราคาอัตโนมัติในการเสนอราคาตอบ และจะ แสดงผลข้อมูล Igbid กล่าวอีกนัยหนึ่งคือ การมีช่อง "Igbid ปัจจุบันหมายถึง" ข้อเท็จจริงที่ว่าดิสเพลย์และ Video 360 และ Google Ads ต้องการกลุ่มความสนใจ เพื่อเข้าร่วมการประมูลในอุปกรณ์

  • สถานการณ์ที่ 3: ดิสเพลย์และ Video 360 และ Google Ads ต้องการเข้าร่วม ทั้งการประมูลตามบริบทและการประมูลของกลุ่มความสนใจ ในสถานการณ์นี้ แสดงและ Video 360 และ Google Ads จะแสดงผลช่อง Seatbid ทั้ง 2 ช่องในการเสนอราคาตอบ และข้อมูลเท็จ

ข้อมูลเมตาที่มีการเสนอราคาโฆษณา

Protected Audience API อนุญาตให้ passing arbitrary metadata เกี่ยวกับโฆษณาจากฟังก์ชัน generateBid()

ดิสเพลย์และ Video 360 กำลังวางแผนจะใช้สิ่งต่อไปนี้ specification สําหรับข้อมูลเมตาของโฆษณา ได้แก่ Protected Audience API และ OpenRTB

ได้แก่ ดิสเพลย์และ Video 360 จะแสดงช่องต่อไปนี้เป็นส่วนหนึ่งของโฆษณา ออบเจ็กต์:

แอตทริบิวต์ PA ประเภท คำอธิบาย OpenRTB
ad.seat String; ต้องระบุ รหัสของที่นั่งของผู้ซื้อ (เช่น ผู้ลงโฆษณา เอเจนซี) ที่เสนอราคานี้ในนามของใคร
ad.adomain String[] โดเมนผู้ลงโฆษณาสำหรับการตรวจสอบรายการบล็อก (เช่น "ford.com") โดยอาจเป็นอาร์เรย์ของกรณีการหมุนเวียนโฆษณา Exchange สามารถบังคับให้มีโดเมนได้เพียง 1 โดเมนเท่านั้น
ad.cid สตริง รหัสแคมเปญเพื่อช่วยในการตรวจสอบคุณภาพโฆษณา
ad.crid สตริง รหัสโฆษณาเพื่อช่วยในการตรวจสอบคุณภาพโฆษณา
ad.language สตริง ภาษาของโฆษณาที่ใช้ ISO-639-1-alpha-2 รหัสที่ไม่ใช่แบบมาตรฐาน "xx" อาจใช้ในกรณีที่ครีเอทีฟโฆษณาไม่มีเนื้อหาภาษา (เช่น แบนเนอร์ที่มีเพียงโลโก้บริษัท) ต้องมีภาษาใดภาษาหนึ่งหรือหลายภาษาเท่านั้น
ad.w จำนวนเต็ม ความกว้างของครีเอทีฟโฆษณาในพิกเซลที่ไม่ขึ้นอยู่กับอุปกรณ์ (DIPS)
ad.h จำนวนเต็ม ความสูงของครีเอทีฟโฆษณาในพิกเซลที่ไม่ขึ้นอยู่กับอุปกรณ์ (DIPS)

ตัวอย่าง

{
  "seat": "123"
  "adomain": ["example.com"]
  "cid": "12345"
  "crid": "12345"
  "language": "en"
  "w": 300
  "h": 250
}

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

Protected Audience API มี Reporting API ระดับเหตุการณ์ตามที่อธิบายไว้ใน โพสต์ GitHub: Fenced Frame Ads Reporting แม้ชื่อจะแสดงว่า Fenced Frame Ads Reporting API พร้อมให้ใช้งานใน ทั้งเฟรมที่มีการปิดกั้นและ iframe (ดูรายละเอียด here)

SSP สามารถลงทะเบียน URL กับเบราว์เซอร์ในฟังก์ชัน reportผลลัพธ์ ได้โดย กำลังโทรหา registerAdBeacon() API

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

โปรดทราบว่าดิสเพลย์และ Video 360 จะเรียกใช้ reportEvent() API สำหรับการแสดงผลและ คลิกที่มีข้อมูลโพสต์ที่ว่างเปล่า

ตัวอย่าง

registerAdBeacon({
 'impression': 'https://ssp.example/impression?ssp_event_id=abc',
});
registerAdBeacon({
 'click': 'https://ssp.example/click?ssp_event_id=abc',
});

ดิสเพลย์และ Video 360 จะเข้าร่วมใน Chrome-facilitated testing ของ การเลิกใช้งานคุกกี้ของบุคคลที่สาม เราขอให้พาร์ทเนอร์ทำการทดสอบ ส่งป้ายกำกับ Chrome ในคำขอราคาเสนอ OpenRTB ตามเกณฑ์ต่อไปนี้ specification:

ออบเจ็กต์: Device.ext

แอตทริบิวต์ ประเภท คำอธิบาย
Cdep สตริง ป้ายกำกับที่ได้รับจาก Chrome หรือพาร์ทเนอร์ต้นทาง