מזהים לצורכי דיווח

איך מזהים של דוחות פועלים במכרז עם Protected Audience

סקירה כללית

מזהים לצורכי דיווח הם מזהים שמשויכים למודעה, ואפשר להשתמש בהם ליצירת הצעת מחיר, לדירוג הצעת מחיר ולדיווח. המזהים לצורכי דיווח סופקו על ידי הקונה בהגדרה של קבוצת תחומי העניין, והם הופכים לזמינים ב-generateBid(), ב-scoreAd(), ב-reportResult() וב-reportWin() בתנאים שונים שמפורטים במדריך הזה.

מזהי דיווח מאפשרים לכם לדווח על מזהה של מודעה, וגם מאפשרים תרחישים לדוגמה כמו מבצעים.

מזהי הדיווח הופכים לזמינים לפונקציות הקונים והמוכרים של Protected Audience
הזמינות של מזהים לצורכי דיווח

יש שלושה סוגים של מזהי דיווח:

  • מזהי דיווח שלא ניתן לבחור
    • buyerReportingId (מחרוזת)
    • buyerAndSellerReportingId (מחרוזת)
  • מזהי דיווח שניתן לבחור
    • selectableBuyerAndSellerReportingIds (מערך של מחרוזות)

אופן הפעולה של המזהים לצורכי דיווח משתנה בהתאם לשימוש במזהים לצורכי דיווח שאפשר לבחור. כשנעשה שימוש רק במזהים לצורכי דיווח שלא ניתן לבחור, המזהים האלה הופכים לזמינים בפונקציות הדיווח בלבד. אם משתמשים במזהים לצורכי דיווח שאפשר לבחור יחד עם מזהי דיווח שלא ניתן לבחור אם צריך, כל המזהים שהוגדרו יהיו זמינים גם ב-generateBid() וב-scoreAd().

מזהי דיווח שלא ניתן לבחור

מזהי הדיווח הופכים לזמינים לפונקציות הקונים והמוכרים של Protected Audience
הזמינות של מזהים לצורכי דיווח שניתן לבחור

buyerReportingId ו-buyerAndSellerReportingId הם מזהי דיווח שלא ניתנים לבחירה ומוגדרים בהגדרה של קבוצת תחומי העניין, שיהיו זמינים בפונקציות הדיווח של קונים ושל בתי עסק. פונקציות הדיווח על קונים ומוכרים יפעלו רק עבור המודעה הזוכה, והפונקציות יקבלו את מזהי הדיווח שהוגדרו עבור המודעה הזוכה.

כשמשתמשים ב-Reporting-ID בלי לבחור אותו, פונקציית הדיווח של הקונה מקבלת את הערך buyerReportingId או buyerAndSellerReportingId, בהתאם להתנהגות ההחלפה, ופונקציית הדיווח של המוכר מקבלת את הערך buyerAndSellerReportingId. אם לא מוגדרים buyerReportingId או buyerAndSellerReportingId בתצורה של קבוצת האינטרסים, הפונקציה reportWin() מקבלת את שם קבוצת האינטרסים (interestGroupName) של הצעת המחיר הזוכה.

מזהים שלא ניתן לבחור לא זמינים ב-generateBid() וב-scoreAd() אם הם לא משמשים בשילוב עם מזהי דיווח שאפשר לבחור.

מזהים לדיווח בקבוצות של תחומי עניין

מזהי הדיווח מוגדרים על ידי הקונה עבור כל מודעה בקבוצת תחומי עניין:

navigator.joinAdInterestGroup({
  owner: 'https://buyer.example',
  name: 'example-interest-group',
  ads: [{
    renderUrl: `https://buyer.example/ad.html`,
    // buyerAndSellerReportingId goes to the buyer and seller reporting functions
    buyerAndSellerReportingId: 'bsrid123',
    // buyerReportingId is defined here as an example, but
    // is not used due to the overwrite rules described later
    buyerReportingId: 'brid123',
  }]
});

דוחות על בתי עסק

במהלך שלב הדיווח על אתר המכירה, הערך buyerAndSellerReportingId הופך לזמין ל-reportResult():

