מבצעים ב-Protected Audience API

הטמעת עסקאות, שנקראות גם 'שוק פרטי' (PMP), במכרז של Protected Audience

סקירה כללית

מבצעים, שנקראים גם 'זירת מסחר פרטית' (PMP), מציעים לקונים גישה מהמלאי או תמחור מועדף על חלק מסוים מהמלאי. כדי להקל על עסקאות פרוגרמטיות, נעשה שימוש במזהי מושבים ובמזהי עסקאות:

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

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

הדרכה מפורטת

אלה השלבים להפעלת עסקאות במכרז של Protected Audience:

  1. הקונה רושם את מזהי העסקה והמושבים בהגדרה של קבוצת תחומי העניין לפני הפעלת המכרז
    • אפשר להגדיר מזהי מבצעים ועמדות בשדה מזהי דיווח שניתן לבחור (selectableBuyerAndSellerReportingIds).
    • אם מזהה המושב זהה לכל המבצעים, אפשר להגדיר את מזהה המושב בשדה buyerAndSellerReportingId, ואת מזהי המבצעים בשדה הזיהויים של מי שמדווח שאפשר לבחור (selectableBuyerAndSellerReportingIds).
  2. במהלך יצירת הצעת המחיר, מזהי המבצע והמושבים הופכים לזמינים. הקונה בוחר מזהה מבצע מ-selectableBuyerAndSellerReportingIds. הקונה יוצר הצעת מחיר שכוללת מזהה עסקה שמשויך להצעת המחיר הזו על ידי החזרת הצעת מחיר של selectedBuyerAndSellerReportingId. הצעת מחיר יכולה לזכות במכרז רק אם מזהה העסקה שהוחזר הוא אנונימי לפי k, לצד מזהים אחרים של מי שמדווח ונכסים נבחרים של קבוצת האינטרסים.
  3. במהלך דירוג המודעה, מזהי המבצעים והמושבים שנבחרו יהיו זמינים למפיץ.
  4. מזהי המבצעים והמושבים זמינים בפונקציות הדיווח של המוכר.
  5. מזהי העסקה והמושב יהיו זמינים בפונקציות הדיווח של הקונה.

1. רישום של מזהי מבצעים ומזהי מושבים

הקונה רושם את מזהי העסקה והמושבים בהגדרה של קבוצת תחומי העניין לפני הפעלת המכרז. מזהי העסקאות והמושבים מוגדרים ב-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);

2. מזהי עסקאות ומזהי מושבים לקונים במהלך יצירת הצעות המחיר

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

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

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

3. מזהי המבצעים והמושבים של המוכרים במהלך דירוג המודעה

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

function scoreAd(..., browserSignals, ...) {
  const {
    buyerAndSellerReportingId, // 'seat123'
    selectedBuyerAndSellerReportingIds, // 'deal456'
  } = browserSignals;

  // ...
}

4. מזהי מבצעים ומזהי עמדות לדיווח על אתרי מכירה

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

function reportResult(..., browserSignals, ...) {
  const {
    buyerAndSellerReportingId, // 'seat123'
    selectedBuyerAndSellerReportingIds // 'deal456'
  } = browserSignals;

  // ...
}

5. מזהי עסקאות ומזהי מושבים לצורכי דיווח על קונים

אותו עיקרון חל על דיווח של קונים כמו על דיווח של מוכרים. חשוב לזכור שהצעת מחיר עשויה לזכות במכרז רק אם selectedBuyerAndSellerReportingId, buyerAndSellerReportingId (אם קיימת) ו-buyerReportingId (אם קיימים) מוגדרים כ-k-אנונימיים עבור הבעלים של קבוצת האינטרס, כתובת ה-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;
}

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