Настройка Header Bidding

Внимание. Перед настройкой Header Bidding убедитесь, что:
  • с каждым подключаемым монетизатором заключен отдельный договор для торгов с применением технологии Header Bidding;
  • в личном кабинете монетизатора создан рекламный блок.

Для запуска внешней монетизации выполните все этапы настройки. Важно, чтобы прослеживалась связь с монетизатором для ряда объектов:

  • в типе баннера шаблон для монетизатора N;
  • рекламная кампания, в параметрах которой указан внешний монетизатор N;
  • баннер в рекламной кампании, созданный с шаблоном монетизатора N;
  • на сайте должен быть скрипт с настройками для запросов ставок от площадок к монетизатору N.
  1. Шаг 1. Настройка аккаунта Adfox
  2. Шаг 2. Создание конфигурационного скрипта
  3. Шаг 3. Размещение скриптов на сайте

Шаг 1. Настройка аккаунта Adfox

  1. Определите типы баннеров, на которых будет происходить размещение покупателей. При необходимости создайте новые типы баннеров.
  2. К типам баннеров добавьте шаблоны для внешних монетизаторов header bidding:
    1. Перейдите в меню Настройки → Типы баннеров → Собственные → Безразмерные. Рядом с нужным типом баннера нажмите .
    2. Нажмите Использовать предзаданный и добавьте шаблоны для покупателей, которые именуются так:
      Header Bidding {название покупателя} [context]

      Для монетизаторов, работающих через Adfox HB, выберите шаблон Header Bidding Adfox [context].

  3. Определите площадки для размещения покупателей и при необходимости создайте новые площадки.
  4. Для каждого покупателя добавьте одну рекламную кампанию:
    • Поля Название и Рекламодатель можно заполнить произвольно.
    • В параметре Внешний монетизатор выберите нужного покупателя.
    • Для монетизаторов, работающих через Adfox HB:
      • Укажите owner_id — идентификатор аккаунта покупателя в Adfox. Узнать его можно от монетизатора или из кода вставки монетизатора, например:

      • CPM указывается в аккаунте монетизатора Adfox HB.
      Примечание. Если ваш аккаунт является монетизатором Adfox HB, вы можете задать отдельные CPM для флайтов и рекламных мест внутри рекламной кампании. Чтобы узнать подробнее, обратитесь в службу поддержки Adfox.
  5. После добавления кампании откроется вкладка Размещение. Включите размещение кампании опцией слева от названия сайта и нажмите кнопку Изменить.
  6. Создайте в кампаниях баннеры, используя шаблоны для монетизаторов. Для этого в настройках кампании:
    1. Перейдите на вкладку Баннеры и выберите нужный тип баннера.

      В списке будут только типы баннеров, в которых есть шаблоны для покупателя, выбранного в параметрах кампании. Например, если рекламная кампания создана для покупателя Criteo, а в тип баннера был добавлен шаблон Header Bidding HPMD [context], при добавлении баннера в такую кампанию, нельзя будет выбрать тип баннера, потому что в нем нет подходящего шаблона Header Bidding Criteo [context].

    2. Откроется вкладка Содержимое баннера. Выберите нужный шаблон.
    3. В окне с параметрами баннера укажите его название и нажмите Добавить.
  7. Скопируйте идентификаторы (ID) созданных кампаний, они необходимы будут для дальнейших шагов по настройке конфигурационного скрипта на сайте.
    Как получить ID кампании
    ID кампании отображается рядом с ее названием на странице со всеми кампаниями.