function reportResult(..., browserSignals, ...) {
  const {
    buyerAndSellerReportingId // 'bsrid123'
  } = browserSignals;

  sendReportTo(`https://seller.example/report?bsrid=${buyerAndSellerReportingId}`);
}

לפני שהמזהה הופך לזמין בדומיין reportResult(), הוא נבדק אם קיימת k-אנונימיות עם הבעלים של קבוצת תחומי העניין, כתובת ה-URL של סקריפט הבידינג, כתובת ה-URL לעיבוד וגודל המודעה (גודל המודעה הוחרג מבדיקה זו עד הרבעון הראשון של 2025 לפחות). אם הוא לא אנונימי, הפונקציה reportResult() עדיין תפעל, אבל הערך של המזהה לצורכי דיווח לא יהיה זמין בתוך הפונקציה.

דיווח על קונים

במהלך שלב הדיווח על הקונה במכרז, מזהה דיווח אחד הופך לזמין ל-reportWin(). אם בקבוצת תחומי העניין מוגדר יותר ממזהה דיווח אחד, המערכת תחיל כלל החלפה כאשר buyerAndSellerReportingId מחליף את buyerReportingId:

  • אם תגדירו את buyerAndSellerReportingId וגם את buyerReportingId, הפונקציה buyerAndSellerReportingId תחליף את buyerReportingId והערך buyerAndSellerReportingId יהיה זמין בתוך reportWin().
  • אם רק המאפיין buyerReportingId מוגדר, הערך buyerReportingId יהיה זמין.
  • אם לא מוגדרים buyerAndSellerReportingId וגם לא buyerReportingId, הערך interestGroupName יהיה זמין.
function reportWin(..., browserSignals, ...) {
  const {
    buyerAndSellerReportingId // 'bsrid123'
  } = browserSignals;

  sendReportTo(`https://seller.example/report?bsrid=${buyerAndSellerReportingId}`);
}

המזהה לצורכי דיווח שזמין בתוך reportWin() נבדק אם יש k-אנונימיות עם הבעלים של קבוצת תחומי העניין, כתובת ה-URL של סקריפט הבידינג, כתובת ה-URL לעיבוד וגודל המודעה (גודל המודעה לא ייכלל בבדיקה הזו עד הרבעון הראשון של 2025 לפחות). אם הפעולה תיכשל בבדיקת ה-k-אנונימיות, reportWin() עדיין יפעל, אבל ערך המזהה לצורכי דיווח לא יהיה זמין בתוך הפונקציה.

רק buyerReportingId מוגדר

אם רק buyerReportingId מוגדר בהגדרה של קבוצת תחומי העניין:

navigator.joinAdInterestGroup({
  owner: 'https://buyer.example',
  name: 'example-interest-group',
  ads: [{
    renderUrl: `https://buyer.example/ad.html`,
    buyerReportingId: 'brid123',
  }]
});

לאחר מכן, buyerReportingId יהיה זמין בתוך reportWin():

function reportWin(..., browserSignals, ...) {
  const {
    buyerReportingId, // 'brid123'
  } = browserSignals;
}

לפני שהכלי buyerReportingId הופך לזמין ל-reportWin(), מתבצעת בדיקה של k-אנונימיות עם הבעלים של קבוצת תחומי העניין, כתובת ה-URL של סקריפט הבידינג, כתובת ה-URL לעיבוד וגודל המודעה (גודל המודעה הוחרג מבדיקה זו עד הרבעון הראשון של 2025 לפחות).

רק קונהAndSellerReportingId מוגדר

אם רק buyerAndSellerReportingId מוגדר בהגדרה של קבוצת תחומי העניין:

navigator.joinAdInterestGroup({
  owner: 'https://buyer.example',
  name: 'example-interest-group',
  ads: [{
    renderUrl: `https://buyer.example/ad.html`,
    buyerAndSellerReportingId: 'bsrid123',
  }]
});

ואז buyerAndSellerReportingId זמין בתוך reportWin():

function reportWin(..., browserSignals, ...) {
  const {
    buyerAndSellerReportingId, // 'bsrid123'
  } = browserSignals;
}

