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

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

  1. Подготовьте код вставки рекламного места:

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

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

  2. Создайте скрипт с помощью HB конфигуратора:

    1. Перейдите на вкладку Монетизация → HB конфигуратор.

      Примечание

      Конфигуратор доступен, только если у вас есть кампании с внешним монетизатором.

    2. Нажмите Добавить контейнер. Укажите ID контейнера — значение параметра containerId, которое вы скопировали ранее из кода вставки.

    3. Выберите тип рекламного запроса, который вы хотите получать в этом рекламном месте: Banner, Combo, InPage или InStream. Об особенностях подключения типа InStream читайте в разделе Подключение InStream video.

      Важно

      От монетизаторов, интегрированных с библиотекой Prebid, доступны объявления только с типом Banner.

    4. Нажмите кнопку Добавить монетизатора.

    5. Укажите ширину и высоту баннера в пикселях: например, [300, 300]. Этот параметр является обязательным для Prebid-монетизаторов и некоторых монетизаторов Yandex Header Bidding.

    6. Выберите монетизаторов и укажите их параметры:

      • Для монетизаторов Yandex Header Bidding обязательно укажите Идентификатор площадки монетизатора (Placement ID). Узнать Placement ID можно у монетизатора напрямую.

        Таблица с данными монетизаторов Yandex Header Bidding
        Монетизатор Ключ монетизатора Поддержка параметра sizes InStream video Поддержка combo* (подробнее см. ниже) Параметр площадки в params
        AdMixer AdMixer нет нет да placementId
        Adspector adspector да да да placementId
        ADSPEND adspend да нет нет placementId
        Adtelligent adtelligent нет нет нет placementId
        Adwile adwile нет нет нет placementId
        Alfasense alfasense да нет нет placementId
        All in One Media aio нет нет нет placementId
        Astralab astralab нет нет да placementId
        A-traffic atraffic да да да placementId
        Between Digital betweenDigital да да да placementId
        Bidvol bidvol да да да placementId
        Buzzoola buzzoola да нет да placementId
        Criteo criteo нет нет да placementId
        DGT SSP dgt_ssp нет нет нет placementId
        Dynotech dynotech да нет нет placementId
        Fotostrana fotostrana нет нет нет placementId
        GetIntent getintent нет нет нет placementId
        Gnezdo Gnezdo нет да нет placementId
        Hybrid hybrid да нет да placementId
        Kadam Kadam нет нет нет placementId
        Media Instinct Group mit нет нет да placementId
        MediaSniper mediasniper да да да placementId
        Mediatoday mediatoday нет нет нет placementId
        MTS mts нет да да placementId
        MyTarget myTarget нет нет да placementId
        Native Rent nativerent нет нет нет placementId
        NEMEDIA nemedia нет да нет placementId
        OHMYBID ohmybid да да да placementId
        Otclick HB otclick да да да placementId
        OTM otm нет да нет placementId
        Qvant DSP qvant_dsp да нет нет placementId
        Redllama redllama нет нет нет placementId
        Relap relap нет нет нет placementId
        Roxot roxot да да да placementId
        Sape sape нет да да placementId
        Segmento segmento да да да placementId
        SMI2 smi2 нет да да placementId
        Soloway adriver да да да placementId
        Solta solta да да да placementId
        UMG umg да да да placementId
        Upravel upravel да да нет placementId
        Videonow videonow нет нет да placementId
      • Для монетизаторов, интегрированных с библиотекой Prebid.js, набор обязательных и дополнительных параметров отличается. Список обязательных параметров в зависимости от монетизатора представлен в таблице ниже.

        Таблица с данными Prebid-монетизаторов
        Монетизатор Ключ монетизатора Обязательные параметры Опциональные параметры
        AdformOpenRTB pb_adf mid (integer)

        inv (integer)

        mname (string)
        adf_prebid.org
        AdKernel pb_adkernel host (string)

        zoneId (integer)
        adkernel_prebid.org
        AdRiver pb_adriver siteid(integer)

        placementId (string)
        adriver_prebid.org
        AlgoriX pb_algorix sid (string)

        token (string)
        algorix_prebid.org
        AppNexus pb_appnexus placementId (integer) appnexus_prebid.org
        Between Digital pb_between s (string) between_prebid.org
        CPMStar pb_cpmstar placementId (integer) cpmstar_prebid.org
        Criteo pb_criteo networkId (integer)

        pubid(string)
        criteo_prebid.org
        fluct pb_fluct tagId (string)

        groupId (string)
        fluct_prebid.org
        Getintent pb_getintent pid (integer) getintent_prebid.org
        Hybrid pb_hybrid placeId (string)

        placement (string)
        hybrid_prebid.org
        Index Exchange pb_ix siteId (string) ix_prebid.org
        myTarget pb_mytarget placementId (string) mytarget_prebid.org
        OneTag pb_onetag pubId (string) onetag_prebid.org
        OpenX pb_openx delDomain (string)

        unit (string)
        openx_prebid.org
        OperaAds pb_operaads placementId (string)

        endpointId (string)

        publisherId (string)
        operaads_prebid.org
        Programmatica pb_programmatica siteId(string)

        placementId (string)
        programmatica_prebid.org
        PubMatic pb_pubmatic publisherId (string) pubmatic_prebid.org
        Rich Audience pb_richaudience pid (string)

        supplyType (string)
        richaudience_prebid.org
        RTBHouse pb_rtbhouse publisherId (string)

        region (string)
        rtbhouse_prebid.org
        Rubicon Project pb_rubicon accountId (integer)

        siteId (integer)

        zoneId (integer)
        rubicon_prebid.org
        Sape pb_sape placeId (integer) rtbsape_prebid.org
        Silverpush pb_silverpush publisherId (string) silverpush_prebid.org
        Smaato pb_smaato publisherId (string)

        adspaceId (string)

        adbreakId (string)
        smaato_prebid.org
        Smart AdServer (Equativ) pb_smartadserver siteId (integer)

        pageId (integer)

        formatId (integer)
        smartadserver_prebid.org
        Smile Wanted pb_smilewanted zoneId (string) smilewanted_prebid.org
        Sovrn pb_sovrn tagid (string) sovrn_prebid.org
        Teads pb_teads pageId (integer)

        placementId (integer)
        teads_prebid.org
        VOX pb_vox placementId (string)

        placement (string)
        vox_prebid.org

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

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

        Таблица с данными монетизаторов Adfox HB
        Монетизатор Ключ монетизатора Поддержка параметра sizes в adUnits Поддержка InStream video Поддержка combo* (подробнее см. ниже) Параметр площадки в params
        Digital Alliance adfox_imho-banners нет да да переменные из объекта params кода вставки монетизатора
        Другие монетизаторы, работающие через Adfox HB adfox_{owner_name}, где {owner_name} — название аккаунта-монетизатора нет нет да переменные из объекта params кода вставки монетизатора

      Внимание

      На одном рекламном месте нельзя сочетать монетизаторов, которые поддерживают combo и которые его не поддерживают. Если на вашем рекламном месте предполагается смешанный combo-аукцион, подключайте к нему только монетизаторов с поддержкой combo. Ставки от монетизаторов, не поддерживающих combo, будут игнорироваться.

    7. Если на странице несколько рекламных мест, нажмите Добавить контейнер, укажите containerId другого рекламного места и добавьте монетизаторов аналогичным образом.

    8. В поле User Timeout укажите время ожидания ответа от сервера монетизатора в миллисекундах.

    9. Поле Trusted Owners — необязательный параметр. Если вы планируете передавать ставки в запросы других аккаунтов Adfox через шаблон Проброс кода Adfox [loader], укажите через запятую идентификаторы аккаунтов, из которых будут пробрасываться коды.

    10. Нажмите Сгенерировать. Когда скрипт появится в поле справа, нажмите Скопировать.

  3. Если в скрипте есть Prebid-монетизаторы, не забудьте установить библиотеку Prebid.js и добавить скрипт с вызовом библиотеки.

  4. Разместите полученный скрипт на сайте.

    Важно

    1. На сайт можно устанавливать только один конфиг Header Bidding.

    2. Код загрузчика должен быть установлен на странице один раз и находиться ниже скрипта с настройками 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 biddersCpmAdjustmentMap = {
      'pb_pubmatic': 3,
      'adfox_imho-banners': 3.5
  };
  
  // Массив объектов с данными монетизаторов  
  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,
    biddersCpmAdjustmentMap: biddersCpmAdjustmentMap
  };
