אם אתם קונים שטחי פרסום (פלטפורמות DSP ומפרסמים), יכול להיות שתתעניינו בהשתתפות במכרז מודעות של Protected Audience באתר של בעל האתר, כדי לטרגט מודעה לקבוצת תחומי העניין שהגדרתם באתר של המפרסם. השתתפות במכרז של Protected Audience מאפשרת לכם להגיע ללקוחות שזיהיתם באתרים אחרים באופן ששומר על הפרטיות שלהם.
במכרז של Protected Audience, אתם מספקים את הלוגיקה ליצירת הצעת המחיר, והדפדפן מחשב את הצעת המחיר באמצעות הלוגיקה הזו. זה שונה מארכיטקטורות אחרות של מכרזים שבהן אתם שולחים את הצעת המחיר ישירות, במקום לספק את הלוגיקה.
אתם מספקים את הלוגיקה ליצירת הצעות מחיר בפונקציית ה-JavaScript generateBid()
והקובץ מאוחסן בשרת שלכם. כשמוסיפים משתמש לקבוצת אינטרס, המיקום של הקובץ הזה מועבר להגדרות של קבוצת האינטרס כ-biddingLogicUrl
.
במהלך המכרז, הדפדפן מאחזר את לוגיקת הבידינג שצוינה בשדה biddingLogicUrl
ומריץ את הפונקציה generateBid()
לכל קבוצת מתעניינים בסביבה מבודדת ומאובטחת, שהתקשורת שלה עם הקשר החיצוני מוגבלת. כשמבצעים את הפונקציה generateBid()
, הדפדפן מעביר אותות לפונקציה כארגומנטים. האותות האלה מכילים מידע ממקורות שונים, כמו נתונים ישירים של בעל האתר, נתונים של המוכר, נתונים בזמן אמת ועוד. אפשר להשתמש באותות האלה כדי לחשב את הצעת המחיר, והערך מוחזר מהקריאה generateBid()
. אחרי שליחת הצעות המחיר, הדפדפן יפעיל את לוגיקת הניקוד של המוכר על כל הצעה כדי לחשב את ציון הרצויות של המוכר.
generateBid()
בהמשך מפורטים הארגומנטים של הפונקציה generateBid()
והמבנה של הצעת המחיר שמוחזרת מהפונקציה:
generateBid(interestGroup, auctionSignals, perBuyerSignals,
trustedBiddingSignals, browserSignals, directFromSellerSignals) {
return {
ad: adObject,
adCost: optionalAdCost,
bid: bidValue,
bidCurrency: 'USD',
render: {
url: renderURL,
width: renderWidth,
height: renderHeight
},
adComponents: [
{url: adComponent1, width: componentWidth1, height: componentHeight1},
{url: adComponent2, width: componentWidth2, height: componentHeight2},
// ...
],
allowComponentAuction: false,
modelingSignals: 123 // 0-4095 integer (12-bits)
};
}
ארגומנטים
generateBid()
מקבל את הארגומנטים הבאים:
ארגומנט | תפקיד |
---|---|
|
אובייקט שמועבר על ידי הקונה של שטחי הפרסום. יכול להיות שקבוצת תחומי העניין תעודכן עם dailyUpdateUrl . |
|
מאפיין של הארגומנט auction config שמועבר אל navigator.runAdAuction() על ידי המוכר. המידע הזה כולל את ההקשר של הדף (למשל גודל המודעה ומזהה בעל התוכן הדיגיטלי), סוג המכרז (מחיר ראשון או מחיר שני) ומטא-נתונים אחרים. |
|
מאפיין של הארגומנט auction config שמועבר על ידי המוכר. האותות האלה יכולים לספק מידע הקשרי משרת הקונה על הדף, אם המוכר הוא SSP שמבצע קריאה של בידינג בזמן אמת לשרתי הקונה ומעביר את התגובה בחזרה, או אם דף בעל התוכן הדיגיטלי יוצר קשר ישירות עם שרת הקונה. אם כן, הקונה יכול לבדוק חתימה קריפטוגרפית של האותות האלה בתוך generateBid() כדי להגן על עצמו מפני שינויים לא מורשים. |
|
אובייקט שהמפתחות שלו הם trustedBiddingSignalsKeys של קבוצת העניין, והערכים שלו מוחזרים בבקשה trustedBiddingSignals . |
|
אובייקט שנוצר על ידי הדפדפן, שעשוי לכלול מידע על הקשר של הדף (למשל, hostname של הדף הנוכחי, שבעל האתר יכול לזייף) ונתונים של קבוצת האינטרס עצמה (למשל, רשומה של מקרים שבהם הקבוצה זכתה בעבר במכרז, כדי לאפשר הגבלת תדירות הצגת מודעות במכשיר). |
|
אותות שמגיעים ממוכר ספציפי, בניגוד ל-auctionSignals ול-sellerSignals שיכולים להגיע מכל משתתף שנמצא בהקשר שבו מתבצעת הפעלה של runAdAuction . |
אותות מהדפדפן
לאובייקט browserSignals
יש את המאפיינים הבאים:
{
topWindowHostname: 'publisher.example',
seller: 'https://ssp.example',
topLevelSeller: 'https://www.top-level-ssp.com',
requestedSize: {width: 100, height: 200}, /* if specified in auction config */
joinCount: 3,
recency: 3600000,
bidCount: 17,
prevWinsMs: [[timeDeltaMs1,ad1],[timeDeltaMs2,ad2],...],
wasmHelper: ...
dataVersion: 1,
adComponentsLimit: 40
}
נכס | תיאור |
---|---|
|
שם המארח שבו בוצעה השיחה runAdAuction() . |
|
המוֹכר שאליו נשלחת הצעת המחיר. במכרז רכיבים, הערך הזה הוא מוכר הרכיבים. |
|
המוכר ברמה העליונה במכרז רכיבים, ומופיע רק במכרז רכיבים. |
|
המאפיין requestedSize ממליץ על גודל מסגרת למכרז. המוכר מגדיר את הגודל המבוקש בהגדרות המכרז, והערך הופך לזמין למגישי הצעות המחיר ב-generateBid() . יכול להיות שהמשתתפים בהצעת המחיר יבחרו גודל תוכן שונה למודעה, והגודל שיתקבל יותאם חזותית לגודל של מאגר הרכיבים. |
|
השדה joinCount הוא מספר הפעמים שהמכשיר הזה הצטרף לקבוצת האינטרסים הזו ב-30 הימים האחרונים, בזמן שקבוצת האינטרסים נשמרה ברציפות (כלומר, אין פערים בשמירה של קבוצת האינטרסים במכשיר בגלל יציאה או תפוגה של החברות). |
|
השדה recency הוא משך הזמן (בדקות) מאז שהמכשיר הצטרף לקבוצת המתעניינים הזו ועד עכשיו |
|
מספר הפעמים שקבוצת המתעניינים הזו הגישה הצעת מחיר. |
|
השדה prevWinMs מכיל את המודעות המנצחות של קבוצת תחומי העניין, ואת הזמן שחלף מאז הניצחונות הקודמים שלהן, במילישניות. שימו לב שאובייקט המודעה כאן מכיל רק את השדות renderURL ומטא-נתונים. |
|
אובייקט WebAssembly.Module שמבוסס על קבוצת האינטרסים biddingWasmHelperURL . |
|
ערך Data-Version מתוך התגובות של שירות המפתח/הערך של הקונה. |
|
המספר המקסימלי של רכיבי מודעות שמוחזרים הוא generateBid() |
חישוב הצעת מחיר
כדי לחשב ערך של הצעת מחיר, הקוד ב-generateBid()
יכול להשתמש במאפיינים של הפרמטרים של הפונקציה.
לדוגמה:
function generateBid(interestGroup, auctionSignals, perBuyerSignals,
trustedBiddingSignals, browserSignals) {
return {
// ...
bid: auctionSignals.is_above_the_fold ? perBuyerSignals.atf_value : perBuyerSignals.btf_value,
// ...
}
}
החזרת הצעת מחיר
הפונקציה generateBid()
מחזירה אובייקט עם המאפיינים הבאים:
נכס | תפקיד |
---|---|
ad |
מטא-נתונים שרירותיים לגבי המודעה, כמו מידע שהמוכר מצפה לקבל לגבי הצעת המחיר או נכס הקריאייטיב של המודעה. המוכר משתמש במידע הזה במכרז ובלוגיקה של קבלת ההחלטות שלו. |
adCost |
ערך מספרי שמשמש להעברת נתוני עלות של קליקים או המרות של מפרסם מהפונקציה generateBid לפונקציה reportWin. הדיוק של המספר הזה מוגבל למנטיסה של 8 ביט ולמעריך חזקה של 8 ביט, וכל העיגולים מתבצעים באופן סטוכסטי. |
adComponents |
רשימה אופציונלית של עד 20 רכיבים של מודעות שמורכבות מכמה חלקים, שנלקחים מהמאפיין adComponents של ארגומנט קבוצת העניין שמועבר אל navigator.joinAdInterestGroup() . |
allowComponentAuction |
ערך בוליאני שמציין אם אפשר להשתמש בהצעת המחיר הזו במכרז רכיבים. אם לא מציינים ערך, ברירת המחדל היא false. |
bid |
הצעת מחיר מספרית שתשתתף במכרז. המוכר צריך להיות מסוגל להשוות בין הצעות מחיר של קונים שונים, ולכן הצעות המחיר צריכות להיות ביחידה שהמוכר בוחר (למשל, 'דולר ארה"ב לאלף'). אם הצעת המחיר היא אפס או שלילית, קבוצת המתעניינים הזו לא תשתתף במכרז של המוכר. באמצעות המנגנון הזה, הקונה יכול להטמיע כללים של מפרסמים לגבי המיקומים שבהם המודעות שלהם יכולות להופיע או לא להופיע. |
bidCurrency |
המטבע של הצעת המחיר, שמשמש לבדיקת המטבע. |
render |
מילון שמתאר את הקריאייטיב שיוצג אם הצעת המחיר הזו תזכה במכרז. הם כוללים:
|
|
מספר שלם מ-0 עד 4095 (12 ביט) שמועבר אל reportWin() , עם רעש, כפי שמתואר בסכימת הרעש והחלוקה לקטגוריות. המערכת תתעלם מערכים לא חוקיים, כמו ערכים שליליים, אינסופיים וערכי NaN , והם לא יועברו. רק 12 הביטים הנמוכים ביותר יועברו. הקונה יכול להשתמש באותות שזמינים בפונקציה generateBid() , כולל נתונים מאינטראקציה ישירה (First-Party) של הקונה שנאספו בזמן יצירת קבוצת הנושא ב-userBiddingSignals , כדי להפיק ערך מסוים שמועבר לפונקציית הדיווח על הזכייה של הקונה, וכך לאפשר אימון של מודל ML. |