گزارش حراج API مخاطب محافظت شده

داده‌ها و نتایج حراج API مخاطبان محافظت‌شده را اندازه‌گیری کنید

در این مقاله، مروری کلی بر سازوکارهای مختلف موجود برای گزارش داده‌های حراج API مخاطبان محافظت‌شده به سرور خود، به همراه سازوکارهای انتقال موجود در حال حاضر برای استفاده در طول مهاجرت تا زمان آماده شدن راه‌حل‌های جایگزین، خواهید یافت.

برای گزارش معیارهای مهمی که از حراج تبلیغات جمع‌آوری می‌کنید، Protected Audience API با موارد زیر کار می‌کند:

  • تجمیع خصوصی که سیگنال‌ها و نتایج حراج را برای تولید گزارش‌های خلاصه جمع‌آوری می‌کند.
  • API گزارش تبلیغات برای فریم‌ها و iframeهای محصور شده که کانالی درون فریم‌ها برای ارتباط با workletهای API مخاطب محافظت‌شده است. این API امکان مرتبط کردن داده‌های سطح رویداد با سیگنال‌های حراج را فراهم می‌کند. گزارش سطح رویداد API گزارش تبلیغات یک مکانیسم انتقالی است تا زمانی که یک مکانیسم گزارش خصوصی‌تر طراحی شود.
  • گزارش‌دهی انتسابی که به شما امکان می‌دهد داده‌های تبدیل را با سیگنال‌های حراج مرتبط کنید.
  • فضای ذخیره‌سازی مشترک که به شما امکان می‌دهد سیگنال‌های حراج را در یک فضای ذخیره‌سازی بین‌منبعی بنویسید، سپس به شما امکان می‌دهد آن داده‌ها را بعداً با استفاده از تجمیع خصوصی گزارش دهید.

نمای کلی گزارش‌دهی API مخاطبان محافظت‌شده

گردش کار کلی مخاطبان محافظت‌شده
گردش کار کلی مخاطبان محافظت‌شده

سه دوره زمانی اصلی وجود دارد که داده‌های جریان حراج API مخاطبان محافظت‌شده می‌توانند به سرور شما گزارش شوند: زمان حراج، زمانی که حراج از سایت ناشر اجرا می‌شود، زمان رندر، زمانی که تبلیغ در یک قاب محصور یا یک iframe در سایت ناشر رندر می‌شود، و زمان تبدیل، زمانی که کاربر عملی را در سایت دیگری انجام می‌دهد که می‌توان آن را به حراج نسبت داد.

در طول زمان حراج، می‌توانید داده‌های حراج را با استفاده از گزارش‌های کاری گزارش دهید. در طول زمان رندر، می‌توانید داده‌های تعامل را از یک iframe یا یک frame محصور گزارش دهید. در طول زمان تبدیل، می‌توانید داده‌های انتساب را از صفحه مقصد با استفاده از API گزارش انتساب گزارش دهید.

گزارش مکان‌ها

در یک حراج، خریداران می‌توانند سیگنال‌های موجود در کتابچه‌های generateBid() و reportWin() را گزارش دهند و فروشندگان می‌توانند سیگنال‌های موجود در scoreAd() و reportResult() را گزارش دهند. در خارج از حراج، خریداران و فروشندگان می‌توانند داده‌ها را از فریمی که تبلیغ را رندر کرده است و از سایتی که تبدیل از آن انجام شده است، گزارش دهند.

دوره زمانی مقصد مکان داده‌های موجود APIهای گزارش‌دهی موجود است
حراج خریدار generateBid() سیگنال‌ها، نتایج حراج و عملکرد حراج API تجمیع خصوصی
reportWin() API تجمیع خصوصی
API گزارش تبلیغات
فروشنده scoreAd() API تجمیع خصوصی
reportResult() API تجمیع خصوصی
API گزارش تبلیغات
رندر خریدار / فروشنده قاب در سایت ناشر داده‌های سطح رویداد در چارچوب تبلیغ API تجمیع خصوصی
API گزارش تبلیغات
تبدیل خریدار / فروشنده سایت تبدیل داده‌های تبدیل و سطح رویداد از سایت تبدیل API گزارش‌دهی انتساب
API تجمیع خصوصی
API گزارش تبلیغات

