Эксперименты над рекламой

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

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

Подключение эксперимента

Шаг 1. Подключите Varioqub

Подробно см. в разделе Начало работы и Подключение. Рекомендуем подключать Varioqub с помощью JavaScript.

Шаг 2. Добавьте счетчик Метрики в настройки рекламного кабинета

  1. В интерфейсе Рекламной сети Яндекса перейдите к списку сайтов: Реклама на сайтах → Сайты и блоки → Сайты.

  2. Напротив нужного сайта нажмите кнопку и выберите Редактировать.

  3. На вкладке Общие включите опцию Показывать отчеты по РСЯ в Метрике.

  4. В поле Счетчики Метрики укажите номер вашего счетчика и сохраните изменения.

  1. В Adfox перейдите к списку сайтов: Настройки → Системные → Счетчики Яндекс Метрики.

  2. В поле Подключенные счетчики укажите номер вашего счетчика и сохраните изменения.

Запуск эксперимента

  1. В Метрике перейдите на страницу Вариокуб → Эксперименты.

  2. Нажмите кнопку Создать эксперимент.

  3. Добавьте условия эксперимента.

  4. Выберите основную метрику, по которой будете принимать решение об успешности эксперимента. Также можно выбрать до 10 дополнительных метрик для расширенного анализа.

    Для оценки экспериментов над рекламой рекомендуем использовать в качестве основной метрики «Рекламный доход на визит» (или на посетителя), а в качестве дополнительных — пользовательские метрики, например, «Глубина просмотра» и «Доля визуальных отказов».

  5. Настройте дизайн эксперимента. Это можно сделать с помощью:

    • Рекламных блоков — используйте для добавления нового рекламного блока типа In-image, Floor Ad, Top Ad или Полноэкранный.

    • Визуального редактора — используйте для сравнения отображения, изменений размера и расположения одного рекламного блока.

    • Флагов в коде — используйте для сравнения рекламных блоков, экспериментов со способом вызова рекламного блока и пр.

Рекламные блоки

На вкладке можно создать эксперимент с расположением и форматом рекламных блоков на сайте. Это можно сделать без добавления кода рекламного блока (context.js), достаточно подключить Varioqub (exp.js).

Примечание

Если на сайте используется CSP, то для проведения эксперимента, кроме подключения Varioqub, необходимо добавить правила для рекламы.

Чтобы создать эксперимент:

  1. Выберите тип рекламного блока:

    • Полноэкранный — отображается на весь экран. Для каждой версии сайта нужно создать отдельный блок.

    • Top Ad — фиксируется в верхней части экрана поверх содержимого сайта. Работает только на мобильной версии сайта.

    • Floor Ad — фиксируется в нижней части экрана поверх содержимого сайта. Для каждой версии сайта нужно создать отдельный блок.

    • In-image — отображается поверх изображений на сайте. Один и тот же блок работает на всех версиях сайта.

      Ограничения In-image блока

      В текущей версии Varioqub для In-image блоков не учитываются следующие настройки:

      • Лимит на страницу

      • Ограничение для изображений

      • Тип интеграции

      Подробнее см. в разделе In-Image Справки Рекламной сети Яндекса.

      Тип встраивания по умолчанию — Автоматический. Реклама отображается на всех изображениях размером не меньше 320 × 190 пикселей.

    По правилам Рекламной сети:

    • нельзя показывать блоки Top Ad и Floor Ad на одной странице одновременно;

    • блок Top Ad можно использовать только на мобильных устройствах (Mobile).

    Подробно см. Типы блоков.

  2. Укажите blockId блока, для которого вы настраиваете эксперимент:

    • Desktop block ID — для полной версии сайта.

    • Touch block ID — для мобильной версии сайта.

    Важно

    Для блока In-image необходимо указать одинаковый blockId для всех версий сайта.

Работа в визуальном редакторе

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

