Руководство по интеграции и тестированию защищенной аудитории (ранее известной как FLEDGE) для SSP

В рамках Privacy Sandbox Chrome предложил Protected Audience API — встроенный в браузер API, который позволяет рекламодателям и компаниям, занимающимся рекламными технологиями, курировать и ориентироваться на группы интересов (списки аудиторий), не полагаясь на сторонние файлы cookie, одновременно защищая пользователей от перекрестных атак. отслеживание сайта. Руководство для разработчиков

Поставщики общих услуг могут протестировать API защищенной аудитории с помощью Display & Video 360 и Google Ads, чтобы:

  • Продолжайте работать и узнайте об эффективности потоков API Protected Audience.
  • Предлагайте и генерируйте отзывы о потенциальных улучшениях API на общедоступных форумах, например GitHub .
  • Подготовьтесь к поддержке персонализированной рекламы через API Protected Audience, не полагаясь на сторонние файлы cookie.

В следующем руководстве описаны детали интеграции между SSP, Display & Video 360 и Google Ads. Поставщики общих служб, заинтересованные в координации тестирования, должны связаться со своим представителем Партнерства Display & Video 360.

Регистрация

Поставщики общих служб должны зарегистрироваться , чтобы использовать API защищенной аудитории.

Сводка потока обслуживания

На следующей диаграмме показан общий процесс с описанием основных точек взаимодействия между Chrome, SSP, Display & Video 360 и Google Ads.

Диаграмма последовательности, показывающая запросы между Chrome, SSP и DSP.

Варианты интеграции

Вариант 1: Прямой/одиночный продавец

Подробный поток запросов для аукционов с одним продавцом

Шаги:

  1. Тег объявления SSP отправляет запрос объявления на сервер SSP, указывая, что браузер поддерживает API Protected Audience.
  2. Сервер SSP отправляет контекстный запрос ставки OpenRTB в DSP, указывая, что браузер поддерживает API защищенной аудитории.
  3. DSP отвечает ответом на заявку OpenRTB, содержащим сигналы для аукциона на устройстве.
  4. Сервер SSP отправляет ответ на объявление с конфигурацией аукциона в тег объявления SSP.
  5. Рекламный тег SSP инициирует аукцион на устройстве, вызывая runAdAuction() , передавая сигналы из ответа на ставку openRTB DSP через perBuyerSignals .
  6. Chrome вызывает доверенный сервер назначения ставок DSP для получения сигналов назначения ставок в реальном времени.
  7. Chrome вызывает функцию generateBid() DSP для каждой участвующей группы интересов.
  8. Chrome вызывает доверенный сервер оценки SSP с ключом/значением для получения сигналов оценки в реальном времени.
  9. Chrome вызывает функцию JavaScript SSP scoreAd() для каждой участвующей группы интересов.
  10. Chrome вызывает функцию reportWin() DSP JavaScript, чтобы сообщить DSP о победителе.
  11. Chrome вызывает функцию reportResult() SSP JavaScript, чтобы сообщить SSP о победителе.

Минимум изменений на стороне SSP

  • Тег объявления SSP необходимо обновить, чтобы

    • определить, поддерживает ли браузер API защищенной аудитории
    • отправьте эту информацию как часть запроса объявления на сервер SSP [1]
    • инициируйте аукцион на устройстве, вызвав runAdAuction() передав сигналы из ответа на заявку OpenRTB DSP [5] (см. поле данных покупателя в запросе ставки и структуру ответа ниже).
  • Серверу SSP необходимо

    • распространять информацию о поддержке API защищенной аудитории в DSP через поле в запросе ставки OpenRTB [2] (см. раздел о запросе ставки и структуре ответа ниже).
    • распространять сигналы покупателя DSP в ответе на ставку OpenRTB в рекламный тег SSP (см. раздел о структуре запроса ставки / ответа на ставку ниже) [4]
  • [Optional] SSP необходимо внедрить доверенный сервер SSP для получения сигналов оценки в реальном времени для поддержки проверок качества рекламы и принудительного применения настроек издателя [8]

  • SSP необходимо реализовать JavaScript с функциями "scoreAd(...)" и "reportResult(...)" [9] , [11]

Вариант 2: Мультипродавец

Подробный поток запросов для аукционов с участием нескольких продавцов