در طول هر یک از دوره‌های زمانی ذکر شده، خریداران و فروشندگان به APIهای گزارش‌دهی مختلفی که برای گزارش داده‌ها مانند سیگنال‌های حراج، داده‌های سطح رویداد و داده‌های تبدیل موجود است، دسترسی خواهند داشت.

داده‌های موجود در حراج API مخاطبان محافظت‌شده

داده‌های زیر از یک کتابچه API مخاطب محافظت‌شده برای گزارش در طول حراج در دسترس هستند.

سیگنال‌ها

سیگنال‌ها ، داده‌های زمینه‌ای حراج، داده‌های کاربر، داده‌های بلادرنگ و داده‌های مرورگر هستند که در یک کتابچه برای خریداران و فروشندگان در دسترس هستند تا پیشنهاد قیمت ارائه دهند، به آگهی امتیاز دهند و نتایج حراج را گزارش دهند.

سیگنال توضیحات تنظیم مکان کاربران در دسترس بودن
سیگنال‌های حراج داده‌های موجود در زمینه محل برگزاری حراج. این داده‌ها می‌توانند شامل اطلاعات محتوای صفحه، داده‌های کاربر شخص ثالث و موارد دیگر باشند. توسط فروشنده از سایت ناشر در پیکربندی حراج تنظیم شده است. خریدار
فروشنده
تولید امتیاز پیشنهادگزارش آگهیگزارش برندهنتیجه
سیگنال‌های مستقیم از فروشنده داده‌های مشابه برای auctionSignals ، perBuyerSignals sellerSignals اما تضمین می‌شود که سیگنال‌ها از فروشنده مشخص شده می‌آیند. از طریق هدرهای پاسخ HTTP از فروشنده تنظیم شود خریدار
فروشنده
تولید امتیاز پیشنهادگزارش آگهیگزارش برندهنتیجه
مرورگرسیگنال‌ها داده‌های مختلفی که توسط مرورگر ارائه می‌شوند ( topWindowHostname ، interestGroupOwner ، renderUrl ، adComponents ، biddingDurationMsec ، IGJoinCount ، IGRecency ، modelingSignals ). توسط مرورگر تنظیم شده است. خریدار
فروشنده
تولید امتیاز پیشنهادگزارش آگهیگزارش برندهنتیجه
سیگنال‌های فروشنده سیگنال‌هایی که برای امتیازدهی به تبلیغ به فروشنده ارائه می‌شود. توسط فروشنده از سایت ناشر در پیکربندی حراج تنظیم شده است. فروشنده امتیاز تبلیغ
گزارش برنده
گزارشنتیجه
trustScoringSignals سیگنال‌های بلادرنگ برای امتیازدهی به تبلیغ، در اختیار فروشنده قرار می‌گیرد. این URL توسط فروشنده از سایت ناشر در پیکربندی حراج تنظیم می‌شود. فروشنده امتیازگزارش آگهینتیجه
سیگنال‌های پربایِر داده‌های زمینه‌ای حراج که در اختیار خریداران خاص قرار می‌گیرد. فروشنده می‌تواند قبل از شروع حراج، مقادیر را برای خریداران بازیابی کند. این نشان‌دهنده‌ی آگاهی خریدار از فرصت تبلیغاتی است. توسط فروشنده از سایت ناشر در پیکربندی حراج تنظیم شده است. خریدار تولید امتیاز پیشنهادگزارش آگهیگزارش برندهنتیجه
سیگنال‌های مناقصه‌ی مورد اعتماد سیگنال‌های بلادرنگ برای پیشنهاد قیمت تبلیغات در اختیار خریداران قرار می‌گیرد. URL توسط خریدار از سایت تبلیغ‌کننده هنگام تنظیم گروه مورد نظر تنظیم می‌شود. خریدار تولید کنید
سیگنال‌های کاربر اطلاعات کاربری ارائه شده توسط خریدار. توسط خریدار از سایت تبلیغ‌کننده هنگام تعیین گروه مورد نظر تنظیم می‌شود. خریدار تولید کنید

