تحديد عدد مرات الظهور للجمهور المحمي

تحديد عدد مرات الظهور هو ممارسة إعلانية تضع حدًا لعدد الإعلانات من فئة معيّنة التي تظهر للمستخدم خلال فترة زمنية معيّنة. تساهم ميزة تحديد عدد مرات الظهور في تحسين تجربة المستخدم النهائي من خلال الحفاظ على حداثة الإعلانات التي تظهر له وجاذبيتها، كما تساعد المعلِنين في إدارة الإنفاق على الإعلانات.

يقترح هذا المستند كيفية استخدام Protected Audience على Android لتنفيذ وظيفة تحديد عدد مرات الظهور بطريقة دقيقة ومحافِظة على الخصوصية.

تنفّذ Protected Audience ميزة تحديد عدد مرّات الظهور من خلال الجمع بين ميزتَين: التخزين على الجهاز لعدادات الأحداث الخاصة بالإعلانات، وإمكانية فلترة الإعلانات وفقًا لمجموعة محدّدة مسبقًا من استراتيجيات الفلترة. تتيح ميزة "تحديد عدد مرات الظهور" للمعلِنين تحديد حدّ عدّاد لمجموع قيم المدرّج التكراري خلال فترة زمنية معيّنة.

تكون العدادات فريدة لكل تركيبة من ملف الجهاز الشخصي وتكنولوجيا الإعلان ومفتاح العداد. يجب أن يحتوي كل إعلان على مجموعة من مفاتيح العدادات لاستخدامها في حال تسجيل مشاهدة أو مرّة ظهور للإعلان. بالنسبة إلى كل مفتاح، تخزِّن Protected Audience مجموعة من العدادات، ويحصي كل عدّاد جميع الأحداث الخاصة بالإعلانات التي تحدث خلال فترة زمنية محدّدة. يتم زيادة عدد العدادات على الجهاز عند حدوث مرّة ظهور أو مشاهدة، وسيتم الاحتفاظ ببيانات العداد على الجهاز. سيتم تحديد وقت الثبات الدقيق لاحقًا.

تتضمّن منطق فلترة الإعلانات في سير عمل اختيار الإعلانات في Protected Audience إمكانية الوصول إلى العدادات وإعلانات تجديد النشاط التسويقي والإعلانات السياقية، ما يمنح ميزة "الحدّ الأقصى لعدد مرّات الظهور" في Protected Audience القدرة على العمل مع جميع أنواع طلبات الإعلانات هذه.

ملاحظة: لا تتوفّر فلترة الإعلانات إلا في "مبادرة خصوصية الحماية" على Android. لا يتضمّن تنفيذ Protected Audience في Chrome آلية لفلترة الإعلانات غير التابعة لـ Protected Audience والمستهدِفة سياقيًا. ويشمل هذا الاقتراح دعمًا لجانب الشراء فقط. إذا كان هناك طلب، سنضيف ميزة دعم جانب البيع في وقت لاحق.

يتوافق تحديد عدد مرّات الظهور في Protected Audience مع مجموعة كبيرة من المتطلبات، بما في ذلك:

  • فلترة في الوقت الفعلي مع تأخير بسيط على جهة الخادم عند تعديل العدادات على الجهاز
  • تدرّج هرمي مرن للمفاتيح، بما في ذلك الإعلانات الفردية أو الحملات أو أي تجميع آخر
  • التوافق مع طرق تحديد عدد مرات الظهور الأخرى بدون الاعتماد على معرّف المعلِن
  • يعمل على جميع التطبيقات في ملف مستخدم جهاز معيّن.
  • عدادات دقيقة وكاملة
  • إتاحة تعريفات مخصّصة لأحداث الإعلانات، مثل المشاهدات أو مرّات الظهور
  • وظيفة واحدة لكلّ من تجديد النشاط التسويقي والإعلانات السياقية

لإعداد تحديد عدد مرّات الظهور، اتّبِع الخطوات التالية:

الخطوة 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) إلى زيادة العدادات للمفاتيح الأساسية الثلاثة التالية:

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

يتم استخراج اسم تكنولوجيا الإعلان من حقل "المشتري"، إما من الإعلانات السياقية أو من شرائح الجمهور المخصّصة، وذلك حسب مصدر الإعلانات الفائزة.

تزيد Protected Audience API على 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.

بالنسبة إلى إعلانات تجديد النشاط التسويقي التي تتضمّن فلاتر لعدد مرّات الظهور، يتم فلترة الإعلانات قبل استدعاء دالة JavaScript generateBid() التي يقدّمها المعلِن.

يعرض المثال التالي رسالة تتضمّن فلترة الحدّ الأقصى لعدد مرات الظهور:

