Перейти к основному содержимому

Web SDK Экспериментов

Краткое содержание

Требования
Для использования Web SDK Экспериментов на сайте должен быть установлен SDK МТС Аналитики.

Шаг 1. Установка SDK

  1. Скопируйте и добавьте код в элемент 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 — идентификатор потока.

Шаг 2. Обращение к SDK
SDK предоставляет функции для получения значений:

  • getFeaturesList() — возвращает массив названий ключей
  • getFeatureValBool(key: string) — возвращает boolean-значение
  • getFeatureValNum(key: string) — возвращает number-значение
  • getFeatureValStr(key: string) — возвращает string-значение

Доступны два способа вызова:

  1. split?.getFeatureValBool('my-feature')
  2. window['split']?.getFeatureValBool('my-feature')

SDK установлен и настроен, можно проверять условия и отображать изменения на сайте.

Для проведения A/B-тестов, сбора и передачи данных в МТС Аналитику необходимо установить дополнительный счётчик. Это нужно, чтобы скрипт отрабатывал быстрее и скорость внесения изменений на сайт не замедлялась.

Требования

На сайте должен быть установлен SDK МТС Аналитики:

Шаг 1. Установка SDK

  1. Скопируйте и добавьте код на сайт в элемент 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

split?.getFeatureValBool('my-feature')
Результат

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