شیء پیکربندی حراج منبع اصلی داده‌هایی است که برای در دسترس قرار گرفتن به عنوان سیگنال در کتابچه‌های کاری ارائه می‌شود. ناشر و فروشنده می‌توانند داده‌های زمینه‌ای و داده‌های شخص ثالث را در پیکربندی حراج ارائه دهند و این سیگنال‌ها را می‌توان با داده‌های گروه ذینفع از خریدار، داده‌های سطح رویداد از قاب رندر آگهی و داده‌های انتساب از صفحه کلیک غنی کرد. داده‌های گزارش شده را می‌توان برای گزارش خریدار/فروشنده، صدور صورتحساب، بودجه‌بندی، آموزش مدل ML و موارد دیگر استفاده کرد.

سایر داده‌های موجود

  • داده‌های نتایج مربوط به داده‌های برد و باخت در حراج، مانند قیمت پیشنهادی برنده و دلیل رد پیشنهاد.
  • داده‌های عملکردی که حاوی اطلاعات تأخیر هستند، مانند مدت زمان لازم برای دریافت و اجرای دفترچه پیشنهاد قیمت.

داده‌ها خارج از حراج API مخاطبان محافظت‌شده موجود است

خارج از حراج API مخاطبان محافظت‌شده، دو دوره زمانی وجود دارد که داده‌ها برای گزارش در دسترس هستند.

در طول زمان رندر، زمانی که تبلیغ در سایت ناشر رندر می‌شود، داده‌های سطح رویداد از داخل iframe یا frame محصور شده می‌توانند با داده‌های حراج API مخاطب محافظت‌شده مرتبط شده و به سرور شما گزارش شوند. به عنوان مثال، داده‌های سطح رویداد شامل نمایش تبلیغ، کلیک، شناور شدن و هر رویداد دیگری است که در داخل frame رخ می‌دهد.

در طول زمان تبدیل، وقتی کاربر عملی را در صفحه کلیک انجام می‌دهد که به حراج نسبت داده می‌شود، داده‌های سطح رویداد از صفحه تبدیل می‌توانند با داده‌های حراج API مخاطب محافظت‌شده مرتبط شده و به سرور شما گزارش شوند.

گزارش‌دهی در سطح رویداد

گزارش‌های سطح رویداد، اطلاعات دقیقی از یک یا چند رویداد ارائه می‌دهند. یک رویداد می‌تواند برنده شدن در حراج، نمایش آگهی یا تبدیل باشد. حداقل تا سال ۲۰۲۶ ، گزارش برنده شدن در حراج در سطح رویداد پابرجا خواهد ماند، برای نمایش یک آگهی مخاطب محافظت‌شده نیازی به فریم‌های حصاربندی‌شده نخواهد بود و می‌توان از یک iframe با دسترسی نامحدود به شبکه برای گزارش سطح رویداد استفاده کرد. همچنین، API گزارش تبلیغات در فریم‌های حصاربندی‌شده و iframeها برای شما در دسترس است تا داده‌های حراج و تبدیل را با داده‌های سطح رویداد از فریم مرتبط کنید. این قابلیت به گونه‌ای طراحی شده است که به اکوسیستم اجازه دهد مسیر آسان‌تری برای مهاجرت داشته باشد، زیرا می‌توانید حداقل تا سال ۲۰۲۶ در حالی که سیستم خود را به مخاطب محافظت‌شده منتقل می‌کنید، به استفاده از زیرساخت گزارش‌دهی موجود خود ادامه دهید.

گزارش برنده شدن در مزایده در سطح رویداد با استفاده از sendReportTo()

