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

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

  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 установлен и настроен, вы можете проверять условия и отображать изменения на сайте в рамках эксперимента.