Создание и размещение скрипта на сайте

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

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

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

  2. Создайте скрипт с помощью HB конфигуратора:
    1. Перейдите на вкладку Монетизация → HB конфигуратор.
      Примечание. Конфигуратор доступен, только если у вас есть кампании с внешним монетизатором.
    2. Нажмите Добавить контейнер. Укажите ID контейнера — значение параметра containerId, которое вы скопировали ранее из кода вставки.
    3. Выберите тип рекламного запроса, который вы хотите получать в этом рекламном месте: Banner, Combo, InPage или In-Stream.
      Важно. От монетизаторов, интегрированных с библиотекой Prebid, доступны объявления только с типом Banner.
    4. Нажмите кнопку Добавить монетизатора.
    5. Укажите ширину и высоту баннера в пикселях: например, [300, 300]. Этот параметр является обязательным для Prebid-монетизаторов и некоторых монетизаторов Yandex Header Bidding.
    6. Выберите монетизаторов и укажите их параметры:
      • Для монетизаторов Yandex Header Bidding обязательно укажите Идентификатор площадки монетизатора (Placement ID). Узнать Placement ID можно у монетизатора напрямую.

        Таблица с данными монетизаторов Yandex Header Bidding
        Монетизатор Ключ монетизатора Необходимость передачи параметра sizes In-Stream video Поддержка combo*

        (подробнее см. ниже)

        Параметр площадки в params
        AdMixer AdMixer нет нет да placementId
        ADSPEND adspend да нет нет
        Adtelligent adtelligent нет нет нет
        Adwile adwile нет нет нет
        Alfasense alfasense да нет нет
        All in One Media aio нет нет нет
        Astralab astralab нет нет да
        Between Digital betweenDigital да да да
        Bidvol bidvol да да да
        Buzzoola buzzoola да нет да
        СlicksСloud clickscloud нет нет нет
        Criteo criteo нет нет да
        DGT SSP dgt_ssp нет нет нет
        Fotostrana fotostrana нет нет нет
        GetIntent getintent нет нет нет
        Gnezdo Gnezdo нет нет нет
        HPMD (Happy Monday) hpmd нет да нет
        Hybrid hybrid да нет да
        Kadam Kadam нет нет нет
        Media Instinct Group mit нет нет да
        MediaSniper mediasniper да нет да
        Mediatoday mediatoday нет нет нет
        Mgid mgid да нет нет
        MTS mts нет да да
        MyTarget myTarget нет нет да
        NativeLab nativelab да нет нет
        NetBanners netbanners да нет нет
        OTM otm нет да нет
        Pladform pladform да нет нет
        Qvant DSP qvant_dsp да нет нет
        Redllama redllama нет нет нет
        Relap relap нет нет нет
        Roxot roxot да нет да
        Sape sape нет да да
        Segmento segmento да да да
        SMI2 smi2 нет да да
        Soloway adriver да да да
        Solta solta да да да
        Tinkoff tinkoff нет нет нет
        Videonow videonow нет нет да
      • Для монетизаторов, интегрированных с библиотекой Prebid.js, набор обязательных и дополнительных параметров отличается. Список обязательных параметров в зависимости от монетизатора представлен в таблице ниже.

        Таблица с данными Prebid-монетизаторов
        Монетизатор Ключ монетизатора Обязательные параметры Опциональные параметры
        AdKernel pb_adkernel

        host (string)

        zoneId (integer)

        adkernel_prebid.org
        AdRiver pb_adriver

        siteid (integer)

        placementId (string)

        adriver_prebid.org
        Between Digital pb_between s (string) between_prebid.org
        CPMStar pb_cpmstar placementId (integer) cpmstar_prebid.org
        Getintent pb_getintent pid (integer) getintent_prebid.org
        Hybrid pb_hybrid

        placeId (string)

        placement (string)

        hybrid_prebid.org
        myTarget pb_mytarget placementId (string) mytarget_prebid.org
        PubMatic pb_pubmatic publisherId (string) pubmatic_prebid.org
        Silverpush pb_silverpush publisherId (string) silverpush_prebid.org
        VOX pb_vox

        placementId (string)

        placement (string)

        vox_prebid.org

        Все необходимые параметры можно получить у монетизатора напрямую.

      • Для монетизаторов, работающих через Adfox HB, укажите params из кода вставки. Эти параметры нужно запросить у подключаемого монетизатора.

        Таблица с данными монетизаторов Adfox HB
        Монетизатор Ключ монетизатора Необходимость передачи sizes в adUnits Поддержка In-Stream video Поддержка combo*

        (подробнее см. ниже)

        Параметр площадки в params
        Digital Alliance adfox_imho-banners нет да да переменные из объекта params кода вставки монетизатора
        Другие монетизаторы, работающие через Adfox HB adfox_{owner_name}, где {owner_name} — название аккаунта-монетизатора нет нет да
      Внимание. На одном рекламном месте нельзя сочетать монетизаторов, которые поддерживают combo и которые его не поддерживают. Если на вашем рекламном месте предполагается смешанный combo-аукцион, подключайте к нему только монетизаторов с поддержкой combo. Ставки от монетизаторов, не поддерживающих combo, будут игнорироваться.
    7. Если на странице несколько рекламных мест, нажмите Добавить контейнер, укажите containerId другого рекламного места и добавьте монетизаторов аналогичным образом. Для каждого монетизатора можно указать не больше десяти containerId.
    8. В поле User Timeout укажите время ожидания ответа от сервера монетизатора в миллисекундах.
    9. Поле Trusted Owners — необязательный параметр. Если вы планируете передавать ставки в запросы других аккаунтов Adfox через шаблон Проброс кода Adfox [loader], укажите через запятую идентификаторы аккаунтов, из которых будут пробрасываться коды.
    10. Нажмите Сгенерировать. Когда скрипт появится в поле справа, нажмите Скопировать.
  3. Если в скрипте есть Prebid-монетизаторы, не забудьте установить библиотеку Prebid.js и добавить скрипт с вызовом библиотеки.
  4. Разместите полученный скрипт на сайте.
    Важно. Код загрузчика должен быть установлен на странице один раз и находиться ниже скрипта с настройками Header Bidding. Так загрузчик обнаружит, что на этой странице есть Header Bidding, и определит, какие объявления должны дождаться ставок. Если вы уже устанавливали код загрузчика ранее, удалите лишний.
  5. Разместите код вставки рекламного блока в том месте, где вы хотите показывать рекламу. Если код вставки уже добавлен на сайт, менять его не нужно.