مکانیزمی که برای گزارش داده‌های سطح رویداد در داخل یک حراج مخاطب محافظت‌شده موجود است، sendReportTo() function در صورت برنده شدن در حراج است. این تابع در workletهای گزارش خریدار و فروشنده موجود است و مرورگر هنگام شروع نمایش تبلیغ، یک درخواست GET به رشته URL ارائه شده ارسال می‌کند. می‌توانید هر سیگنال موجود در workletهای خود را به عنوان پارامترهای پرس‌وجوی 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 در دسترس است.

گزارش تعامل

گزارش تعامل شامل داده‌های سطح رویداد از یک تبلیغ خلاقانه مانند داده‌های نمایش یا کلیک است که با سیگنال‌های حراج API مخاطب محافظت‌شده که تبلیغ را نمایش داده است، مرتبط است. از آنجایی که تبلیغ پس از پایان حراج نمایش داده می‌شود، سیگنال‌های حراج در داخل قابی که تبلیغ را نمایش می‌دهد، در دسترس نیستند. برای مرتبط کردن این داده‌ها از دوره‌های زمانی مختلف، ما دو مکانیسم انتقال برای ایجاد گزارش‌های تعامل در اختیار شما قرار می‌دهیم.

تابع sendReportTo() که در بالا توضیح داده شد، می‌تواند برای مرتبط کردن داده‌های حراج با داده‌های سطح رویداد از یک iframe استفاده شود، اما برای یک frame محصور شده کار نمی‌کند زیرا نمی‌توان یک شناسه منحصر به فرد از جاسازی‌کننده ارسال کرد زیرا ارتباط بین جاسازی‌کننده و frame محصور شده محدود است. برای مرتبط کردن داده‌های حراج با داده‌های سطح رویداد از یک تبلیغ frame محصور شده، می‌توان از API گزارش تبلیغات استفاده کرد.

API گزارش تبلیغات برای فریم‌ها و آی‌فریم‌های حصارکشی‌شده

API گزارش تبلیغات برای فریم‌ها و آی‌فریم‌های حصارکشی‌شده، مکانیزمی را برای شما فراهم می‌کند تا داده‌های سطح رویداد کاربر را از یک فریم تبلیغاتی با سیگنال‌های درون یک حراج مخاطب محافظت‌شده مرتبط کنید.

در یک کتابچه گزارش‌دهی API مخاطبان محافظت‌شده، می‌توانید یک چراغ تبلیغاتی را با تابع registerAdBeacon() ثبت کنید و URL گزارش‌دهی خود را به همراه سیگنال‌های اضافه شده به عنوان پارامترهای پرس‌وجو ارسال کنید. همچنین رویداد سفارشی را که می‌خواهید با URL گزارش‌دهی مرتبط کنید، مشخص می‌کنید. سپس، بعداً وقتی تبلیغ در یک قاب حصارکشی شده رندر می‌شود، می‌توانید با فراخوانی تابع window.fence.reportEvent() رویداد سفارشی را فعال کنید. داده‌های موجود در قاب حصارکشی شده می‌توانند به عنوان بار داده اضافه شوند.

تابع registerAdBeacon() فقط در توابع گزارش‌دهی موجود است و در منطق پیشنهاد قیمت خریدار و منطق امتیازدهی فروشنده موجود نیست.

در مثال زیر، یک شناسه کمپین با یک payload در سطح رویداد با مختصات کلیک مرتبط شده است:

// 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 نیز به همان دلایلی که گزارش برنده شدن در قرعه‌کشی مطرح شد، حداقل تا سال ۲۰۲۶ در دسترس خواهد بود.

برای بررسی عمیق‌تر، به توضیح‌دهنده مراجعه کنید.

دسترسی نامحدود به شبکه