Шаги:

  1. Адаптер SSP отправляет запрос объявления на сервер SSP, указывая, что браузер поддерживает API Protected Audience.
  2. Сервер SSP отправляет контекстный запрос ставки OpenRTB в DSP, указывая, что браузер поддерживает API защищенной аудитории.
  3. Сервер DSP отвечает ответом на предложение openRTB, содержащим сигналы для аукциона на устройстве.
  4. Сервер SSP отправляет ответ на объявление с конфигурацией аукциона в тег объявления SSP.
  5. Адаптер SSP Prebid предоставляет конфигурацию аукциона компонентов для тега сервера объявлений издателя.
  6. Тег сервера объявлений издателя отправляет запрос объявления на сервер сервера объявлений издателя.
  7. Тег сервера рекламы издателя инициирует аукцион на устройстве, вызывая API runAdAuction(...) .
  8. Chrome вызывает доверенный сервер назначения ставок DSP для получения сигналов ставок в реальном времени.
  9. Chrome вызывает функцию generateBid() DSP для каждой участвующей группы интересов.
  10. Chrome вызывает доверенный сервер оценки SSP для получения сигналов оценки в режиме реального времени.
  11. Chrome вызывает функцию JavaScript SSP scoreAd() для каждой участвующей группы интересов.
  12. Chrome вызывает функцию reportWin() DSP JavaScript, чтобы сообщить DSP о победителе.
  13. Chrome вызывает функцию reportResult() SSP JavaScript, чтобы сообщить SSP о победителе.

Минимум изменений на стороне SSP

  • Адаптер SSP необходимо обновить до

  • Серверу SSP необходимо

    • распространять информацию о поддержке защищенной аудитории в DSP через поле в запросе ставки OpenRTB [2] (см. раздел о запросе ставки и структуре ответа ниже).
    • распространять сигналы покупателя DSP в ответе на ставку OpenRTB в рекламный тег SSP (см. раздел о структуре запроса ставки / ответа на ставку ниже) [4]
  • [Optional] SSP необходимо внедрить доверенный сервер SSP для получения сигналов оценки в реальном времени для поддержки проверок качества рекламы и принудительного применения настроек издателя [10]

  • SSP необходимо предоставить доступ к JavaScript с помощью функций scoreAd() и reportResult() [11] , [14] .

Услуги по проведению торгов и аукционов

Мы внимательно изучаем proposal Службы торгов и аукционов (B&A).

Когда Display & Video 360 будет готов протестировать API Protected Audience с B&A, мы сообщим вам более подробную информацию.

протокол OpenRTB

Запрос ставки

