قياس بيانات المزاد والنتائج في Protected Audience API
في هذه المقالة، ستعثر على نظرة عامة على مستوى عالٍ حول الآليات المختلفة المتاحة لك للإبلاغ عن بيانات مزاد Protected Audience API إلى خادمك، بالإضافة إلى آليات النقل المتاحة الآن لاستخدامها أثناء نقل البيانات إلى أن تصبح الحلول البديلة جاهزة.
لإعداد تقارير عن المقاييس المهمة التي تجمعها من مزاد إعلاني، تعمل Protected Audience API مع:
- التجميع الخاص الذي يجمع إشارات المزاد ونتائجه لإنشاء تقارير تلخيصية
- Ads Reporting API لـ Fenced Frames وiframes، وهي قناة داخل الإطارات للتواصل مع وحدات عمل Protected Audience API تسمح واجهة برمجة التطبيقات بربط البيانات على مستوى الحدث بإشارات المزاد. إنّ إعداد التقارير على مستوى الحدث في Ads Reporting API هو آلية انتقالية إلى أن يتم تصميم آلية إعداد تقارير أكثر خصوصية.
- تقارير تحديد المصدر التي تتيح لك ربط بيانات الإحالات الناجحة بإشارات المزاد
- مساحة التخزين المشتركة التي تتيح لك كتابة إشارات المزاد في مساحة تخزين من مصادر متعددة، ثمّ تتيح لك الإبلاغ عن هذه البيانات لاحقًا باستخدام ميزة "التجميع الخاص"
نظرة عامة على إعداد تقارير Protected Audience API