فریم‌های حصارکشی‌شده امکان بارگذاری منابع شبکه را همانند iframe فراهم می‌کنند و شما می‌توانید داده‌های سطح رویداد را درون فریم‌های حصارکشی‌شده به سرور خود ارسال کنید. می‌توانید بعداً با مرتبط کردن داده‌های سطح رویداد از یک فریم حصارکشی‌شده با داده‌های حراج که با sendReportTo() ارسال شده‌اند (که در بخش مکانیسم گزارش‌دهی سطح رویداد حراج در بالا مورد بحث قرار گرفت)، گزارش‌های سطح رویداد را در سمت سرور ایجاد کنید.

دسترسی به شبکه در آینده محدود خواهد شد.

گزارش انتساب

گزارش انتساب به شما این امکان را می‌دهد که یک تبدیل در یک وب‌سایت را با تبلیغی که از حراج API مخاطبان محافظت‌شده انتخاب شده است، مرتبط کنید. به عنوان مثال، ممکن است کاربری روی تبلیغ محصولی که شما ارائه می‌دهید کلیک کند، به سایت تبلیغ‌کننده هدایت شود، در آنجا خریدی انجام دهد و شما علاقه‌مند باشید که این خرید را به تبلیغی که نشان داده شده است نسبت دهید. API گزارش انتساب با API مخاطبان محافظت‌شده ادغام خواهد شد تا داده‌های حراج از سایت ناشر و داده‌های تبدیل از سایت تبلیغ‌کننده را ترکیب کند.

در حالی که ما یک راه‌حل دائمی‌تر طراحی می‌کنیم، می‌توانید از API گزارش تبلیغات برای فریم‌های حصارکشی‌شده به عنوان یک مکانیسم انتقالی برای تولید یک گزارش در سطح رویداد و قابل تجمیع با گزارش‌دهی نسبت‌دهی استفاده کنید. توجه داشته باشید که این گزارش‌ها برای اندازه‌گیری تبدیل هستند و جدا از گزارش‌های تعامل در سطح رویداد و قابل تجمیع تولید شده از حراج و فریم تبلیغ هستند. ما در صورت آماده شدن، توضیحی برای یک راه‌حل دائمی‌تر منتشر خواهیم کرد.

مکانیسم انتقالی

هنگام ثبت یک آگهی تبلیغاتی (ad beacon)، می‌توانید از کلمه کلیدی reserved.top_navigation استفاده کنید که به طور خودکار هدر Attribution-Reporting-Eligible را برای واجد شرایط شدن آن آگهی تبلیغاتی برای ثبت به عنوان منبع انتساب، اضافه می‌کند.

registerAdBeacon({
 'reserved.top_navigation': 'https://adtech.example/click?buyer_event_id=123',
});

برای اتصال داده‌های سطح رویداد به بیکنی که ثبت کرده‌اید، می‌توانید تابع setReportEventDataForAutomaticBeacons() را از فریم حصارکشی شده با payload رویداد فراخوانی کنید.

window.fence.setReportEventDataForAutomaticBeacons({
  eventType: 'reserved.top_navigation',
  eventData: 'data from the frame',
  destination:['seller', 'buyer']
})

برای کسب اطلاعات بیشتر، به بخش گزارش انتساب در توضیح API گزارش تبلیغات مراجعه کنید.

مثال گزارش تعامل و تبدیل

در این مثال، ما از دیدگاه خریدار به آن نگاه خواهیم کرد که علاقه‌مند به مرتبط کردن داده‌های حراج، قاب تبلیغاتی و سایت تبدیل با یکدیگر است.

در این گردش کار، خریدار با فروشنده هماهنگ می‌کند تا یک شناسه منحصر به فرد را به حراج ارسال کند. در طول حراج، خریدار این شناسه منحصر به فرد را به همراه داده‌های حراج ارسال می‌کند. در طول زمان رندر و تبدیل، داده‌های فریم حصارکشی شده یا iframe نیز با همان شناسه منحصر به فرد ارسال می‌شوند. بعداً، می‌توان از شناسه منحصر به فرد برای مرتبط کردن این گزارش‌ها با یکدیگر استفاده کرد.