Пример единого скрипта для Yandex Header Bidding и Prebid.js

Примечание. Подробное описание параметров скрипта смотрите ниже под примером.
<!-- Пример вызова Prebid.js -->
<script src="https://example.ru/libraries/prebid.js"></script>
<!-- Вызов header-bidding.js -->
<script async src="https://yandex.ru/ads/system/header-bidding.js"></script>
        
<script>

  // API библиотеки Prebid.js
  var pbjs = pbjs || {};
  pbjs.que = pbjs.que || [];
        
  // Объект с парами 'ключ монетизатора': 'идентификатор рекламной кампании'
  var adfoxBiddersMap = {
    'criteo': '2637485',
    'pb_pubmatic': '2647539', 
    'adfox_imho-banners': '2567834'
  };
  
  // Массив объектов с данными монетизаторов  
  var adUnits = [
    {
      code: 'adfox_hb', // containerId из кода вставки Adfox
      sizes: [[300, 250]], // Размеры баннера
      bids: [ // Данные о монетизаторах
        {
          bidder: 'criteo', // Ключ монетизатора для монетизатора Yandex Header Bidding
          params: { placementId: '917087' } // placementID из кабинета монетизатора
        }
        {  
          bidder: 'pb_pubmatic', // Ключ монетизатора для монетизатора, интегрированного с Prebid.js
          params: { publisherId: '32572' } // Параметр publisherId из кабинета PubMatic
        }
        {
          bidder: 'adfox_imho-banners', // Ключ монетизатора для монетизатора Adfox HB
          params: { p1: 'bxzlm', p2: 'ekwz' } // Параметры из кода вставки монетизатора Adfox HB
        }        
      ]
    },
  ];
        
  var userTimeout = 2000; // Время ожидания от сервера монетизатора
  
  // Пространство имен с настройками      
  window.YaHeaderBiddingSettings = {
    pbjs: pbjs, // Обязательный параметр, если подключены Prebid-монетизаторы
    biddersMap: adfoxBiddersMap,
    adUnits: adUnits,
    timeout: userTimeout,
  };
</script>