هناك ثلاث فترات زمنية رئيسية يمكن فيها الإبلاغ عن البيانات الواردة من مسار مزاد Protected Audience API إلى خادمك: وقت المزاد عند تنفيذ المزاد من موقع الناشر الإلكتروني، ووقت العرض عند عرض الإعلان في إطار محدود أو إطار iframe على موقع الناشر الإلكتروني، ووقت الإحالة الناجحة عندما يتّخذ المستخدِم إجراءً على موقع إلكتروني آخر يمكن أن يُنسَب إلى المزاد.
خلال وقت المزاد، يمكنك إعداد تقارير عن بيانات المزاد باستخدام وحدات عمل إعداد التقارير. أثناء عرض الإعلان، يمكنك إعداد تقارير عن بيانات التفاعل من إطار iframe أو إطار محدود. خلال وقت الإحالة الناجحة، يمكنك إعداد تقارير عن بيانات تحديد المصدر من الصفحة المقصودة باستخدام Attribution Reporting API.
الإبلاغ عن المواقع الجغرافية
ضمن مزاد معيّن، يمكن للمشترين الإبلاغ عن الإشارات المتوفّرة في عمليتَي generateBid()
وreportWin()
، ويمكن للبائعين الإبلاغ عن الإشارات المتوفّرة في عمليتَي scoreAd()
وreportResult()
. خارج المزاد، يمكن للمشترين والبائعين الإبلاغ عن البيانات من إطار عرض الإعلان، ومن الموقع الإلكتروني الذي تمّت منه الإحالة الناجحة.
الفترة الزمنية | الوجهة | الموقع الجغرافي | البيانات متوفرة | واجهات برمجة التطبيقات المتاحة لإعداد التقارير |
المزاد | مشتري | 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 |
الإحالة الناجحة | المشتري / البائع | الموقع الإلكتروني للإحالة الناجحة | بيانات الإحالات الناجحة والبيانات على مستوى الحدث من موقع الإحالة الناجحة | Attribution Reporting API Private Aggregation API Ads Reporting API |
خلال كل فترة زمنية من الفترات المدرَجة، سيتمكّن المشترون والبائعون من الوصول إلى واجهات برمجة تطبيقات مختلفة لإعداد التقارير المتاحة لإعداد تقارير عن البيانات، مثل إشارات المزاد والبيانات على مستوى الحدث وبيانات الإحالات الناجحة.
البيانات المتاحة في مزاد يستخدم Protected Audience API
تتوفّر البيانات التالية لإعداد التقارير من وحدة عمل Protected Audience API أثناء المزاد.
الإشارات
الإشارات هي البيانات السياقية للمزاد وبيانات المستخدِمين والبيانات في الوقت الفعلي وبيانات المتصفّح المتوفّرة للمشترين والبائعين ضمن إحدى وحدات العمل لإنشاء عرض أسعار وتقييم إعلان وإعداد تقارير عن نتائج المزاد.
Signal | الوصف | ضبط الموقع الجغرافي | المستخدِمون | مدى التوفّر |
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 هو المصدر الأساسي للبيانات المقدَّمة لتصبح متاحة كإشارات في وحدات العمل. يمكن للناشر والبائع تقديم بيانات سياقية وبيانات الطرف الأول في إعدادات المزاد، ويمكن تحسين هذه الإشارات باستخدام بيانات مجموعة الاهتمامات من المشتري والبيانات على مستوى الحدث من إطار عرض الإعلان وبيانات تحديد المصدر من صفحة النقر. يمكن استخدام البيانات التي يتم الإبلاغ عنها لإعداد تقارير المشترين/البائعين والفوترة ووضع الميزانيات وتدريب نماذج الذكاء الاصطناعي وغير ذلك.
البيانات الأخرى المتاحة
- بيانات النتائج المرتبطة ببيانات الفوز والخسارة في المزاد، مثل سعر عرض السعر الفائز وسبب رفض عرض السعر
- بيانات الأداء التي تحتوي على معلومات عن وقت الاستجابة، مثل المدّة التي استغرقتها عملية جلب وحدة عمل عروض الأسعار وتنفيذها
البيانات المتاحة خارج مزاد Protected Audience API
خارج مزاد Protected Audience API، هناك فترتان زمنيتان تتوفّر فيهما البيانات لإعداد التقارير.
أثناء عرض الإعلان على موقع الناشر الإلكتروني، يمكن ربط البيانات على مستوى الحدث من داخل إطار iframe أو الإطار المحدود ببيانات مزاد Protected Audience API والإبلاغ عنها لخادمك. تشمل أمثلة البيانات على مستوى الحدث مرّات ظهور الإعلان والنقرات والمرّات التي تم فيها تمرير مؤشر الماوس فوق الإعلان وأيّ أحداث أخرى تحدث داخل الإطار.
خلال وقت الإحالة الناجحة، عندما ينفِّذ المستخدِم إجراءً معيّنًا في صفحة النقر التي يعود مصدرها إلى المزاد، يمكن ربط البيانات على مستوى الحدث من صفحة الإحالة الناجحة ببيانات المزاد في Protected Audience API، وإرسالها إلى خادمك.
إعداد التقارير على مستوى الحدث
تعرض التقارير على مستوى الحدث معلومات تفصيلية من حدث واحد أو أكثر. يمكن أن يكون الحدث فوزًا في مزاد أو مرّة ظهور للإعلان أو إحالة ناجحة. حتى عام 2026 على الأقل، ستبقى ميزة إعداد تقارير عمليات الفوز بالمزاد على مستوى الحدث سارية، ولن تكون الإطارات المُحدودة مطلوبة لعرض إعلان "شريحة جمهور محمية"، ويمكن استخدام إطار iframe مع إمكانية الوصول إلى الشبكة بدون قيود لإعداد التقارير على مستوى الحدث. تتوفّر أيضًا Ads Reporting API في الإطارات المُغلقة وإطارات iframe لتتمكّن من ربط بيانات المزاد والإحالات الناجحة بالبيانات على مستوى الحدث من الإطار. تم تصميم هذا الإجراء لتسهيل عملية نقل البيانات في المنظومة المتكاملة، إذ يمكنك مواصلة استخدام البنية الأساسية الحالية لإعداد التقارير حتى عام 2026 على الأقل أثناء نقل بيانات نظامك إلى ميزة "شرائح الجمهور المحمية".
إعداد تقارير الفوز بالمزاد على مستوى الحدث باستخدام sendReportTo()
إنّ الآلية المتاحة لإعداد تقارير عن البيانات على مستوى الحدث داخل مزاد "شريحة الجمهور المحمية" هي 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()
لإنشاء تقرير فوز للبائع عند استدعائه من reportResult()
، وتقرير فوز للمشتري عند استدعائه من reportWin()
. تتوفّر الدالة sendReportTo()
حتى عام 2026 على الأقل.
تقرير التفاعل
يحتوي تقرير التفاعل على بيانات على مستوى الحدث من تصميم إعلان، مثل بيانات مرّات الظهور أو النقرات المرتبطة بالإشارات لمزاد Protected Audience API الذي عرض الإعلان. بما أنّه يتم عرض الإعلان بعد انتهاء المزاد، لا تتوفّر إشارات المزاد داخل الإطار الذي يعرض الإعلان. لربط هذه البيانات من فترات زمنية مختلفة، نوفّر لك آليتين للانتقال من أجل إنشاء تقارير التفاعل.
يمكن استخدام الدالة 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 على الأقل للأسباب نفسها التي تؤدي إلى إيقاف ميزة إعداد تقارير "الإعلانات الفائزة".
لمزيد من التفاصيل، يمكنك الاطّلاع على الشرح.
الوصول غير المحدود إلى الشبكة
ستسمح لك الإطارات المُحدودة بتحميل موارد الشبكة بالطريقة نفسها التي يعمل بها عنصر iframe، ويمكنك إرسال البيانات على مستوى الحدث ضمن الإطارات المُحدودة إلى خادمك. يمكنك إنشاء تقارير على مستوى الحدث من جهة الخادم لاحقًا من خلال ربط البيانات على مستوى الحدث من إطار محصور ببيانات المزاد التي تم إرسالها باستخدام sendReportTo()
التي تمت مناقشتها في قسم آلية إعداد التقارير على مستوى أحداث المزاد أعلاه.
سيتم تقييد إمكانية الوصول إلى الشبكة في المستقبل.
تقرير الإحالة
يتيح لك تقرير تحديد المصدر ربط إحالة ناجحة على موقع إلكتروني بإعلان تم اختياره من مزاد Protected Audience API. على سبيل المثال، قد ينقر أحد المستخدِمين على إعلان منتج تقدّمه، ويتمّ إعادة توجيهه إلى موقع المعلِن الإلكتروني، ويُجري عملية شراء هناك، ويكون يهمّك تحديد مصدر عملية الشراء على أنّه الإعلان الذي تمّ عرضه. سيتم دمج Attribution Reporting API مع Protected Audience API لدمج بيانات المزاد من موقع الناشر الإلكتروني وبيانات الإحالات الناجحة من موقع المعلِن الإلكتروني.
بينما نعمل على تصميم حلّ أكثر استدامة، يمكنك استخدام Ads Reporting API للإطارات المُحدودة كآلية انتقالية لإنشاء تقرير على مستوى الحدث وقابل للتجميع باستخدام ميزة "تحديد المصدر". يُرجى العِلم أنّ هذه التقارير مخصّصة لقياس الإحالات الناجحة، وهي منفصلة عن تقارير التفاعل على مستوى الحدث والقابلة للتجميع التي يتم إنشاؤها من المزاد وإطار الإعلان. سننشر شرحًا لكيفية استخدام حلّ أكثر استدامة عندما يصبح جاهزًا.
الآلية الانتقالية
عند تسجيل إشارة إعلانية، يمكنك استخدام الكلمة الرئيسية 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 للاطّلاع على مزيد من المعلومات.
مثال على تقارير التفاعل والإحالات الناجحة
في هذا المثال، سننظر إليه من وجهة نظر المشتري المهتم بربط البيانات من المزاد وإطار الإعلان وموقع الإحالة الناجحة معًا.
في سير العمل هذا، ينسق المشتري مع البائع لإرسال معرّف فريد إلى المزاد. خلال المزاد، يرسل المشتري هذا المعرّف الفريد مع بيانات المزاد. أثناء عرض اللقطة ووقت الإحالة الناجحة، يتم أيضًا إرسال البيانات من الإطار المحدود أو iframe باستخدام المعرّف الفريد نفسه. ويمكن استخدام المعرّف الفريد لاحقًا لربط هذه التقارير ببعضها.
سير العمل:
- قبل بدء المزاد، يرسل المشتري معرّفًا فريدًا إلى البائع كجزء من استجابة عرض السعر الآلي لعروض الأسعار في الوقت الفعلي (RTB). يمكن ضبط رقم التعريف كمتغيّر مثل
auctionId
. يتم تمرير المعرّف على أنّهperBuyerSignals
فيauctionConfig
ويصبح متاحًا في وحدات عمل المشتري. - خلال وقت المزاد، يمكن للمشتري تسجيل إشارة إعلانية ليتم تنشيطها خلال وقت عرض الإعلان ووقت الإحالة الناجحة (
registerAdBeacon()
).- لربط إشارات المزاد بحدث إطار إعلان، اضبط
auctionId
كمَعلمة طلب بحث لعنوان URL للإشارة. - لربط إشارات المزاد بحدث إحالة ناجحة، اضبط
auctionId
في عنوان URL للإشارة.
- لربط إشارات المزاد بحدث إطار إعلان، اضبط
- خلال وقت عرض الإعلان، يمكن تنشيط العلامات التي سجّلتها خلال وقت المزاد أو تحسينها باستخدام بيانات على مستوى الحدث.
- يمكنك بدء حدث اللقطة باستخدام
reportEvent()
وضبط البيانات على مستوى الحدث. - إضافة الحمولة على مستوى الحدث إلى إشارة الإحالة باستخدام
setReportEventDataForAutomaticBeacons()
- سجِّل الإعلان باستخدام Attribution Reporting API من خلال الردّ على طلبات إشارات الإعلان باستخدام العنوان
Attribution-Reporting-Register-Source
.
- يمكنك بدء حدث اللقطة باستخدام
- خلال وقت الإحالة الناجحة، يمكنك تنشيط المصدر الذي سجّلته خلال وقت المزاد.
بعد العملية أعلاه، سيحصل المشتري على تقرير مزاد وتقرير تفاعل وتقرير إحالة ناجحة، وكلّها مرتبطة ببعضها باستخدام مفتاح فريد واحد يمكن استخدامه للربط ببعضها.
ينطبق سير العمل نفسه على البائع إذا كان يحتاج إلى الوصول إلى بيانات تحديد المصدر، ويمكن للبائع أيضًا استخدام معرّف فريد لإرساله مع registerAdBeacon()
. من الإطار، يحتوي طلب reportEvent()
على خاصيّة وجهة يمكن استخدامها لإرسال التقرير إلى كلّ من المشتري والبائع. يُرجى العلم أنّه يجب أن يكون SSP متوفّرًا أيضًا على الصفحة المقصودة لكي يتمّ إسناد عامل التشغيل إلى المصدر.
تجميع بيانات "الجمهور المحمي"
Private Aggregation API هي الآلية المستخدَمة للإبلاغ عن بيانات "شرائح الجمهور المحمية" لإنشاء تقرير تلخيصي، وهو تقرير مجمّع غير دقيق للبيانات التي تم جمعها في حِزم. يتم تمثيل الحزمة بمفتاح تجميع، ويمكن ترميز بعض المعلومات في المفتاح.
على سبيل المثال، يمكن احتساب حدث مرّة ظهور للإعلان في مجموعات مختلفة، حيث تمثّل كل مجموعة حملة إعلانية مختلفة. يختلف التقرير التلخيصي عن التقرير على مستوى الحدث في أنّه لا يكشف عن معلومات عن كل حدث فردي. باستخدام تقرير على مستوى الحدث، يمكنك تحديد أنّ المستخدِمين "أ" و"ب" و"ج" شاهدوا الحملة 123. باستخدام التقارير التلخيصية، يمكنك قياس عدد المستخدِمين الذين شاهدوا الحملة 123 وإضافة تشويش لحماية خصوصية المستخدِم.
اطّلِع على مقالة التجميع الخاص لمعرفة المزيد عن واجهة برمجة التطبيقات.
تجميع إشارات المزاد
يمكنك تجميع الإشارات المتاحة في وحدات العمل على خادمك باستخدام ميزة "التجميع الخاص". لتجميع الإشارات، يمكنك استخدام طريقة 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
).
توفّر ميزة "التجميع الخاص" قائمة بالقيم الأساسية التي يمكنك من خلالها احتساب الحزمة وقيمة مساهمتك. القيم الأساسية المتاحة لنتائج المزاد هي قيمة عرض السعر للإعلان الفائز، وقيمة عرض السعر التي تم تسجيلها كأعلى قيمة ثانية، وسبب رفض عرض سعر من المزاد.
عند تقديم قيمة أساسية، مثل مبلغ العرض الفائز، يمكنك تحديد المبلغ الذي تريد إضافته إلى هذه القيمة أو طرحه منها، ثمّ الإبلاغ عن القيمة النهائية. على سبيل المثال، إذا تم تقديم عرض السعر الفائز الذي يبلغ 5 دولار أمريكي كقيمة أساسية، يمكنك طرح عرض السعر الذي يبلغ 2 دولار أمريكي لحساب القيمة الفعلية التي تبلغ 3 دولار أمريكي لمعرفة مقدار خسارتك في المزاد.
إعداد تقارير نتائج المزاد
لنلقِ نظرة على مثال فقدت فيه مزادًا وأردت معرفة مدى ابتعاد عرض سعرك عن السعر النهائي للمزاد.
لمعرفة مقدار خسارتك في المزاد، يمكنك طرح سعر عرض السعر من سعر عرض السعر الفائز:
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);
للاطّلاع على مزيد من المعلومات عن Shared Storage، يمكنك الاطّلاع على قسم مساحة التخزين المشتركة في دليل المطوّرين لإعداد التقارير في Protected Audience API، والشرح، والعرض التجريبي المباشر، ورمز العرض التجريبي على GitHub.
ما هي الخطوات التالية؟
نريد المشاركة في محادثات معك للتأكد من أننا ننشئ واجهة برمجة تطبيقات تناسب الجميع.
مناقشة واجهة برمجة التطبيقات
مثل واجهات برمجة التطبيقات الأخرى في "مبادرة حماية الخصوصية"، يتم توثيق واجهة برمجة التطبيقات هذه ومناقشتها بشكل علني.
إجراء التجارب باستخدام واجهة برمجة التطبيقات
يمكنك تجربة الميزة والمشاركة في محادثة حول Protected Audience API.