Эксперимент с изменением отображения блока
  1. На сайте измените код рекламного блока. Пример изменения кода РСЯ:

    <!-- Yandex.RTB R-A-111111-1 -->
    <div id='yandex_rtb_R-A-111111-1'></div>
    <script>
        ymab('metrika.XXXX', 'init', () => {
            window.yaContextCb.push(()=>{
                Ya.Context.AdvManager.render({
                    'blockId': 'R-A-111111-1',
                    'renderTo': 'yandex_rtb_R-A-111111-1'})
            })
        })
    </script>
    

    где

    • R-A-111111-1 — идентификатор рекламного блока;
    • XXXX — номер счетчика Метрики, который установлен на ваш сайт.
  2. В Метрике перейдите на страницу Вариокуб → Эксперименты.

  3. Выберите тип эксперимента Визуальный редактор и укажите URL-страницы для редактирования.

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

  5. Нажмите на блок, над которым хотите произвести эксперимент. Откроется окно визуального редактора.

  6. Чтобы изменить размер контейнера или способ его отображения, перейдите в родительский элемент блока. Для этого нажмите значок .

  7. Во вкладке CSS укажите свойство, которое должно применяться в варианте эксперимента и нажмите Сохранить.

    Чтобы убедиться, что изменения применились, в блоке Проверка эксперимента у каждого из вариантов нажмите кнопку Проверить. Откроется версия сайта для выбранного варианта по сгенерированной Varioqub ссылке. Вы можете поделиться этой ссылкой в течение 24 часов с момента ее генерации. При повторном нажатии Проверить генерируется новая ссылка.

  8. Нажмите Сохранить и запустить.

Пример с изменением высоты рекламного блока

Чтобы провести эксперимент с разной высотой блока, во вкладке CSS для родительского элемента блока укажите свойство стиля.

Например, для эксперимента с переходом с фиксированной высоты на адаптивную изменяются свойства CSS:

  • снимается ограничение высоты height: unset;

  • устанавливается максимальная высота блока max-height: 70vh.

Пример с прилипанием бокового баннера при скролле статьи

Чтобы провести эксперимент с прилипанием бокового баннера при скролле статьи, во вкладке CSS для родительского элемента блока укажите необходимые свойства.

Например:

  • способ отображения блока position: sticky;

  • позицию относительно родительского элемента top: 20px.

Эксперимент с добавлением рекламного блока

Также с помощью визуального редактора вы можете добавить код вставки рекламного блока. Это может быть полезно при проведении тестов с новыми рекламными местами на сайте. Рекомендуем использовать рекламные блоки типа Floor Ad, Top Ad или Полноэкранный. Например, в РСЯ.

  1. Настройте библиотеку Varioqub — добавьте к библиотеке Varioqub код вида:

    <script>
    ymab('metrika.XXXX', 'setConfig', {
        enableJS: true,
    });
    </script>
    
  2. В Метрике перейдите на страницу Вариокуб → Эксперименты.

  3. Выберите тип эксперимента Визуальный редактор и укажите URL-страницы для редактирования.

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

  5. На странице выберите элемент, который присутствует на всех страницах сайта, например подвал.

  6. Выберите вкладку JS и добавьте функцию из кода рекламной вставки.

    В этом случае на всех страницах, где есть выбранный вами элемент, появится рекламный контейнер и вызовется код со вкладки JS.

  7. Нажмите Сохранить.

  8. Проверьте корректность отработки кода на разных страницах сайта, например, на главной, в статье или разделе.

Настройка эксперимента с помощью флагов

  1. В Метрике перейдите на страницу Вариокуб → Эксперименты.

  2. Выберите тип эксперимента Флаги в коде.

Примечание

В Метрике и в измененном коде вставки имя флага и значения флага должны быть указаны на том же языке и в том же регистре, что и в коде.