گردش کار:

  1. قبل از شروع حراج، خریدار یک شناسه منحصر به فرد را به عنوان بخشی از پاسخ پیشنهاد قیمت برنامه‌ریزی‌شده و بلادرنگ (RTB) خود برای فروشنده ارسال می‌کند. این شناسه می‌تواند به عنوان متغیری مانند auctionId تنظیم شود. این شناسه به عنوان perBuyerSignals در auctionConfig ارسال می‌شود و در workletهای خریدار در دسترس قرار می‌گیرد.
  2. در طول زمان حراج، خریدار می‌تواند یک چراغ تبلیغاتی (ad beacon) ثبت کند تا در زمان رندر تبلیغ و زمان تبدیل ( registerAdBeacon() ) فعال شود.
    1. برای مرتبط کردن سیگنال‌های حراج برای یک رویداد قاب آگهی، auctionId به عنوان پارامتر پرس‌وجوی URL بیکن تنظیم کنید.
    2. برای مرتبط کردن سیگنال‌های حراج برای یک رویداد تبدیل، auctionId در beacon URL تنظیم کنید.
  3. در طول زمان رندر آگهی، بیکن‌هایی که در زمان حراج ثبت کرده‌اید می‌توانند با داده‌های سطح رویداد فعال یا تقویت شوند.
    1. رویداد فریم را با reportEvent() فعال کنید و داده‌های سطح رویداد را به آن ارسال کنید.
    2. با استفاده از تابع setReportEventDataForAutomaticBeacons() ‎، payload سطح رویداد را به attribution beacon اضافه کنید.
    3. با پاسخ دادن به درخواست‌های ad beacon با هدر Attribution-Reporting-Register-Source تبلیغ را در API گزارش‌دهی انتساب ثبت کنید.
  4. در طول زمان تبدیل، می‌توانید منبعی را که در زمان حراج ثبت کرده‌اید، فعال کنید.

پس از فرآیند فوق، خریدار یک گزارش حراج، گزارش تعامل و گزارش تبدیل خواهد داشت که همگی توسط یک کلید منحصر به فرد به هم متصل شده‌اند و می‌توانند برای ارتباط با یکدیگر استفاده شوند.

گردش کار مشابهی برای فروشنده در صورت نیاز به دسترسی به داده‌های انتساب اعمال می‌شود و فروشنده همچنین می‌تواند از یک شناسه منحصر به فرد برای ارسال با registerAdBeacon() استفاده کند. از فریم، فراخوانی reportEvent() شامل یک ویژگی مقصد است که می‌تواند برای ارسال گزارش به خریدار و فروشنده استفاده شود. توجه داشته باشید که SSP نیز باید در صفحه فرود وجود داشته باشد تا تریگر به منبع نسبت داده شود.

جمع‌آوری داده‌های محافظت‌شده مخاطبان

API تجمیع خصوصی، مکانیزمی است که برای گزارش داده‌های مخاطب محافظت‌شده (Protected Audience) جهت تولید یک گزارش خلاصه استفاده می‌شود، که یک گزارش شلوغ و تجمیع‌شده از داده‌های جمع‌آوری‌شده در سطل‌ها است. یک سطل با یک کلید تجمیع نمایش داده می‌شود و برخی از اطلاعات را می‌توان در کلید کدگذاری کرد.

برای مثال، یک رویداد نمایش تبلیغ را می‌توان در دسته‌های مختلفی طبقه‌بندی کرد که هر دسته نشان‌دهنده یک کمپین تبلیغاتی متفاوت است. گزارش خلاصه با گزارش سطح رویداد متفاوت است، زیرا اطلاعاتی در مورد هر رویداد به صورت جداگانه فاش نمی‌کند. با گزارش سطح رویداد، می‌توانید تعیین کنید که کاربران A، B و C کمپین ۱۲۳ را دیده‌اند. با گزارش‌های خلاصه، می‌توانید تعداد کاربرانی را که کمپین ۱۲۳ را دیده‌اند اندازه‌گیری کنید و نویز برای محافظت از حریم خصوصی کاربران اضافه می‌شود .

