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

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

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

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

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

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

หมายเหตุ: การกรองโฆษณาใช้ได้เฉพาะใน Privacy Sandbox บน Android เท่านั้น การติดตั้งใช้งาน Protected Audience ของ Chrome ไม่ได้ใช้กลไกในการกรองโฆษณาที่ไม่ใช่ Protected Audience ที่กำหนดเป้าหมายตามบริบท ข้อเสนอนี้ครอบคลุมเฉพาะการสนับสนุนฝั่งซื้อ หากมีความต้องการ เราจะเพิ่มการรองรับฝั่งผู้ขาย ในภายหลัง

การกำหนดความถี่สูงสุดของ Protected Audience รองรับข้อกำหนดที่หลากหลาย ซึ่งรวมถึงข้อกำหนดต่อไปนี้

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

หากต้องการตั้งค่าการกำหนดความถี่สูงสุด ให้ทำตามขั้นตอนต่อไปนี้

ขั้นตอนที่ 1: เพิ่มข้อมูลการกำหนดความถี่สูงสุดลงในโฆษณา

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

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

'adsData': [
  {
    "buyer": "ads.example.com",
    "ads": [
      {
        'render_url': 'exampleUrl',
        'metadata': {...},   /* metadata are opaque to Protected Audience are
                                required to be in valid JSON format */
        'ad_counter_keys': [1234, 5678]
      }]
  }]
}

ขั้นตอนที่ 2: ลงทะเบียนการดูหรือการแสดงผล

เทคโนโลยีโฆษณาสามารถเรียกใช้เมธอด updateAdCounterHistogram เพื่อลงทะเบียน เหตุการณ์ที่ใช้สำหรับการกำหนดความถี่สูงสุด เรียกใช้เมธอดซ้ำๆ ในเหตุการณ์เดียวกันสำหรับคีย์ที่ระบุในeventTypeของโฆษณาที่ชนะได้

void updateAdCounterHistogram(@EventType eventType, long adSelectionId)

อินพุต:

  • eventType: ระบุว่าระบบนับเหตุการณ์เป็นการดู การแสดงผล การคลิก หรือการชนะในกระบวนการเลือกโฆษณา
  • adSelectionId: ค่ารหัสในออบเจ็กต์ AdSelectionOutcome ที่การเรียกใช้ selectAds แสดงผล

การเรียก updateAdCounterHistogram จะอัปเดตฮิสโทแกรมสำหรับชุดคีย์ ที่กำหนดเป็นส่วนหนึ่งของโฆษณารีมาร์เก็ตติ้งที่ดึงข้อมูลโดย CustomAudience หรือ โฆษณาตามบริบทที่รวมอยู่ในพารามิเตอร์ AdSelectionConfig สำหรับ selectAds

หากคุณสมมติว่าโฆษณาในขั้นตอนที่ 1 เป็นผู้ชนะของ AdSelection ที่มีค่า id เป็น 9999 การเรียกไปยัง updateAdCounterHistogram(FrequencyCapFilters.AD_EVENT_TYPE_VIEW, adSelectionId: 999) จะเพิ่มตัวนับสำหรับคีย์หลัก 3 รายการต่อไปนี้

  • {'ads.example.com', 1234, VIEW}
  • {'ads.example.com', 5678, VIEW}

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

Protected Audience สำหรับ Android จะเพิ่มตัวนับทั้งหมดโดยอัตโนมัติ ที่กล่าวถึงก่อนหน้านี้สำหรับประเภทเหตุการณ์ FrequencyCapFilters.AD_EVENT_TYPE_WIN สำหรับ โฆษณาที่แสดงผลโดยการเรียกใช้ selectAds API ซึ่งเทียบเท่ากับการ เพิ่มอาร์กิวเมนต์ prev_wins ลงใน browser_signals ใน generateBid ใน การติดตั้งใช้งาน Protected Audience ของ Chrome

ขั้นตอนที่ 3: กรองความถี่สูงสุดด้วยตัวกรอง