<!-- Загрузчик рекламы -->
<script> window.yaContextCb = window.yaContextCb || []</script> 
<script src="https://yandex.ru/ads/system/context.js" async></script>
Описание параметров скрипта
Параметр Описание
pbjs API библиотеки Prebid.js. Обязательный элемент, если вы подключаете монетизаторов, интегрированных с Prebid.js. В параметр необходимо установить значение pbjs.
Пример
var pbjs = pbjs || {};
pbjs.que = pbjs.que || [];
biddersMap Объект с парами 'ключ': 'значение', где:
  • ключ — ключ монетизатора в одинарных кавычках. Ключи монетизаторов можно узнать в таблицах с данными монетизаторов (см. п. 2.6 инструкции выше).
  • значение — идентификатор рекламной кампании для выбранного монетизатора, созданной на 11 уровне Динамической монетизации, в одинарных кавычках.
Пример
'betweenDigital': '787336'
adUnits

Массив объектов с информацией о том, среди каких монетизаторов разыгрывать объявления. Содержит:

  • code — идентификатор контейнера для баннера (равен containerId в коде вставки Adfox);
  • codeType — тип рекламного запроса, который вы хотите получать в этом рекламном месте. Принимает значения:
    • combo — для получения и InPage, и баннерной рекламы;
    • inpage — для получения только InPage рекламы;
    • instream — для получения только In-Stream рекламы.

    Если в ответе приходит json/html или параметр codeType не задан, будет показана баннерная реклама.

  • sizes — размеры баннера. Обязательный параметр для монетизаторов, интегрированных с Prebid.js, и некоторых других монетизаторов (см. таблицу с данными монетизаторов в п. 2.6 выше).

    Массив массивов, в котором первое значение — ширина, а второе — высота.

    Пример
    sizes: [[ 728, 90 ]];
  • bids — данные о монетизаторах, подключенных к торгам для этой площадки. Представляет собой массив объектов:
    • bidder — ключ монетизатора;
    • params — объект с парами 'параметр площадки': 'значение', где:
      • параметр площадки — настройка для конкретного монетизатора;
      • значение — набор параметров, которые нужно получить от монетизатора.
      Содержимое объекта params зависит от монетизатора:
      • Для монетизаторов Yandex Header Bidding — Placement ID :значение.
        Пример bids для монетизатора Between Digital
        {
          bidder: 'betweenDigital',
          params: {
            placementId: 8
          },
         }
      • Для монетизаторов, интегрированных с Prebid.js, смотрите список параметров в п. 2.6. в инструкции выше.
        Пример bids для монетизатора AdRiver (Prebid)
        {
          bidder: 'pb_adriver',
          params: {
            'siteid': 216200
            'placementId': '55:test_placement'
          },
        }
      • Для монетизаторов, работающих через Adfox HB, заполните — пары 'параметр': 'значение' из объекта params в коде вставки монетизатора.
        Пример
        {
          bidder: 'adfox_example',
          params: {
            'p1': 'bxzlm',
            'p2': 'ekwz'
          },
        }

    Объект params может содержать необязательные элементы:

    • параметр sendTargetRef: true — передает referer, содержащий URL страницы, на которой пользователь кликнул по баннеру;
    • объект additional — содержит дополнительные параметры запроса, которые определяются по договоренности с монетизатором.
    Пример с необязательными параметрами объекта params
    {
      bidder: 'betweenDigital',
      params: {
        placementId: '8',
        sendTargetRef: true, // referer
        additional: { // Дополнительные параметры запроса
          pos: 123,
          ref: 'my-site/page'
        },
      },
    }
    Массив adUnit с необязательными элементами params
    AdUnit [
      {
        code: string; 
        sizes: Sizes; 
        bids: [
          {
            bidder: 'mytarget',
            params: {
              placementId: '320552',
              sendTargetRef: true, // referer
              additional: { // Дополнительные параметры запроса
                pos: 123,
                ref: 'my-site/page'
              },
            },
          }
        ];
      }
    ]                                   

timeout Время ожидания ответа от сервера монетизатора. Рекомендуемое время — 500 мс. Максимально возможное время — 3000 мс, но с таким временем основной контент сайта будет загружаться с задержкой.
trustedOwners Необязательный параметр. Если вы планируете передавать ставки в запросы других аккаунтов Adfox через шаблон Проброс кода Adfox [context], укажите идентификаторы аккаунтов, коды из которых будут пробрасываться.

Другие примеры скриптов с header-bidding.js

Пример подключения скриптов и размещения рекламных мест
<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>
Пример подключения рекламы формата 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>
              
Пример подключения рекламы формата Combo
<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>        
              
Пример подключения рекламы формата In-Stream
<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>
              

Обратиться в службу поддержки

Если ваш вопрос не требует детального изучения, вы можете написать в чат.