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

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

ข้อเสนอนี้จะแนะนําวิธีใช้ 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 จะดูตัวนับความถี่ไม่ได้