Эксперимент с использованием флагов в коде
  1. В Varioqub задайте имя флага и его значения. Например: имя флага block, значение в контрольном варианте — A, в Вариант 1B.

  2. В HTML-коде страницы добавьте рекламные контейнеры, над которыми будет проходить эксперимент:

    ...
    <div id="rsya_varioqub_A"></div>
    <div id="rsya_varioqub_B"></div>
    ...
    

    Далее измените код рекламного блока на сайте, как описано ниже.

  3. Добавьте функцию вызова контрольного варианта — в примере вызывается блок R-A-111111-1:

    <script>
    function vq_call_block_a() {
    window.yaContextCb.push(()=>{
      Ya.Context.AdvManager.render({
        renderTo: 'rsya_varioqub_A',
        blockId: 'R-A-111111-1'
      })
    })
    }
    </script>
    
  4. Добавьте функцию вызова Варианта 1 — в примере вызывается блок R-A-111111-2:

    <script>
    function vq_call_block_b() {
    window.yaContextCb.push(()=>{
      Ya.Context.AdvManager.render({
        renderTo: 'rsya_varioqub_B',
        blockId: 'R-A-111111-2'
      })
    })
    }
    </srcipt>
    
  5. Добавьте дополнительную функцию, которая определяет, что должно происходить по завершении эксперимента или в остальных случаях (например, когда просмотр страницы не соответствует фильтрам в настройках эксперимента):

    <script>
    function vq_call_block_default() {
    console.log('Эксперимент завершен или не запущен на данной странице');
    }
    </script>
    
  6. Добавьте функцию применения флагов эксперимента следующим образом:

    <srcipt>
    function render_ab_answer(flags) {
      const flagVal = flags && flags.block && flags.block[0];
    switch
    (flagVal)
    {
       case 'A':
            vq_call_block_a();
            break;
       case 'B':
            vq_call_block_b();
            break;
       default:
            vq_call_block_default();
            break;
    }}
    </script>
    
  7. Добавьте передачу флагов в функцию из п. 4 с помощью функции ymab:

    <srcipt>
    ymab('metrika.XXXX', 'init', function (answer) {
      render_ab_answer(answer.flags);
    })
    </script>
    

    Примечание

    Функция ymab с методом init вызывается только один раз, для передачи флагов.

  8. Проверьте корректность отработки кода на разных страницах сайта, например, на главной, в статье или разделе.

Пример кода для сравнения двух рекламных блоков
<script>
//Функция вызова контрольного варианта
function vq_call_block_a() {
window.yaContextCb.push(()=>{
 Ya.Context.AdvManager.render({
  renderTo: 'rsya_varioqub_A',
  blockId: 'R-A-11111-1'
 })
})
};
//Функция вызова Варианта 1
function vq_call_block_b() {
window.yaContextCb.push(()=>{
 Ya.Context.AdvManager.render({
  renderTo: 'rsya_varioqub_B',
  blockId: 'R-A-11111-2'
 })
})
};
//Функция вызова дефолтного варианта
function vq_call_block_default() {
console.log('Эксперимент завершен или не запущен на данной странице');
};
//Функция применения флагов
function render_ab_answer(flags) {
  const flagVal = flags && flags.block && flags.block[0];
switch
(flagVal)
{
   case 'A':
        vq_call_block_a();
        break;
   case 'B':
        vq_call_block_b();
        break;
   default:
        vq_call_block_default();
        break;
}};
//Функция получения значений из настроек запущенного эксперимента в Метрике с последующей передачей значений в функцию выше
ymab('metrika.XXXX', 'init', function (answer) {
  render_ab_answer(answer.flags);
})
</script>

Посмотрите примеры подключения и создания экспериментов на GitНub.

Вопросы и проблемы

При создании эксперимента все поля заблокированы.

Мог ли я использовать в качестве условий факторы, которых нет в интерфейсе создания эксперимента?

Можно ли в AB эксперименте использовать произвольный JS‑скрипт?

Как отключить тип эксперимента на всем сайте или странице?

Элемент загружается после страницы. Как включить его в эксперимент?

На моем сайте меняются ID элементов. Получится ли использовать визуальный редактор?

Статистика по монетизации в Метрике и в партнерском интерфейсе разная.

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

Рекламная сеть Яндекса

Идентификатор блока в Рекламной сети Яндекса.
Имеет вид A-B-123456-78.