לפני שהכלי buyerAndSellerReportingId הופך לזמין ל-reportWin(), מתבצעת בדיקה של k-אנונימיות עם הבעלים של קבוצת תחומי העניין, כתובת ה-URL של סקריפט הבידינג, כתובת ה-URL לעיבוד וגודל המודעה (גודל המודעה הוחרג מבדיקה זו עד הרבעון הראשון של 2025 לפחות).

גם buyerAndSellerReportingId וגם buyerReportingId מוגדרים

אם buyerAndSellerReportingId וגם buyerReportingId מוגדרים בהגדרה של קבוצת תחומי העניין:

navigator.joinAdInterestGroup({
  owner: 'https://buyer.example',
  name: 'example-interest-group',
  ads: [{
    renderUrl: `https://buyer.example/ad.html`,
    buyerReportingId: 'brid123',
    buyerAndSellerReportingId: 'bsrid123',
  }]
});

לאחר מכן רק buyerAndSellerReportingId יהיה זמין בתוך reportWin() עקב התנהגות ההחלפה:

function reportWin(..., browserSignals, ...) {
  const {
    buyerAndSellerReportingId, // 'bsrid123'
  } = browserSignals;
}

לפני שהכלי buyerAndSellerReportingId הופך לזמין ל-reportWin(), מתבצעת בדיקה של k-אנונימיות עם הבעלים של קבוצת תחומי העניין, כתובת ה-URL של סקריפט הבידינג, כתובת ה-URL לעיבוד וגודל המודעה (גודל המודעה הוחרג מבדיקה זו עד הרבעון הראשון של 2025 לפחות).

לא הוגדרו buyerAndSellerReportingId ולא buyerReportingId

אם אף אחד ממזהי הדיווח לא הוגדר בהגדרה של קבוצת תחומי העניין:

navigator.joinAdInterestGroup({
  owner: 'https://buyer.example',
  name: 'example-interest-group',
  ads: [{
    renderUrl: `https://buyer.example/ad.html`,
  }]
});

לאחר מכן, קבוצת העניין name תהיה זמינה בתוך reportWin():

function reportWin(..., browserSignals, ...) {
  const {
    interestGroupName, // 'example-interest-group'
  } = browserSignals;
}

לפני שהוא הופך לזמין ל-reportWin(), השם של קבוצת האינטרס (interestGroupName) נבדק אם קיימת אנונימיזציה של בעלי קבוצת תחומי העניין, כתובת ה-URL של סקריפט הבידינג, כתובת ה-URL לעיבוד וגודל המודעה (גודל המודעה לא ייכלל בבדיקה הזו עד הרבעון הראשון של 2025 לפחות).

מזהים לצורכי דיווח שאפשר לבחור

מזהי הדיווח הופכים לזמינים לפונקציות הקונים והמוכרים של Protected Audience
הזמינות של מזהי דיווח עם אפשרות לבחור מזהה דיווח

מזהי דיווח שניתן לבחור מאפשרים לקונה לבחור מזהה במהלך יצירת הצעות המחיר, והדפדפן הופך את הערך שנבחר לזמין ל-scoreAd() ולפונקציות הדיווח. הערך selectableBuyerAndSellerReportingIds, שהוא מערך של מחרוזות, מסופק ל-generateBid(), והקונה יכול להחזיר מזהה אחד שנבחר כ-selectedBuyerAndSellerReportingId.

הפונקציות generateBid() ו-scoreAd() יפעלו עבור כל מודעה שהוגדרה בהגדרה של קבוצת תחומי העניין ויקבלו את מזהי הדיווח עבור כל מודעה. פונקציות הדיווח על קונים ומוכרים יפעלו רק עבור המודעה הזוכה, והפונקציות יקבלו את מזהי הדיווח שהוגדרו עבור המודעה הזוכה.

כשמשתמשים במזהי דיווח שלא ניתנים לבחירה בשילוב עם מזהי דיווח שניתן לבחור, ההתנהגות שלהם משתנה מתהליך העבודה שתואר בקטע הקודם. בניגוד להתנהגות הראשונית של מזהי דיווח שלא ניתן לבחור, שזמינים רק בפונקציות דיווח, מזהים לצורכי דיווח שאפשר לבחור מאפשרים להפוך מזהים לצורכי דיווח שלא ניתנים לבחירה לזמינים גם ב-generateBid() וגם ב-scoreAd().