ฟังก์ชันการกรองความถี่สูงสุดจะดำเนินการภายใน AdServicesเพื่อให้ได้ประสิทธิภาพสูงสุด Protected Audience จะเข้าใจว่าต้องกรองข้อความหรือไม่โดย การอ่านฟิลด์ตัวกรองในออบเจ็กต์ AdsData รายการตัวกรองจะ ระบุไว้ใน frequency_cap ระบบจะใช้ค่าสำหรับคีย์ event_type และ interval_in_seconds เพื่อดึงข้อมูลฮิสโทแกรมของเหตุการณ์ที่ใช้ สำหรับการกรองและ Protected Audience

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

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

สําหรับโฆษณารีมาร์เก็ตติ้งที่มีตัวกรองความถี่สูงสุด ระบบจะกรองโฆษณาก่อนที่จะเรียกใช้generateBid()ฟังก์ชัน JavaScript ที่ผู้ซื้อระบุ

ตัวอย่างต่อไปนี้แสดงข้อความที่มีการกรองความถี่สูงสุด

{
  'render_url': 'url',
  'metadata': {...},   /* metadata are opaque to Protected Audience and assumed
                        to be in valid JSON format */

  'ad_counter_keys': [1234, 5678],

  "filters": {
    "frequency_cap": {
      "view": [
        {
          "ad_counter_key": 1234
          "max_count": 10,
          "interval_in_seconds": 86400
        },
        {
          "ad_counter_key": 5678
          "max_count": 10,
          "interval_in_seconds": 86400
        },
      ],
      "win": [
        {
          "ad_counter_key": 1234
          "max_count": 5,
          "interval_in_seconds": 604800
        },
        {
          "ad_counter_key": 5678
          "max_count": 5,
          "interval_in_seconds": 345600
        },
      ]
    },

  // This field is only required in contextual ads and is used in
  // reportImpression calls to fetch the reportWin function.
  'reportingJS': "https://ads.example.com?reportWin.js"
}

ขั้นตอนที่ 4: รายงานเกี่ยวกับโฆษณาที่ชนะ

เมื่อกระบวนการเลือกโฆษณาเสร็จสมบูรณ์แล้ว ระบบจะแสดงผลAdSelectionOutcome ออบเจ็กต์ที่มี renderUri และ adSelectionId ซึ่งเป็นตัวระบุตัวเลขสำหรับ การเรียก selectAds คุณสามารถใช้รหัสนี้เพื่อเรียกใช้ reportImpression API ที่รองรับการรายงานระดับเหตุการณ์ ในเบต้า 1 วิธีนี้รองรับ การรายงานสําหรับโฆษณารีมาร์เก็ตติ้ง และจะขยายการรองรับการรายงานสําหรับ โฆษณาตามบริบทในรุ่นต่อๆ ไป สําหรับโฆษณาตามบริบท ผู้ซื้อจะต้อง ระบุตําแหน่งที่สามารถเรียกใช้reportWinฟังก์ชันระหว่างการเรียกreportImpression ได้โดยใช้ฟิลด์เพิ่มเติมที่ชื่อ reportingJS ในโครงสร้างโฆษณา ตามที่แสดงในตัวอย่างก่อนหน้า

แนวทางปฏิบัติแนะนำในการเลือกโฆษณาที่เหมาะสม

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

ส่งโฆษณารีมาร์เก็ตติ้งให้เพียงพอ

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

เก็บตัวนับตามบริบทไว้ในเซิร์ฟเวอร์

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

ส่งโฆษณาหลายรายการที่อาจเป็นไปได้ในคำตอบเชิงบริบท

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

เนื่องจากการดำเนินการมีกรอบเวลาที่จำกัด จึงควรเลือกโฆษณาที่เหมาะสมตาม โอกาสที่จะชนะการประมูลและไม่ถูกกรองออก

ข้อจำกัด

ข้อจำกัดที่ทราบของการจำกัดความถี่สูงสุดของ Protected Audience มีดังนี้

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