Шаг 2. Создание конфигурационного скрипта

  1. Подготовьте код вставки рекламного места:
    • Если вы еще не добавляли код вставки на сайт, получите его по инструкции.
    • Если код уже стоит на сайте, возьмите его из верстки.

    В коде вставки найдите параметр containerId и скопируйте его значение. Оно понадобится на этапе создания скрипта в качестве значения ID контейнера.

  2. Создайте скрипт с помощью HB конфигуратора:
    1. Перейдите на вкладку Монетизация → HB конфигуратор.
      Важно. Конфигуратор доступен, только если у вас есть кампании с внешним монетизатором.
    2. Нажмите кнопку Добавить контейнер. Укажите ID контейнера. Используйте значение параметра containerId, которое вы скопировали ранее из кода вставки настраиваемого рекламного места.
    3. Выберите тип рекламного запроса, который вы хотите получать в этом рекламном месте: Banner, Combo, InPage или InStream.
      Для типа Banner:
      • Нажмите кнопку Добавить биддера.
      • Укажите размеры баннера — ширину и высоту в пикселях. Например, [300, 300].
      • Выберите покупателя и укажите Идентификатор площадки покупателя.
    4. В поле User Timeout укажите время ожидания ответа от сервера биддера в миллисекундах.
    5. Поле Trusted Owners — необязательный параметр. Если вы планируете передавать ставки в запросы других аккаунтов Adfox через шаблон Проброс кода Adfox [loader], укажите через запятую идентификаторы аккаунтов, коды из которых будут пробрасываться.
    6. Нажмите Сгенерировать. Скрипт появится в поле справа.
    7. Нажмите Скопировать.
      Пример заполнения параметров для монетизатора, работающего через Adfox HB

    Скрипт также можно создать вручную по инструкции. При ручной настройке вы сможете добавить дополнительные функции, например, вызов cookie-sync пикселя.

Шаг 3. Размещение скриптов на сайте

  1. Добавьте полученный скрипт в head страницы сайта.

    Если вы создавали конфигурационный скрипт вручную, дополнительно:

    • Проверьте, что в head страницы добавлен код загрузчика рекламы:
      <script>window.yaContextCb = window.yaContextCb || []</script>
      <script src="https://yandex.ru/ads/system/context.js" async></script>
    • В любом месте страницы асинхронно добавьте скрипт header-bidding.js:
      <script src="https://yandex.ru/ads/system/header-bidding.js" async></script>
    Примечание. Настройки Header Bidding можно добавить в любое место на странице, но обязательно перед загрузчиком. Тогда загрузчик определит, что на странице есть Header Bidding и какие объявления должны дождаться ставок.
    Пример подключения скриптов
    <head>
      <script src="https://yandex.ru/ads/system/header-bidding.js" async></script>
      <script>
        var adfoxBiddersMap = {
          criteo: '710398',
          adriver: '737037
        };
        var adUnits = [
          {
            code: 'adfox_1',
            bids: [
              {
                bidder: 'criteo',
                params: { placementId: 917087 }
              }
            ]
          },
          {
            code: 'adfox_2',
            sizes: [[ 728, 90 ]],
            bids: [
              {
                bidder: 'criteo',
                params: { placementId: 917087 }
              },
              {
                bidder: 'adriver',
                params: { placementId: 762890 }
              }
            ]
          }
        ];
        var userTimeout = 500;
        window.YaHeaderBiddingSettings = {
          biddersMap: adfoxBiddersMap,
          adUnits: adUnits,
          timeout: userTimeout
        };
      </script>
      <script>window.yaContextCb = window.yaContextCb || []</script>
      <script src="https://yandex.ru/ads/system/context.js" async></script>
    </head>
  2. Разместите код вставки рекламного блока в том месте, где вы хотите показывать рекламу. Если код вставки уже добавлен на ваш сайт, менять его не нужно.
Примечание. Если для контейнера используется функция перезагрузки кода (метод reload), при перезагрузке контейнера осуществляется повторный запрос ко всем покупателям, заданным для этого контейнера в объекте adUnits.
Примечание. Если сайт с бесконечной подгрузкой контента, в том числе с рекламными местами, и требуется осуществить новые запросы к покупателям, используйте решение для сайтов с «бесконечной» прокруткой.
Пример подключения скриптов и настройки конфигурационного скрипта
<head>       
  <script src="https://yandex.ru/ads/system/header-bidding.js" async></script>
  <script>
    window.YaHeaderBiddingSettings = {
      biddersMap: {
        criteo: '710398',
        adriver: '737037',
        hpmd: '737040',
        adfox_example: '168627'
      },
      adUnits: [
        {
          code: 'adfox_1',
          bids: [
            {
              bidder: 'criteo',
              params: { placementId: 917087 }
            }
          ]
        },
        {
          code: 'adfox_2',
          sizes: [[ 728, 90 ]],
          bids: [
            {
              bidder: 'criteo',
              params: { placementId: 917087 }
            },
            {
              bidder: 'adriver',
              params: { placementId: 762890 }
            },
            {
              bidder: 'adfox_example',
              params: { p1: 'bxzlm', p2: 'ekwz' }
            }
          ]
        },
        {
          code: 'adfox_3',
          bids: [
            {
              bidder: 'hpmd',
              params: { placementId: '2360' }
            }
          ]
        }
      ],
      timeout: 500
    };
  </script>
  <script>window.yaContextCb = window.yaContextCb || []</script>
  <script src="https://yandex.ru/ads/system/context.js" async></script>