برای اطلاعات بیشتر در مورد API به مقاله Private Aggregation مراجعه کنید.

جمع‌آوری سیگنال‌های حراج

شما می‌توانید سیگنال‌های موجود در workletها را با استفاده از Private Aggregation در سرور خود تجمیع کنید. برای تجمیع سیگنال، می‌توانید از متد privateAggregation.contributeToHistogram() موجود در workletهای buyer bidding، seller scoring و buyer/seller reporting استفاده کنید.

در این مثال، پیشنهاد برنده در سطل مالک گروه ذینفع تجمیع می‌شود:

function convertBuyerToBucket(igOwner) {}
function convertWinningBidToValue(winningBid) {}

function reportResult(auctionConfig, browserSignals) {
  privateAggregation.contributeToHistogram({
    bucket: convertBuyerToBucket(browserSignals.interestGroupOwner),
    value: convertWinningBidToValue(browserSignals.bid)
  });
} 

این مکانیزم کلی برای زمانی است که سیگنال‌هایی که می‌خواهید جمع‌آوری کنید با داده‌های سطح رویداد مرتبط نیستند و توسط رویدادی خارج از حراج فعال نمی‌شوند. برای کسب اطلاعات بیشتر در مورد گزارش سیگنال‌های حراج، به توضیح مربوطه مراجعه کنید.

جمع‌آوری سیگنال‌های حراج با داده‌های رویداد

شما می‌توانید سیگنال‌های حراج را با اطلاعات محدود در مورد رویدادی که در یک فریم تبلیغاتی رخ می‌دهد، جمع‌آوری کنید. به عنوان مثال، می‌توانید با ایجاد یک سطل که نشان دهنده آن کمپین و رویداد کلیک است، تعداد کلیک‌های دریافتی یک تبلیغ برای یک کمپین را به صورت تجمیعی اندازه‌گیری کنید. توجه داشته باشید که از فریم تبلیغاتی، می‌توانید مشخص کنید که چه رویدادی رخ داده است، اما نمی‌توانید یک payload در سطح رویداد را پیوست کنید.

برای تجمیع سیگنال‌های حراج بر اساس رویدادها، می‌توانید از 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
  });
}

در تابع تولید پیشنهاد، می‌توانید یک سطل (bucket) را به عنوان ترکیبی از شناسه کمپین و رویداد کلیک تعریف کنید، سپس هر بار که رویداد اجرا می‌شود، مقدار آن سطل را ۱ واحد افزایش دهید.

// Ad frame
window.fence.reportEvent('click');

سپس، بعداً، از فریم تبلیغ، می‌توانید با فراخوانی reportEvent(eventType) ارسال گزارش را آغاز کنید:

درباره فعال کردن مشارکت‌های Private Aggregation از یک فریم از طریق توضیح‌دهنده بیشتر بیاموزید.

گزارش نتایج و عملکرد حراج

همچنین می‌توانید نتایج حراج را هنگامی که توسط یک رویداد برد یا باخت حراج فعال می‌شود، با استفاده از contributeToHistogramOnEvent(eventType, contribution) و با ارسال کلمات کلیدی نوع رویداد رزرو شده ( reserved.win, reserved.loss و reserved.always ) تجمیع کنید.

تجمیع خصوصی فهرستی از مقادیر پایه را ارائه می‌دهد که می‌توانید سطل و ارزش سهم خود را از آن محاسبه کنید. مقادیر پایه موجود برای نتایج حراج عبارتند از: ارزش پیشنهادی آگهی برنده، ارزش پیشنهادی که به عنوان دومین ارزش برتر امتیازدهی شده است و دلیل رد شدن پیشنهاد از حراج.