Чтобы отличить возможности показа, которые поддерживают аукцион на устройстве API Protected Audience API, от тех, которые поддерживают только стандартный обменный аукцион на стороне сервера, необходимо добавить новое перечислимое поле под названием ae для «среды аукциона» в качестве расширения объекта Imp в OpenRTB. запрос ставки, чтобы указать, какая аукционная среда поддерживается данным слотом показов. Перечисление ae может иметь следующие значения:

  • 0 : Стандартные серверные аукционы.
  • 1 : Запросы с поддержкой API защищенной аудитории, при которых контекстный аукцион проводится на серверах биржи, а ставки по группам интересов и окончательный аукцион выполняются в браузере.
{
  "id": 
  "imp": [{
    "id": "1"
    "video": {...}
    "ext": {
      "ae": 1
    }]
}

Ответ на заявку

Помимо контекстных ставок, ответ на заявку также используется для передачи информации, связанной с участием Display & Video 360 и Google Ads в аукционах групп интересов Protected Audience API. Ответ на заявку обновляется для поддержки аукционов по группам интересов следующим образом:

{
  "seatbid": [{
    "bid": [{
       // Traditional contextual bids
    }]
  }],

  "ext": {
    // InterestGroupBidding object which holds information for running an
    // in-browser interest group auction.
    "igbid": [{
      // ID of the Imp object of the impression to which
      // these interest group bidding signals apply to.
      "impid": "1",

      // InterestGroupBuyer object which holds DSP information for the in-browser
      // auction.
      "igbuyer": [{
        // Origin of Display & Video 360 and Google Ads to participate in the
        // interest group auction. For more info regarding the origin see:
        // https://developer.mozilla.org/en-US/docs/Glossary/Origin
        "origin": "https://td.doubleclick.net",

        // Buyer-specific signals to use in auctionConfig as perBuyerSignals.
        // Used by the buyer's interest group bidding function. Can be left empty
        "buyerdata": ...,

        // Buyer experiment group id to support coordinated experiments with
        // buyers' trusted servers. This experiment id should be added to the
        // `perBuyerExperimentGroupIds` map in auctionConfig.
        "buyer_experiment_group_id": 12345
      }]
    }]
  }
}

Поддерживаются следующие сценарии.

  • СЦЕНАРИЙ 1. Display & Video 360 и Google Ads хотят участвовать только в контекстном аукционе. В этом сценарии поле igbid отсутствует.

  • СЦЕНАРИЙ 2. Display & Video 360 и Google Ads хотят участвовать только в аукционе группы по интересам. В этом сценарии Display & Video 360 и Google Ads удалят поле «ставка места» в ответе на ставку и будут возвращать только информацию igbid. Другими словами, наличие поля igbid указывает на то, что Display & Video 360 и Google Ads хотят, чтобы их группы по интересам участвовали в аукционе на устройстве.

  • СЦЕНАРИЙ 3. Display & Video 360 и Google Ads хотят участвовать как в контекстных аукционах, так и в аукционах по группам интересов. В этом сценарии Display & Video 360 и Google Ads вернут как поле SeatBid в ответе на ставку, так и информацию igbid.

Метаданные со ставкой объявления

API Protected Audience позволяет passing arbitrary metadata о объявлении из generateBid() .

Display & Video 360 планирует использовать следующую specification метаданных рекламы: API Protected Audience и OpenRTB.

А именно Display & Video 360 вернет следующие поля как часть объекта объявления:

Атрибут PA Тип Описание OpenRTB
рекламное место Нить; необходимый Идентификатор места покупателя (например, рекламодателя, агентства), от имени которого сделана эта ставка.
рекламный домен Нить[] Домен рекламодателя для проверки черного списка (например, «ford.com»). Это может быть массив в случае ротации объявлений. Биржи могут потребовать, чтобы был разрешен только один домен.
ad.cid нить Идентификатор кампании для помощи в проверке качества объявлений.
ad.crid нить Креативный идентификатор для помощи в проверке качества рекламы.
язык объявления нить Язык объявления использует ISO-639-1-alpha-2. Нестандартный код «хх» также можно использовать, если креатив не имеет лингвистического содержания (например, баннер с логотипом компании). Должен присутствовать только один из языков или языков.
ad.w целое число Ширина объявления в аппаратно-независимых пикселях (DIPS).
ад.ч целое число Высота объявления в аппаратно-независимых пикселях (DIPS).

Пример

{
  "seat": "123"
  "adomain": ["example.com"]
  "cid": "12345"
  "crid": "12345"
  "language": "en"
  "w": 300
  "h": 250
}

Отчеты о событиях

API Protected Audience API предоставляет API отчетов на уровне событий, описанный в этой публикации GitHub: Fenced Frame Ads Reporting . Несмотря на то, что в названии указано «Отчеты об объявлениях с огражденными фреймами», API доступен как в изолированных фреймах, так и в iframe (подробности см. here ).

SSP может зарегистрировать URL-адрес в браузере в своей функции reportResult, вызвав API registerAdBeacon() .

Дисплей и Видео 360 вызовет API reportEvent() с целевым «продавцом компонента» из креатива, чтобы сообщить о показах и событиях кликов. Это приведет к отправке маяка на зарегистрированный URL-адрес.

Обратите внимание, что Display & Video 360 будет вызывать API reportEvent() для показов и кликов с пустыми данными публикации.

Пример

registerAdBeacon({
 'impression': 'https://ssp.example/impression?ssp_event_id=abc',
});
registerAdBeacon({
 'click': 'https://ssp.example/click?ssp_event_id=abc',
});

Display & Video 360 примет участие в Chrome-facilitated testing . Чтобы иметь возможность провести тестирование, мы просим партнеров передать нам метки Chrome в запросе ставки OpenRTB в соответствии со следующей specification :

Объект: Device.ext

Атрибут Тип Описание
CDEP Нить метка, полученная от Chrome или вышестоящего партнера.