קבוצת אינטרס

השדה 'מזהי דיווח' שניתן לבחירה – selectableBuyerAndSellerReportingIds – הוא מערך של מחרוזות שהוגדרו על ידי הקונה בקבוצת תחומי העניין של מודעה. אפשר גם להגדיר מזהי דיווח שלא ניתן לבחור לצד מזהי דיווח שאפשר לבחור:

navigator.joinAdInterestGroup({
  owner: 'https://buyer.example',
  name: 'example-interest-group',
  ads: [{
    renderUrl: `https://buyer.example/ad.html`,
    buyerReportingId: 'brid123',
    buyerAndSellerReportingId: 'bsrid123',
    selectableBuyerAndSellerReportingIds: ['sbsrid1', 'sbsrid2', 'sbsrid3']
  }]
});

יצירה של הצעת מחיר לקונה

אם selectableBuyerAndSellerReportingIds הוגדר בתצורה של קבוצת האינטרסים, הוא יהיה זמין ב-generateBid() יחד עם מזהי דיווח אחרים שהוגדרו.

function generateBid(..., browserSignals, ...) {
  const {
    buyerReportingId, // 'brid123'
    buyerAndSellerReportingId, // 'bsrid123'
    selectableBuyerAndSellerReportingIds // ['sbsrid1', 'sbsrid2', 'sbsrid3']
  } = browserSignals;

  return {
    bid: 1,
    render: 'https://buyer.example/ad.html',
    selectedBuyerAndSellerReportingId: 'sbsrid2' // Buyer returns the selected ID
  };
}

הקונה יכול לבחור אחד מהמזהים מהמערך selectableBuyerAndSellerReportingIds ב-generateBid() ולהחזיר את המזהה שנבחר כ-selectedBuyerAndSellerReportingId. הצעת המחיר תידחה אם הערך שנבחר אינו במערך selectableBuyerAndSellerReportingIds. אם selectableBuyerAndSellerReportingIds מוגדר בהגדרה של קבוצת תחומי העניין, והקונה לא מחזיר selectedBuyerAndSellerReportingId מ-generateBid(), מזהי הדיווח יחזרו להתנהגות שמתוארת עבור מזהי דיווח שלא ניתן לבחור.

הצעת מחיר עם ערך שהוחזר ל-selectedbuyerAndSellerReportingId עשויה לזכות במכרז רק אם הערך של selectedbuyerAndSellerReportingId הוא k-אנונימי יחד עם buyerAndSellerReportingId (אם קיים), buyerReportingId (אם קיים), הבעלים של קבוצת תחומי העניין, כתובת ה-URL של סקריפט הבידינג, כתובת ה-URL לעיבוד וגודל המודעה (גודל המודעה לא ייכלל בבדיקה הזו עד הרבעון הראשון של 2025 לפחות).

דירוג מודעות של בית העסק

במקרה של בית העסק, הערך של selectedBuyerAndSellerReportingId שהוחזר על ידי הקונה מ-generateBid() יהיה זמין בscoreAd(), יחד עם buyerAndSellerReportingId, אם הוא הוגדר בתצורה של קבוצת תחומי העניין.

function scoreAd(..., browserSignals, ...) {
  const {
    buyerAndSellerReportingId, // 'bsrid123'
    selectedBuyerAndSellerReportingId, // 'sbsrid2'
  } = browserSignals;

  // ...
}

דוחות על בתי עסק

בדיווח על בתי עסק, הערך של selectedBuyerAndSellerReportingId שהוחזר על ידי הקונה מ-generateBid() יהיה זמין בreportResult(), יחד עם buyerAndSellerReportingId, אם הוא הוגדר בקבוצת האינטרס.

function reportResult(..., browserSignals, ...) {
  const {
    buyerAndSellerReportingId, // 'bsrid123'
    selectedBuyerAndSellerReportingId // 'sbsrid2'
  } = browserSignals;
  
  // ...
}

