Web SDK Экспериментов
Краткое содержание
Для ускорения работы скриптов и предотвращения замедления внесения изменений на сайт необходимо установить дополнительный счётчик для проведения A/B-тестов и передачи данных в МТС Аналитику.
Требования
Чтобы обеспечить корректную работу и избежать видимой смены вариантов посетителями, необходимо выполнить следующие условия:
- Установить SDK МТС Аналитики на сайт (через МТС Тег или вручную).
- Запросить конфигурацию эксперимента на сервере, чтобы вариант попадал в первый HTML-ответ, и обязательно установить соответствующий сниппет.
Шаг 1. Ус тановка SDK
В статье приведена пошаговая инструкция по установке SDK. Необходимо скопировать и добавить код в элемент head или body каждой страницы сайта. В коде используются параметры split (название SDK) и <FLOW_ID> (идентификатор потока). После выполнения этих действий SDK становится доступным.
Шаг 2. Обращение к SDK
В тексте вы найдете руководство по использованию функций SDK для проверки условий и отображения изменений в рамках эксперимента. Доступны функции для получения списка ключей, а также значений в формате boolean, number и string.
Если используемый фреймворк не позволяет выбрать первый вариант вызова, применяется второй вариант обращения к SDK через объект window.
Для проведения A/B-тестов, сбора и передачи данных в МТС Аналитику необходимо установить дополнительный счётчик. Это нужно, чтобы скрипт отрабатывал быстрее и скорость внесения изменений на сайт не замедлялась.
Требования
На сайте должен быть установлен SDK МТС Аналитики:
Чтобы вариант попадал уже в первый HTML-ответ и посетитель не видел смену варианта после загрузки, запросите конфигурацию эксперимента на своём сервере — см. Эксперименты при серверном рендеринге (SSR). Сниппет с этой страницы обязателен для установки.
Шаг 1. Установка SDK
- Скопируйте и добавьте код на сайт в элемент
headилиbodyна каждую страницу сайта
<script>
(function (name, id) {
const client = document.cookie.split('; ')
.filter((c) => c.startsWith('ma_exp_cid='))[0]?.substring(11, 31),
params = `?sdkName=${name}${client ? '&clientId=' + client : ''}`;
const script = document.createElement('script');
script.async = true;
script.src = `https://serving.a.mts.ru/split-tests/sdk/${id}.js${params}`;
document.head.appendChild(script);
})('split', '<FLOW_ID>');
</script>
split — название SDK, заполнено по умолчанию
FLOW_ID — идентификатор потока
SDK Экспериментов установлен и доступен.
Шаг 2. Обращение к SDK
Функции:
getFeaturesList()— возвращает string[ ] массив названий ключейgetFeatureValBool(key: string)— возвращает boolean-значение по ключу или undefined, если не найденоgetFeatureValNum(key: string)— возвращает number-значение по ключу или undefined, если не найденоgetFeatureValStr(key: string)— возвращает string-значение по ключу или undefined, если не найдено
Вызов SDK:
Если вы используете фреймворки, которые не позволяют выбрать вариант 1, используйте вариант 2
- Вариант 1
- Вариант 2
split?.getFeatureValBool('my-feature')
window['split']?.getFeatureValBool('my-feature')
SDK установлен и настроен, вы можете проверять условия и отображать изменения на сайте в рамках эксперимента.