setConfig

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

ymab('metrika.XXXX', 'setConfig', {
    enableVisual: true,
    enableJS: false,
    enableHTML: true,
    enableRedir: true,
    enableWatch: false,
    enableAdv: true,
    enableSendYmUid: true,
    enableSetYmUid: false,
    cookieDomain: undefined,
    storeReferer: false,
    storeRedirParam: "localstorage",
    removeAbRedirParam: false,
    nonce: undefined
});

где XXXX — номер счетчика Метрики, который установлен на ваш сайт.

Аргумент

Тип

Обязательно

Описание

setConfig

String

Да

Инициализирует эксперимент.

Поля

enableVisual

Boolean

Разрешает эксперименты с редактором.

По умолчанию: true.

enableJS

Boolean

Разрешает эксперименты со вставкой JavaScript-кода через редактор.

По умолчанию: false.

Игнорируется, если enableVisual принимает значение false.

enableHTML

Boolean

Разрешает эксперименты со вставкой HTML через редактор.

По умолчанию: true.

Игнорируется, если enableVisual принимает значение false.

enableRedir

Boolean

Разрешает эксперименты с редиректом.

По умолчанию: true.

enableWatch

Boolean

Включает режим слежения за изменениями страницы.

По умолчанию: false.

Подробно

При значении true происходит постоянное слежение за изменением элемента на странице с момента ее первой загрузки. При обнаружении изменений Varioqub снова сканирует страницу и применяет эксперимент к новым элементам.

enableAdv

Boolean

Разрешает эксперименты c рекламными блоками.

По умолчанию: true.

enableSendYmUid

Boolean

Включает отправку cookie Метрики на uaas.yandex.ru.

По умолчанию: true.

enableSetYmUid

Boolean

Включает простановку cookie Метрики.

По умолчанию: false.

Игнорируется, если enableSendYmUid принимает значение false.

Для проведения экспериментов с рекламными блоками в Рекламной сети Яндекса параметру enableSetYmUid должно быть присвоено значение true.

cookieDomain

String

Задает домен, на котором будут проставляться cookie.

По умолчанию: undefined.

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

Пример

Если у сайта example.com есть поддомены, например, spb.example.com, mos.example.com, cookie выставятся на каждый поддомен.
Если пользователь введет в адресную строку другой поддомен, то попадет в другие эксперименты. Чтобы этого не произошло, укажите в cookieDomain домен example.com. Тогда на всех поддоменах будут одинаковые cookie и пользователи будут попадать в одни и те же эксперименты.

storeReferer

Boolean

Включает сохранение Referer в sessionStorage при редиректе, чтобы отправить его в Метрику.

По умолчанию: false.

Используйте, когда нужно сохранить метки после редиректа.

storeRedirParam

String

Определяет временное хранилище для признака успешного редиректа. Признак используется для логирования визита в Метрике после редиректа.

Время хранения — не более 5 минут. После успешного редиректа признак автоматически удаляется.

Возможные значения:

Значение

Где будет храниться признак

localstorage

Локальное хранилище браузера.

cookie

Cookie-файл браузера.

get

GET-параметр в URL целевой страницы.

Используйте, когда нужно передать информацию о редиректе напрямую в адресной строке.

По умолчанию: localstorage.

removeAbRedirParam

Boolean

Включает удаление параметра ab_redir из URL страницы после успешного редиректа.

По умолчанию: false.

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

nonce

String

Добавляется к CSS и JS, если сайт использует технологию Content Security Policy. Подробно

Пример включения JS

ymab('metrika.XXXX', 'setConfig', { enableJS: true});

Пример передачи nonce

ymab('metrika.XXXX', 'setConfig', { enableJS: true, nonce: 'nonce-<последовательность символов>' });

Вызывайте метод setConfig перед методом init.

Пример:

<script type="text/javascript">
    (function(e, x, pe, r, i, me, nt){
    e[i]=e[i]||function(){(e[i].a=e[i].a||[]).push(arguments)},
    me=x.createElement(pe),me.async=1,me.src=r,nt=x.getElementsByTagName(pe)[0],nt.parentNode.insertBefore(me,nt)})
    (window, document, 'script', 'https://abt.s3.yandex.net/expjs/latest/exp.js', 'ymab');
    ymab('metrika.XXXX', 'setConfig', { enableJS: true });
    ymab('metrika.XXXX', 'init'/*, {clientFeatures}, {callback}*/);
</script>

где XXXX — номер счетчика Метрики, который установлен на ваш сайт.

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

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

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

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

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

Предыдущая