وقتی مقداری ارزش پایه ارائه می‌شود، مانند مبلغ پیشنهاد برنده، می‌توانید تعیین کنید که چه مقدار از آن ارزش اضافه یا کم شود، سپس ارزش نهایی را گزارش دهید. به عنوان مثال، اگر پیشنهاد برنده ۵ دلار به عنوان ارزش پایه ارائه شده باشد، می‌توانید پیشنهاد ۲ دلار خود را از آن کم کنید تا ارزش واقعی ۳ دلار از مبلغی که در حراج خود باخته‌اید محاسبه شود.

گزارش نتایج مزایده

بیایید به مثالی نگاه کنیم که در آن شما در یک حراجی شکست خورده‌اید و می‌خواهید بدانید که پیشنهاد شما چقدر با قیمت تسویه حراج فاصله داشته است.

برای اینکه بفهمید چقدر در حراج ضرر کرده‌اید، می‌توانید قیمت پیشنهادی خود را از قیمت پیشنهادی برنده کم کنید:

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 جابجا شده است. برای کسب اطلاعات بیشتر، به توضیح‌دهنده مراجعه کنید.

گزارش عملکرد

خریداران و فروشندگان می‌توانند گزارش دهند که اجرای یک اسکریپت چقدر طول کشیده است و دریافت سیگنال‌های معتبر چقدر طول کشیده است. فروشندگان می‌توانند زمان تولید پیشنهاد و زمان سیگنال معتبر پیشنهاد هر خریدار را با اجازه آنها جمع‌آوری کنند.

برای کسب اطلاعات بیشتر به توضیح دهنده مراجعه کنید.

ذخیره سیگنال‌های حراج در فضای ذخیره‌سازی مشترک

فضای ذخیره‌سازی مشترک، یک فضای ذخیره‌سازی پارتیشن‌بندی نشده و چند-مبدأی است که می‌توانید آزادانه در آن بنویسید، اما هنگام خواندن و پردازش مقادیر ذخیره شده، با دروازه‌هایی محافظت می‌شود. یکی از دروازه‌های موجود برای API فضای ذخیره‌سازی مشترک، تجمیع خصوصی است. شما فقط می‌توانید مقادیر موجود در فضای ذخیره‌سازی مشترک را از داخل یک worklet بخوانید و می‌توانید آن مقادیر را با استفاده از تجمیع خصوصی از worklet گزارش دهید.

همچنین می‌توانید از طریق کتابچه‌های پیشنهاد قیمت، امتیازدهی و گزارش‌دهی API Protected Audience، در فضای ذخیره‌سازی مشترک بنویسید. در آینده، می‌توانید با استفاده از Private Aggregation، این مقادیر موجود در فضای ذخیره‌سازی مشترک را به سرور خود گزارش دهید. همچنین می‌توانید از مقادیر ذخیره شده برای عملیات انتخاب URL استفاده کنید.

از یک کتابچه API مخاطب محافظت‌شده، می‌توانید هر کلید و مقداری را در فضای ذخیره‌سازی مشترک بنویسید:

// Protected Audience API worklet
function generateBid() {
  sharedStorage.set('test-bucket', 123);
}

بعداً، می‌توانید یک worklet ذخیره‌سازی مشترک را بارگذاری کنید تا آن مقدار را با Private Aggregation بخواند و ارسال کند:

// 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);

برای کسب اطلاعات بیشتر در مورد فضای ذخیره‌سازی مشترک، به بخش فضای ذخیره‌سازی مشترک در راهنمای توسعه‌دهنده گزارش‌دهی Protected Audience API، توضیح‌دهنده ، نسخه آزمایشی زنده و کد آزمایشی در GitHub مراجعه کنید.

بعدش چی؟

ما می‌خواهیم با شما گفتگو کنیم تا اطمینان حاصل کنیم که یک API درست می‌کنیم که برای همه کار کند.

در مورد API بحث کنید

مانند سایر APIهای Privacy Sandbox، این API مستند شده و به صورت عمومی مورد بحث قرار گرفته است.

با API آزمایش کنید

می‌توانید آزمایش کنید و در گفتگو درباره API مخاطبان محافظت شده شرکت کنید .