اجرای معاملات، که به عنوان بازار خصوصی (PMP) نیز شناخته میشود، در یک حراج مخاطبان محافظتشده
نمای کلی
معاملات، که به عنوان بازار خصوصی (PMP) نیز شناخته میشوند، دسترسی گزینشی یا قیمتگذاری ترجیحی را برای خریداران در زیرمجموعهای از موجودی ارائه میدهند. برای تسهیل معاملات برنامهریزیشده، از شناسههای صندلی و شناسههای معامله استفاده میشود:
- شناسه صندلی از خریدار گرفته میشود و شناسهای است که مشتری خریدار را نشان میدهد. شناسه صندلی ممکن است پیامدهایی در صورتحساب داشته باشد، به عنوان مثال، اگر یک صندلی نزد یک فروشنده خاص تخفیف داشته باشد.
- شناسه معامله از خریدار یا فروشنده سرچشمه میگیرد و شناسهای است که نشان دهنده توافق بین خریدار و فروشنده است. یک شناسه معامله ممکن است دارای ویژگیهایی مانند هزینه/قیمت، تعهد حجم، اطلاعات مخاطب، انحصار و موارد دیگر باشد.
مخاطب محافظتشده با استفاده از شناسههای گزارشدهی، معاملات را تسهیل میکند که به شناسههای جایگاه و معامله اجازه میدهد برای پیشنهاد قیمت، امتیازدهی و گزارشدهی حراج در دسترس باشند. شناسههای گزارشدهی، سازوکاری را برای شرکتهای فناوری تبلیغات فراهم میکنند تا این شناسههای معامله و جایگاه را در گزارشهای مخاطب محافظتشده پس از حراج دریافت کنند تا معاملات را انجام دهند و تلاشهای صدور صورتحساب را سازماندهی کنند. ما انتظار داریم که خریداران، فروشندگان، آژانسها و تبلیغکنندگان ممکن است استراتژیهای سفارشی برای تفسیر و درک شناسههای معامله و جایگاهی که دریافت میکنند، داشته باشند.
پیاده روی
مراحل تسهیل معاملات در حراج مخاطبان محافظتشده به شرح زیر است:
- خریدار قبل از اجرای حراج، شناسههای معامله و صندلیها را در پیکربندی گروه ذینفع ثبت میکند.
- شناسههای معامله و جایگاه را میتوان در فیلد شناسههای گزارشدهی قابل انتخاب (
selectableBuyerAndSellerReportingIds) تنظیم کرد. - اگر شناسه صندلی برای همه معاملات یکسان باشد، میتوان آن شناسه صندلی را در
buyerAndSellerReportingIdتنظیم کرد و شناسههای معامله را میتوان در فیلد شناسههای گزارشدهی قابل انتخاب (selectableBuyerAndSellerReportingIds) تنظیم کرد.
- شناسههای معامله و جایگاه را میتوان در فیلد شناسههای گزارشدهی قابل انتخاب (
- در طول تولید پیشنهاد، شناسههای معامله و صندلی در دسترس قرار میگیرند. خریدار یک شناسه معامله را از
selectableBuyerAndSellerReportingIdsانتخاب میکند. خریدار با بازگرداندنselectedBuyerAndSellerReportingIdپیشنهادی تولید میکند که شامل شناسه معامله مرتبط با آن پیشنهاد است. یک پیشنهاد فقط در صورتی میتواند در حراج برنده شود که شناسه معامله بازگردانده شده در کنار سایر شناسههای گزارشدهی و ویژگیهای انتخابی گروه ذینفع، k-anonymous باشد. - در طول امتیازدهی به تبلیغات، شناسههای معامله و صندلی انتخابشده در اختیار فروشنده قرار میگیرد.
- شناسههای معامله و صندلی در توابع گزارشدهی فروشنده در دسترس قرار میگیرند.
- شناسههای معامله و صندلی در توابع گزارشدهی خریدار در دسترس قرار میگیرند.
۱. ثبت شناسههای معامله و صندلی
خریدار قبل از اجرای حراج، شناسههای معامله و جایگاه را در پیکربندی گروه ذینفع ثبت میکند. شناسههای معامله و جایگاه در selectableBuyerAndSellerReportingIds به عنوان آرایهای از رشتهها تنظیم میشوند. اگر شناسه جایگاه برای همه معاملات یکسان باشد و نیازی به تکرار آنها نباشد، شناسه جایگاه را میتوان در فیلد buyerAndSellerReportingId که یک رشته میپذیرد، اضافه کرد:
const interestGroupConfig = {
owner: 'https://buyer.example',
name: 'example-ig',
ad: [
{
renderURL: 'https://buyer.example/ad.html',
selectableBuyerAndSellerReportingIds: ['deal123', 'deal456', 'deal789'], // Deal IDs
buyerAndSellerReportingId: 'seat123', // Seat ID
// Though it is not used to facilitate deals, the buyer
// reporting ID can be defined with other reporting IDs
buyerReportingId: 'brid123'
},
],
};
navigator.joinAdInterestGroup(interestGroupConfig);
اگر شناسه صندلی برای معاملات متفاوت باشد، میتوان از تنظیمات زیر استفاده کرد:
const interestGroupConfig = {
owner: 'https://buyer.example',
name: 'example-ig',
ad: [
{
renderURL: 'https://buyer.example/ad.html',
selectableBuyerAndSellerReportingIds: [
'deal123seat123',
'deal456seat456',
'deal789seat456'
], // Deal and Seat IDs
},
],
};
navigator.joinAdInterestGroup(interestGroupConfig);
۲. شناسههای معامله و جایگاه برای خریداران در طول تولید پیشنهاد قیمت
در طول تولید پیشنهاد، خریدار تصمیم میگیرد که آیا میخواهد روی یک شناسه معامله پیشنهاد قیمت دهد یا خیر. در generateBid() ، خریدار میتواند یک شناسه معامله را از selectableBuyerAndSellerReportingIds انتخاب کند و مقدار selectedBuyerAndSellerReportingId را برگرداند. اگر شناسه معامله انتخاب شده در آرایه selectableBuyerAndSellerReportingIds نباشد، پیشنهاد رد میشود.
function generateBid(interestGroup, ...) {
const [{
buyerAndSellerReportingId, // 'seat123'
selectableBuyerAndSellerReportingIds // ['deal123', 'deal456', 'deal789']
buyerReportingId // 'brid123' - Not used for deals, but the value is available
}] = interestGroup.ads;
// ...
return {
bid: 1,
render: 'https://buyer.example/ad.html',
selectedBuyerAndSellerReportingId: 'deal456', // Buyer selects a deal ID
};
}
پیشنهادی با مقدار بازگشتی برای selectedbuyerAndSellerReportingId تنها در صورتی میتواند در مزایده برنده شود که مقدار selectedbuyerAndSellerReportingId به همراه buyerAndSellerReportingId (در صورت وجود)، buyerReportingId (در صورت وجود)، مالک گروه ذینفع، URL اسکریپت پیشنهاد، URL رندر و اندازه تبلیغ (اندازه تبلیغ حداقل تا سهماهه اول ۲۰۲۵ از این بررسی مستثنی است) به طور مشترک k-anonymous باشد.
حتی اگر selectablebuyerAndSellerReportingIds در پیکربندی گروه علاقهمندی تعریف شده باشد، همچنان تابع generateBid() میتواند پیشنهادی را برگرداند که شامل selectedbuyerAndSellerReportingId نباشد؛ در این حالت، شناسههای گزارشدهی ارائه شده به توابع گزارشدهی در صورت برنده شدن این پیشنهاد، از رفتار شناسه گزارشدهی غیر قابل انتخاب پیروی خواهند کرد.
در مواردی که تابع generateBid() به دلیل عدم ارائه پیشنهاد قیمت برای تبلیغاتی که از بررسیهای k-anonymity عبور نکردهاند، دوباره اجرا میشود، شناسههای selectableBuyerAndSellerReportingIds که از بررسی k-anonymity عبور نکردهاند، در اجرای مجدد در گروه علاقهمندیها حضور نخواهند داشت.
۳. شناسههای معامله و جایگاه برای فروشندگان در طول امتیازدهی به تبلیغات
شناسه معامله انتخاب شده، به همراه شناسه صندلی در صورت وجود، برای scoreAd() قابل دسترسی هستند. فروشنده امتیاز مطلوبیت پیشنهاد برنده را با در نظر گرفتن شناسه معامله و هرگونه شرایط خاص ارائه میدهد. اگر فروشنده فکر نکند شناسه معامله انتخاب شده توسط خریدار اعمال میشود، با دادن امتیاز مطلوبیت صفر یا منفی به آن، پیشنهاد را رد میکند.
function scoreAd(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'seat123'
selectedBuyerAndSellerReportingIds, // 'deal456'
} = browserSignals;
// ...
}
۴. شناسههای معامله و جایگاه برای گزارش فروشندگان
به یاد داشته باشید که یک پیشنهاد فقط در صورتی میتواند در مزایده برنده شود که selectedBuyerAndSellerReportingId ، buyerAndSellerReportingId (در صورت وجود) و buyerReportingId (در صورت وجود) به صورت k-anonymous با مالک گروه ذینفع، URL اسکریپت پیشنهاد، URL رندر و اندازه تبلیغ (اندازه تبلیغ حداقل تا سهماهه اول 2025 از این بررسی مستثنی است) باشند. به این ترتیب، مقادیر شناسه گزارش که شامل selectedBuyerAndSellerReportingId هستند، همیشه در داخل reportResult() در دسترس خواهند بود. توجه داشته باشید که حتی اگر buyerReportingId برای k-anonymity بررسی شود، این مقدار فقط برای تابع گزارش خریدار در دسترس است و نه برای تابع گزارش فروشنده در اینجا.
function reportResult(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'seat123'
selectedBuyerAndSellerReportingIds // 'deal456'
} = browserSignals;
// ...
}
۵. شناسههای معامله و جایگاه برای گزارش خریدار
همین مفهوم از گزارش فروشندگان، در مورد گزارش خریداران نیز صدق میکند. به یاد داشته باشید که یک پیشنهاد فقط در صورتی میتواند در مزایده برنده شود که selectedBuyerAndSellerReportingId ، buyerAndSellerReportingId (در صورت وجود) و buyerReportingId (در صورت وجود) به صورت k-anonymous با مالک گروه ذینفع، URL اسکریپت پیشنهاد، URL رندر و اندازه تبلیغ (اندازه تبلیغ حداقل تا سه ماهه اول 2025 از این بررسی مستثنی است) باشند. به این ترتیب، مقادیر شناسه گزارش که شامل selectedBuyerAndSellerReportingId هستند، همیشه در داخل reportWin() در دسترس خواهند بود.
function reportWin(..., browserSignals, ...) {
const {
buyerAndSellerReportingId, // 'seat123'
selectedBuyerAndSellerReportingId // 'deal456'
buyerReportingId // 'brid123' - Not used for deals, but the value is available
} = browserSignals;
}
مشارکت کنید و بازخورد خود را به اشتراک بگذارید
- برای کسب اطلاعات بیشتر در مورد شناسههای گزارش، به بخش شناسه گزارش در توضیح مخاطب محافظتشده مراجعه کنید.
- گیتهاب : سوالات خود را مطرح کنید و بحثها را در مورد موضوعات موجود در مخزن API دنبال کنید .
- W3C : موارد استفاده صنعتی را در فراخوان WICG مورد بحث قرار دهید.
- اطلاعیهها : به فهرست پستی بپیوندید یا آن را مشاهده کنید.
- پشتیبانی توسعهدهندگان Privacy Sandbox : در مخزن پشتیبانی توسعهدهندگان Privacy Sandbox سؤال بپرسید و به بحثها بپیوندید .
- کرومیوم : یک باگ کرومیوم ثبت کنید تا در مورد پیادهسازیهای موجود برای آزمایش در کروم سوال بپرسید.