Переход на новый код вставки

С 20 июля 2021 года в Adfox используется единый код загрузчика рекламы. Ранее использовались разные коды загрузчика для загрузки разных типов блоков Рекламной сети Яндекса и Adfox. С новыми кодами браузер не тратит время на обращение к нескольким загрузчикам, поэтому реклама показывается быстрее. Новый код баннера Adfox теперь по умолчанию асинхронный и содержит единую очередь загрузки yaContextCb — это позволяет оптимально загружать рекламу разных видов на страницу. Подробнее о преимуществах нового кода

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

Замена старого кода вставки на новый

Новый код вставки можно получить в интерфейсе Adfox:

  • на уровне сайта: откройте вкладку Сайты и нажмите Код вставки рядом с названием сайта;
  • на уровне площадки: перейдите на вкладку Сайты → Разделы → Площадки и нажмите кнопку Код вставки рядом с названием площадки;
  • на уровне баннера: на вкладке Кампании выберите кампанию, перейдите в раздел Баннеры → Размещение и нажмите Код вставки у нужного размещения.

Чтобы заменить код вставки вручную:

  1. Добавьте код загрузчика рекламы в <head> каждой страницы, на которой показывается реклама:

    <script>window.yaContextCb = window.yaContextCb || []</script>
    <script src="https://yandex.ru/ads/system/context.js" async></script>
    

    Примечание

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

  2. Удалите из кода баннера скрипты со старыми загрузчиками кодов:

    • <script src="https://yastatic.net/pcode/adfox/loader.js" crossorigin="anonymous"></script>
    • <script src="https://an.yandex.ru/system/adfox.js" crossorigin="anonymous"></script>
    • <script src="https://an.yandex.ru/system/context.js" crossorigin="anonymous"></script>
  3. Добавьте новые строки в код баннера:

    window.yaContextCb.push(()=>{
    ...
    })
    

    Старый код

    Новый код

    <div id="adfox_162624621735476317"></div>
    <script>
      window.Ya.adfoxCode.create({
        ownerId: 353052,
        containerId: 'adfox_162624621735476317',
        params: { pp: 'g', ps: 'ezwy', p2: 'gnhv' }
      });
    </script>
    
    

    <div id="adfox_162624621735476317"></div>
    <script>
      window.yaContextCb.push(()=>{
          Ya.adfoxCode.create({
          ownerId: 353052,
          containerId: 'adfox_162624621735476317',
          params: { pp: 'g', ps: 'ezwy', p2: 'gnhv' }
        })
      })
    </script>
    

Как работает новый код

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

Пример нового кода вставки

<!--В <head> сайта один раз добавьте код загрузчика-->
<script>window.yaContextCb = window.yaContextCb || []</script>
<script src="https://yandex.ru/ads/system/context.js" async></script>

<!--Adfox START-->
<!--login-->
<!--Площадка: example.pro / * / *-->
<!--Тип баннера: 100%х250 -->
<!--Расположение: <верх страницы>-->
<div id="adfox_16244342575025707"></div>
<script>
  window.yaContextCb.push(()=>{
    Ya.adfoxCode.create({
      ownerId: 353052,
      containerId: 'adfox_16244342575025707',
      params: {
        pp: 'g',
        ps: 'ezwy',
        p2: 'gnhv'
      }
    })
  })
</script>

Примечание

Если на страницах вашего сайта используется код Header Bidding, его тоже нужно изменить. Подробнее о замене кода Header Bidding

Замена устаревшего асинхронного кода вставки

Если на вашем сайте используется устаревший асинхронный код вставки, замените его на новый.

Соответствие кодов:

Вид кода Устаревший код Новый код
Асинхронный код adfoxAsyncParams Ya.adfoxCode.create
Адаптивный код adfoxAsyncParamsAdaptive Ya.adfoxCode.createAdaptive

Примеры замены устаревшего асинхронного кода на новый:

Устаревший код

Новый код

<div id="adfox-id"></div>
<script>
  (function(w, n) {
    w[n] = w[n] || [];
    w[n].push({
      ownerId: 208087,
      containerId: 'adfox-id',
      params: { ... }
    });
  })(window, 'adfoxAsyncParams');
</script>
<div id="adfox-id"></div>
<script>
  window.yaContextCb.push(()=>{
    Ya.adfoxCode.create({
      ownerId: 208087,
      containerId: 'adfox-id',
      params: { ... }
    });
  });
</script>

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

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

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