</head>
<body>
  <div id="adfox_1"></div>
  <script>
    window.yaContextCb.push(()=>{
      Ya.adfoxCode.create({
        ownerId: 255196,
        containerId: 'adfox_1',
        params: { pp: 'g', ps: 'cnsf', p2: 'frnp' }
      })
    })
  </script>
  <div id="adfox_2"></div>
  <script>
    window.yaContextCb.push(()=>{
      Ya.adfoxCode.create({
        ownerId: 255196,
        containerId: 'adfox_2',
        params: { pp: 'g', ps: 'cnsh', p2: 'frnq' }
      })
    })
  </script>
  <div id="adfox_3"></div>
  <script>
    window.yaContextCb.push(()=>{
      Ya.adfoxCode.create({
        ownerId: 255196,
        containerId: 'adfox_3',
        params: { pp: 'g', ps: 'cnsh', p2: 'frny' }
      })
    })
  </script>
</body>
Пример подключения скриптов и настройки конфигурационного скрипта c InPage и баннерной рекламой в едином блоке
<script src="https://yandex.ru/ads/system/header-bidding.js" async></script>
<script>
  window.YaHeaderBiddingSettings = {
    biddersMap: { buzzoola: '776727', betweenDigital: '1114942' },
    adUnits: [
      {
        code: 'adfox_156536764866112926',
        codeType: 'combo',
        bids: [
          { bidder: 'buzzoola', params: { placementId: '296669' } },
          { bidder: 'betweenDigital', params: { placementId: '3263439' } }
        ]
      }
    ],
    timeout: 1000
  }; 
</script>
<script>window.yaContextCb = window.yaContextCb || []</script>
<script src="https://yandex.ru/ads/system/context.js" async></script>        
              
Пример подключения скриптов и настройки конфигурационного скрипта c InPage
<script src="https://yandex.ru/ads/system/header-bidding.js" async></script>
<script>
  window.YaHeaderBiddingSettings = {
    biddersMap: { buzzoola: '776727', betweenDigital: '1114942' },
    adUnits: [
      {
        code: 'adfox_156536764866112926',
        codeType: 'inpage,
        bids: [
          { bidder: 'buzzoola', params: { placementId: '296669' } },
          { bidder: 'betweenDigital', params: { placementId: '3263439' } }
        ]
      }
    ],
    timeout: 1000
  };
</script>
<script>window.yaContextCb = window.yaContextCb || []</script>
<script src="https://yandex.ru/ads/system/context.js" async></script>
                            
Пример подключения скриптов и настройки конфигурационного скрипта c Instream
<script src="https://yandex.ru/ads/system/header-bidding.js" async></script>
<script>
  window.YaHeaderBiddingSettings = {
    biddersMap: { adriver: '776690', betweenDigital: '1114942' },
    adUnits: [
      {
        code: 'adfox_156536764866112926',
        codeType: 'instream,
        bids: [
          {
            bidder: 'adriver',
            adBreakTypes: ['preroll','midroll'],
            params: { placementId: '5534564' }
          },
          {
            bidder: 'betweenDigital',
            adBreakTypes: ['preroll', 'midroll', 'postroll'],
            params: { placementId: '3575996' }
          }
        ]
      }
    ],
    timeout: 1500
  };
</script>
<script>window.yaContextCb = window.yaContextCb || []</script>
<script src="https://yandex.ru/ads/system/context.js" async></script>