אם המדיניות selectableBuyerAndSellerReportingIds הוגדרה בהגדרה של קבוצת תחומי העניין, ו-selectedBuyerAndSellerReportingId הוחזר מ-generateBid(), היא לא יכולה לזכות במכרז, אלא אם selectedBuyerAndSellerReportingId ו-buyerAndSellerReportingId (אם קיימים) מוגדרים כ-k-אנונימיים עם הבעלים של קבוצת תחומי העניין, כתובת ה-URL של סקריפט הבידינג, כתובת ה-URL לעיבוד וגודל המודעה (גודל המודעה לא ייכלל בבדיקה הזו עד הרבעון הראשון של 2025 לפחות), ו-reportResult() לא יופעל עבור הצעת המחיר הזו. לכן, אם קוראים לפונקציה reportResult() עם ערך של selectedBuyerAndSellerReportingId, המשמעות היא שהמזהים לצורכי דיווח עברו את בדיקת ה-k-anonymity וכל המזהים לדיווח שהוגדרו יהיו זמינים בדומיין reportResult().

דיווח על קונים

אם selectableBuyerAndSellerReportingIds הוגדר בהגדרה של קבוצת תחומי העניין, וselectedBuyerAndSellerReportingId הוחזר מ-generateBid(), כל המזהים לצורכי דיווח שהוגדרו בהגדרה של קבוצת תחומי העניין הופכים לזמינים. הערה: בדומה לדיווח על אתרי מכירה, אם המזהים לצורכי דיווח אינם אנונימיים, הם לא יכולים לזכות במכרז, והמערכת של reportWin() לא תפעל עבור הצעת המחיר הזו.

function reportWin(..., browserSignals, ...) {
  const {
    buyerReportingId, // 'brid123'
    buyerAndSellerReportingId, // 'bsrid123'
    selectedBuyerAndSellerReportingId // 'sbsrid2'
  } = browserSignals;

  // ...
}

החלפת הכללים

כאן תמצאו סיכום של הכללים להחלפה של מזהי דיווח שלא ניתן לבחור וגם של מזהי דיווח שאפשר לבחור. אילו מבין selectableBuyerAndSellerReportingIds, buyerAndSellerReportingId, buyerReportingId והשם של קבוצת האינטרס שמועברים אל reportWin() נקבעים על ידי הדפדפן עם הלוגיקה הבאה:

  • אם selectedBuyerAndSellerReportingId מוחזר מהצעת מחיר, אז selectedBuyerAndSellerReportingId, buyerAndSellerReportingId (אם הוגדר בקבוצת תחומי עניין) ו-buyerReportingId (אם הוגדרו בקבוצת תחומי העניין) זמינים לדיווח.
  • אחרת, אם buyerAndSellerReportingId מוגדר בקבוצת האינטרס, רק buyerAndSellerReportingId זמין לדיווח.
  • אחרת, אם buyerReportingId מוגדר בקבוצת האינטרס, רק buyerReportingId זמין לדיווח.
  • אחרת, רק קבוצת האינטרס name זמינה לדיווח.

הטבלה הבאה מתארת את התנהגות ההחלפה:

האם המזהים לדיווח מוגדרים בהגדרה של קבוצת תחומי העניין? מזהים זמינים לדיווח
selectableBuyerAnd
SellerReportingIds
buyerAndSeller
ReportingId
buyerReportingId reportWin() reportResult()
כן, ובחרתי את האפשרות
בgenerateBid()
אופציונלי אופציונלי 1) selectableBuyerAnd
SellerReportingIds


2) buyerAndSeller
ReportingId
(אם הוגדר)

3) buyerReportingId (אם הוגדר)
1) selectableBuyerAnd
SellerReportingIds


2) buyerAndSeller
ReportingId
(אם הוגדר)

לא, או לא נבחר
ב-generateBid()
כן Ignored (דפים שהמערכת מתעלמת מהם) buyerAndSeller
ReportingId
buyerAndSeller
ReportingId
לא, או לא נבחרה
ב-generateBid()
לא כן buyerReportingId ללא
לא, או לא נבחר
ב-generateBid()
לא לא interestGroupName ללא

יצירת מעורבות ושיתוף משוב