Скидки в защищенной аудитории

Реализация сделок, также известных как частные торговые площадки (PMP), в рамках аукциона с защищенной аудиторией.

Обзор

Сделки, также называемые частными торговыми площадками (PMP), предоставляют покупателям ограниченный доступ или льготные цены на определенный набор товаров. Для упрощения программных сделок используются идентификаторы прав доступа и идентификаторы сделок :

  • Идентификатор места (seat ID) формируется покупателем и представляет собой идентификатор клиента покупателя. Идентификатор места может иметь значение для выставления счетов, например, если на место действует скидка у конкретного продавца.
  • Идентификатор сделки (deal ID) формируется либо покупателем, либо продавцом и представляет собой соглашение между покупателем и продавцом. Идентификатор сделки может содержать такие свойства, как стоимость/цена, объем заказа, информация об аудитории, эксклюзивность и многое другое.

Система Protected Audience упрощает заключение сделок, используя идентификаторы отчетов, которые позволяют получать идентификаторы мест и сделок для участия в аукционах, оценки и составления отчетов. Идентификаторы отчетов предоставляют компаниям, работающим в сфере рекламных технологий, механизм для получения этих идентификаторов сделок и мест в отчетах Protected Audience после аукциона, что позволяет заключать сделки и организовывать выставление счетов. Мы ожидаем, что покупатели, продавцы, агентства и рекламодатели могут иметь собственные стратегии для интерпретации и понимания получаемых ими идентификаторов сделок и мест.

Пошаговое руководство

Последовательность действий для заключения сделок на аукционе с защищенной аудиторией следующая:

  1. Покупатель регистрирует идентификаторы сделки и места в конфигурации группы интересов до начала аукциона.
    • Идентификаторы сделок и мест можно задать в поле «Выбираемые идентификаторы отчетов » ( selectableBuyerAndSellerReportingIds ).
    • Если идентификатор места одинаков для всех сделок, то этот идентификатор места можно задать в поле buyerAndSellerReportingId , а идентификаторы сделок — в поле selectable reporting IDs ( 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. Идентификаторы сделок и мест для покупателей во время формирования заявок.

В процессе генерации ставок покупатель решает, хочет ли он сделать ставку на определенный ID сделки. В generateBid() покупатель может выбрать ID сделки из массива selectableBuyerAndSellerReportingIds и вернуть значение в качестве selectedBuyerAndSellerReportingId . Ставка отклоняется, если выбранный ID сделки отсутствует в массиве 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 , не прошедшие проверку k-анонимности, не будут присутствовать в группе интересов при повторном запуске.

3. Идентификаторы сделок и мест для продавцов при оценке рекламы.

Выбранный идентификатор сделки, а также идентификатор места (если он присутствует), становятся доступными для scoreAd() . Продавец присваивает выигрышной ставке оценку привлекательности с учетом идентификатора сделки и любых особых условий. Если продавец считает, что выбранный покупателем идентификатор сделки не подходит, он отклоняет ставку, присваивая ей нулевую или отрицательную оценку привлекательности.

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

  // ...
}

4. Идентификаторы сделок и мест для продавцов, предоставляющих отчеты.

Напомним, что ставка может выиграть аукцион только в том случае, если selectedBuyerAndSellerReportingId , buyerAndSellerReportingId (если присутствует) и buyerReportingId (если присутствует) являются k-анонимными по отношению к владельцу группы интересов, URL скрипта торгов, URL рендеринга и размеру объявления (размер объявления исключен из этой проверки как минимум до первого квартала 2025 года). Таким образом, значения идентификаторов отчетов, включающие selectedBuyerAndSellerReportingId , всегда будут доступны внутри reportResult() . Обратите внимание, что, хотя buyerReportingId проверяется на k-анонимность, это значение доступно только функции отчетности покупателя, а не функции отчетности продавца.

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;
}

Принимайте участие и делитесь отзывами.