</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'

biddersCpmAdjustmentMap

Необязательный параметр. Объект с парами 'ключ': 'значение', где:

  • ключ — ключ монетизатора в одинарных кавычках. Ключи монетизаторов можно узнать в таблицах с данными монетизаторов (см. п. 2.6 инструкции выше).

  • значение — коэффициент, на который перемножаются ставки монетизатора. С помощью коэффициента вы можете приоритизировать монетизаторов, например, если один присылает gross CPM, а другой — net CPM.

    Формат значения — целое или дробное число от 0 до 5 включительно (поддерживается три знака после точки).

adUnits

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

  • code — идентификатор контейнера для баннера (равен containerId в коде вставки Adfox);

  • codeType — тип рекламного запроса, который вы хотите получать в этом рекламном месте. Принимает значения:

    • combo — для получения и InPage, и баннерной рекламы;
    • inpage — для получения только InPage рекламы;
    • instream — для получения только InStream рекламы.

    Если в ответе приходит 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 может содержать необязательный элемент — объект additional с дополнительными параметрами запроса, которые определяются по договоренности с монетизатором.

      Пример с необязательными параметрами объекта params
      {
        bidder: 'betweenDigital',
        params: {
          placementId: '8',
          additional: { // Дополнительные параметры запроса
            pos: 123,
            ref: 'my-site/page'
          },
        },
      }
      
      Массив adUnit с необязательными элементами params
      AdUnit [
        {
          code: string; 
          sizes: Sizes; 
          bids: [
            {
              bidder: 'mytarget',
              params: {
                placementId: '320552',
                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 async src="https://yandex.ru/ads/system/header-bidding.js"></script>
        <script>
            var adfoxBiddersMap = {
              "smi2": "2714950",
              "adfox_example_sdk": "2502029"
            };

            var adUnits = [
              {
                "code": "slot",
                "codeType": "inpage",
                "bids": [
                  {
                    "bidder": "smi2",
                    "params": {
                      "placementId": "101131"
                    }
                  },
                  {
                    "bidder": "adfox_example_sdk",
                    "params": {
                      "p1": "cwdyt",
                      "p2": "hiuy"
                    }
                  }
                ]
              }
            ];

            var userTimeout = 1500;

            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>
<div id="slot" style="width: 640px; margin: 0 auto;"></div>
Пример подключения рекламы формата 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>

Демо-страницы

По ссылкам ниже можно посмотреть, как выглядят примеры баннеров с использованием Header Bidding.

InPage video

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

Написать в чат

Написать письмо