Подключение
Чтобы провести эксперимент на сайте, внесите изменения в его код одним из способов:
-
В Метрике перейдите на страницу Вариокуб → Эксперименты.
-
Нажмите кнопку Код для сайта и выберите JavaScript.
-
Скопируйте и добавьте код на сайт в элемент
head
илиbody
.
Как добавить код в популярных конструкторах сайтов
Способ подключения может отличаться в зависимости от конструктора:
1. Откройте настройки сайта или отдельной страницы.
2. В разделе для вставки HTML-кода внутрь тега head
перейдите к редактированию кода.
3. Вставьте код Varioqub и нажмите Сохранить.
Пример кода:
<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],me.addEventListener("error",function(){function cb(t){t=t[t.length-1],"function"==typeof t&&t({flags:{}})};Array.isArray(e[i].a)&&e[i].a.forEach(cb);e[i]=function(){cb(arguments)}}),nt.parentNode.insertBefore(me,nt)})
(window, document, 'script', 'https://abt.s3.yandex.net/expjs/latest/exp.js', 'ymab');
ymab('metrika.XXXX', 'init'/*, {clientFeatures}, {callback}*/);
</script>
где XXXX
— номер счетчика Метрики, который установлен на ваш сайт.
-
В Метрике перейдите на страницу Вариокуб → Эксперименты.
-
Нажмите кнопку Код для сайта.
-
Выберите Google Tag Manager и скопируйте код.
Пример кода:
<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', 'init'/*, {clientFeatures}, {callback}*/); </script>
где
XXXX
— номер счетчика Метрики, который установлен на ваш сайт. -
Перейдите в Менеджер тегов.
-
Выберите аккаунт и перейдите на страницу Теги.
-
Нажмите кнопку Создать и выберите Конфигурация тега.
-
Выберите шаблон «Пользовательский HTML».
-
В поле HTML добавьте код, который скопировали в Метрике.
-
Откройте блок Расширенные настройки → Последовательность активации тегов.
-
Выберите Активировать тег перед тегом и выберите тег «Яндекс Метрика».
-
Выберите Триггеры, а затем — All Pages.
API usersplit позволяет настроить эксперимент более гибко. Например, изменять не только видимые объекты сайта (цвет кнопки и пр.), но и менять логику работы бэкенда.
Если ваш сайт использует технологию Content Security Policy (CSP), передавайте браузеру в HTTP-заголовке разрешение на обработку данных:
connect-src uaas.yandex.ru
script-src abt.s3.yandex.net
script-src-elem abt.s3.yandex.net
style-src 'unsafe-inline'
Примечание
Если ваш сайт разработан на архитектуре SPA, вы можете использовать библиотеку react, для того чтобы не вызывать функцию ymab
с передачей метода init каждый раз при смене URL.
Если вы не используете библиотеку, вам придется вызывать функцию ymab
каждый раз при смене URL, иначе данные в отчетах будут неточными.
Вызов функции:
ymab('metrika.XXXX', 'init', callback);
Совместимые библиотеки
-
react. См. инструкцию по установке.
npm install yandex-metrica-ab-react
-
nodejs/express. См. инструкцию по установке.
npm install yandex-metrica-ab-node
Проверка подключения
Важно
Функция может не работать на некоторых сайтах.
Это происходит, если сервер устанавливает заголовок Cross-Origin-Opener-Policy со значением same-origin
. Такая настройка запрещает обмен данными между интерфейсом Метрики и сайтом.
В настоящее время это техническое ограничение не имеет обходного решения.
Чтобы убедиться, что Varioqub подключен к вашему сайту:
-
В Метрике перейдите на страницу Вариокуб → Эксперименты.
-
С помощью Визуального редактора создайте тестовый АА эксперимент (без изменений в вариантах).
-
Сохраните эксперимент. Через некоторое время данные появятся в отчете.
Если данных в отчете нет, воспользуйтесь консолью браузера, чтобы найти причины:
-
Вызовите консоль браузера с помощью сочетания клавиш Ctrl + Shift + J или F12 (⌥ + ⌘ + J для семейства операционных систем Apple).
-
Перейдите на ваш сайт.
-
Перейдите на вкладку Network.
-
В строке поиска укажите домен
https://abt.s3.yandex.net/expjs/latest/exp.js
. Запрос должен отображаться успешно (код со статусом 200 OK), в консоли должны отсутствовать ошибки подключения. -
В строке поиска укажите домен
uaas.yandex.ru
. Запрос также должен выполняться успешно, вкладка Response должна содержать ответ сервера, в том числе значение параметраi
. -
Перейдите на вкладку Application и выберите элемент Cookie вашего сайта. Убедитесь в наличии cookie
_ymab_param
и его содержимого.
Посмотрите примеры подключения и создания экспериментов на GitНub.
Вопросы и проблемы
В эксперименте с редиректом значения в эксперименте и контроле сильно отличаются.
Визуальный редактор не работает
Экспериментальные изменения появляются на странице не сразу.
Написать в службу поддержки
Single Page Application
Раздел может называться HTML-код для вставки внутрь head.