{
  '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 التي تتيح إعداد التقارير على مستوى الحدث. في الإصدار التجريبي الأول، تتيح هذه الطريقة إعداد التقارير عن إعلانات تجديد النشاط التسويقي، وسيتم توسيع نطاقها لتتيح إعداد التقارير عن الإعلانات السياقية في إصدار لاحق. بالنسبة إلى الإعلانات السياقية، على المشتري تحديد المكان الذي يمكن استرداد الدالة reportWin منه أثناء طلب reportImpression، وذلك باستخدام حقل إضافي يُسمى reportingJS في بنية الإعلان، كما هو موضّح في المثال السابق.

أفضل الممارسات لاختيار الإعلانات المرشّحة

تنقل Protected Audience عملية فرض الحدّ الأقصى لعدد مرّات الظهور من الخادم إلى الجهاز. على الرغم من أنّه يتم إعداد تقارير عن عروض الأسعار الفائزة باستخدام "مبادرة حماية الخصوصية"، لن يعرف المطوّرون سبب عدم عرض الإعلان. قد لا يتم عرض الإعلانات بسبب عدم الفوز بالمزاد أو بسبب تحديد عدد مرات الظهور. وبما أنّه لا يمكن الاطّلاع بشكل كامل على أسباب عدم فوز إعلانات معيّنة، تتطلّب أنظمة عروض الأسعار عملاً إضافيًا للتأكّد من عرض الإعلانات المثالية. ستساعد أفضل الممارسات هذه في التحقّق من عرض الإعلانات على النحو الأمثل باستخدام Protected Audience.

إرسال عدد كافٍ من إعلانات تجديد النشاط التسويقي

لا يمكن تحسين إعلانات تجديد النشاط التسويقي لكل مستخدم. إذا رأى المستخدم عددًا كبيرًا من الإعلانات من شريحة جمهور مخصّصة وكانت حدود الإعلانات منخفضة، قد تتم فلترة جميع الإعلانات. يتم تجديد إعلانات تجديد النشاط التسويقي بشكلٍ دوري، لذا يجب أن يمرّ عدد كافٍ من مستودع الإعلانات عبر ميزة "الحدّ الأقصى لعدد مرّات الظهور" للتأكّد من استمرار عرض إعلانات تجديد النشاط التسويقي. يجب تحقيق التوازن بين ذلك وبين القيود المفروضة على حجم الإعلانات التي يمكن تحديدها أثناء طلب joinCustomAudience وأثناء التعديل اليومي لشرائح الجمهور المخصّصة. على المشترين مراعاة أنّه قد يحدث ارتفاع في وقت الاستجابة خلال مرحلة تقديم عروض الأسعار. للحدّ من تأثير هذه المشاكل، يتم إجراء فلترة الحدّ الأقصى لعدد مرات الظهور قبل طلب generateBid.

الاحتفاظ بالعدادات السياقية على الخادم

باستخدام التقدير من جهة الخادم، يمكن للمطوّر الحصول على تقديرات تقريبية بشأن الوقت الذي قد يكون فيه الحدّ الأقصى لعدد مرّات الظهور نشطًا. ويمكن أن تشير هذه التقديرات إلى أنّ الإعلان قد بلغ على الأرجح الحدّ الأقصى لعدد مرات الظهور، وبالتالي يجب إرساله مع المزيد من الإعلانات المرشّحة أو إزالته تمامًا.

إرسال عدّة مرشّحين للإعلانات في الردّ السياقي

يجب إرسال عدّة إعلانات مرشّحة مع ردّ سياقي قبل إجراء مزاد Protected Audience. يؤكّد ذلك أنّه في حال تم استبعاد عدّة إعلانات، سيستمر عرض الإعلانات الأخرى. يمكن منح الأولوية للإعلانات المرشّحة حتى يتم تقديم بعض الإعلانات كنسخة احتياطية.

بما أنّ التنفيذ مرتبط بمهلة زمنية، يجب اختيار الإعلانات المرشّحة وفقًا لاحتمالية فوزها بمزاد وعدم استبعادها.

القيود

في ما يلي القيود المعروفة لتحديد عدد مرّات الظهور في Protected Audience:

  1. تعمل ميزة تحديد عدد مرات الظهور في Protected Audience على مستوى ملف تعريف مستخدم الجهاز، بدون عدّادات مشتركة على الأجهزة الأخرى وملفات التعريف الأخرى. يجب دمج أي زيادات في عدد الإعلانات المعروضة من أجهزة أخرى يدويًا، إذا لزم الأمر.
  2. يتم تخزين عدّادات الجهاز والوصول إليها على الجهاز. يجب إدارة العدادات من جهة الخادم بشكل منفصل.
  3. بما أنّ عملية تحديد عدد مرات الظهور وفلترة الإعلانات ذات الصلة تتم على الجهاز، لا تملك منصات تكنولوجيا الإعلان تحكّمًا مباشرًا في هذه العمليات. لتجاوز الحدّ الأقصى لعدد مرات الظهور الذي يفرضه الجهاز، يمكن لمنصّات تكنولوجيا الإعلان إرسال عدّة إعلانات مرشّحة تتضمّن فلاتر مختلفة.
  4. لا تتوفّر تعديلات عروض الأسعار المستندة إلى عدد مرات الظهور المسجّلة. لا يمكن لدوال generateBid عرض عدّادات معدّل التكرار.