w-funnel/docs/YANDEX_METRIKA_AB_TESTS.md
dev.daminik00 54fdf8dc5a ab-test
2025-10-29 22:15:17 +01:00

288 lines
9.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 📊 AB Тесты в Яндекс Метрике
**Дата:** 29 октября 2025
**Статус:**НАСТРОЕНО
---
## 🎯 Как работает отправка AB тестов
### Метод отправки: `params` (Параметры визита)
Для AB тестов используется метод **`params`** - передача параметров визита:
```javascript
ym(counterID, 'params', {
ab_test_soulmate_onboarding_image: 'v1',
ab_test_app: 'witlab-funnel'
});
```
### Преимущества этого подхода:
**Параметры привязываются к визиту** - сохраняются в течение всей сессии
**Доступны в отчете "Параметры визитов"** - можно фильтровать и группировать
**Можно использовать для создания сегментов** - детальная аналитика
**Можно сравнивать конверсии между вариантами** - A/B тестирование
---
## 📋 Формат параметров
### Структура:
```javascript
{
`ab_test_${featureName}`: variant, // Например: ab_test_soulmate_onboarding_image: "v1"
ab_test_app: appName // Например: ab_test_app: "witlab-funnel"
}
```
### Примеры:
**Пример 1: AB тест изображения онбординга**
```javascript
ym(96887126, 'params', {
ab_test_soulmate_onboarding_image: 'v1',
ab_test_app: 'witlab-funnel'
});
```
**Пример 2: AB тест стиля кнопки оплаты**
```javascript
ym(96887126, 'params', {
ab_test_payment_button_style: 'v2',
ab_test_app: 'witlab-funnel'
});
```
---
## 🔍 Как смотреть данные в Яндекс Метрике
### Шаг 1: Откройте отчет "Параметры визитов"
1. Яндекс Метрика → **Отчеты**
2. **Содержание****Параметры визитов**
3. Или прямая ссылка: `https://metrika.yandex.ru/dashboard?id={COUNTER_ID}#?report=visit_params`
### Шаг 2: Выберите параметр AB теста
В отчете вы увидите параметры, которые были отправлены:
```
ab_test_soulmate_onboarding_image
├─ v1 (50% визитов)
└─ v2 (50% визитов)
ab_test_payment_button_style
├─ v1 (30% визитов)
└─ v2 (70% визитов)
```
### Шаг 3: Анализируйте метрики
Для каждого варианта вы можете посмотреть:
- **Визиты** - количество визитов с этим вариантом
- **Отказы** - процент отказов для варианта
- **Глубина просмотра** - сколько страниц смотрят с вариантом
- **Время на сайте** - среднее время сессии
- **Конверсии по целям** - достижение целей для варианта
---
## 📊 Создание сегментов для AB тестов
### Сегмент для варианта V1:
1. **Отчеты** → любой отчет → **Сегменты**
2. **+ Создать сегмент**
3. Условие: **Параметр визита**`ab_test_soulmate_onboarding_image`**равно**`v1`
4. Сохранить как "AB Test: Onboarding Image V1"
### Сегмент для варианта V2:
Аналогично, но условие: `ab_test_soulmate_onboarding_image`**равно**`v2`
### Использование сегментов:
Теперь вы можете:
- Применить сегмент к любому отчету (Источники, Конверсии, Контент и т.д.)
- Сравнить два сегмента между собой
- Посмотреть как вариант AB теста влияет на поведение пользователей
---
## 🎯 Сравнение вариантов AB теста
### Метод 1: Через отчет "Параметры визитов"
1. **Отчеты****Содержание****Параметры визитов**
2. Выбрать параметр `ab_test_soulmate_onboarding_image`
3. Добавить метрики:
- Конверсия по целям
- Отказы
- Глубина просмотра
4. Сравнить метрики для V1 и V2
### Метод 2: Через сегменты
1. Создать 2 сегмента (V1 и V2)
2. Открыть любой отчет (например, **Конверсии****Цели**)
3. Применить сегмент V1
4. **+ Сравнить** → применить сегмент V2
5. Увидеть разницу в метриках
---
## 🧪 Пример анализа AB теста
### Сценарий: Тестируем изображение на экране онбординга
**Гипотеза:** Новое изображение (V2) увеличит конверсию в оплату
**Настройка:**
- Вариант A (V1): старое изображение
- Вариант B (V2): новое изображение
- Цель: "Оплата успешна" (ID: 123456)
**Анализ в Яндекс Метрике:**
1. **Отчеты****Содержание****Параметры визитов**
2. Параметр: `ab_test_soulmate_onboarding_image`
3. Добавить метрику: **Конверсия (цель 123456)**
**Результат:**
| Вариант | Визиты | Конверсия в оплату | Статистика |
|---------|--------|-------------------|------------|
| V1 | 5,000 | 3.2% (160 конв.) | Baseline |
| V2 | 5,000 | 4.1% (205 конв.) | +28% 🎉 |
**Вывод:** V2 показывает на 28% больше конверсий → оставляем V2
---
## 📈 Интеграция с целями
### Как связать AB тест с целью:
1. Создайте цель в Яндекс Метрике (например, "Оплата успешна")
2. Настройте отправку AB теста через `params`
3. В отчете "Параметры визитов" выберите метрику "Конверсия по цели"
4. Сравните конверсию для разных вариантов AB теста
**Пример:**
```javascript
// При показе AB теста
ym(96887126, 'params', {
ab_test_payment_button_style: 'v2'
});
// При достижении цели (оплата)
ym(96887126, 'reachGoal', 'payment_success');
```
В отчете вы увидите какой вариант кнопки (`v1` или `v2`) привел к большей конверсии в оплату.
---
## 🔧 Технические детали
### Когда отправляются параметры:
```typescript
// src/lib/funnel/unleash/useUnleashAnalytics.ts
useEffect(() => {
unleashClient.on("impression", (impressionEvent) => {
if (impressionEvent.enabled) {
// ✅ Отправка в Яндекс Метрику
window.ym(counterId, 'params', {
[`ab_test_${impressionEvent.featureName}`]: impressionEvent.variant,
ab_test_app: "witlab-funnel",
});
}
});
}, []);
```
### Timing:
- **Когда:** Когда пользователь РЕАЛЬНО видит экран с AB тестом
- **Частота:** Один раз за сессию для каждого уникального флага
- **Формат:** Динамический ключ `ab_test_${featureName}` с значением варианта
### Проверка в консоли:
```
[Analytics] AB Test Impression: {
feature: "soulmate-onboarding-image",
variant: "v1",
appName: "witlab-funnel",
debugMode: true,
sentToGA: true,
sentToYM: true // ✅ Должно быть true!
}
```
---
## ⚠️ Важные моменты
### 1. События отправляются НА ВСЕХ окружениях
```
✅ develop.funnel.witlab.us → ОТПРАВЛЯЕТ
✅ funnel.witlab.us → ОТПРАВЛЯЕТ
✅ localhost:3000 → ОТПРАВЛЯЕТ (если есть Counter ID)
```
### 2. Параметры сохраняются в сессии
Если пользователь видит несколько AB тестов за одну сессию, все параметры сохраняются:
```javascript
// Экран 1: onboarding
ym(96887126, 'params', { ab_test_soulmate_onboarding_image: 'v1' });
// Экран 2: payment
ym(96887126, 'params', { ab_test_payment_button_style: 'v2' });
// Результат в Метрике:
// ab_test_soulmate_onboarding_image = v1
// ab_test_payment_button_style = v2
```
### 3. Можно комбинировать параметры
В одном визите могут быть несколько AB тестов, и их можно комбинировать для анализа:
**Пример:** Какая комбинация дает лучшую конверсию?
- Onboarding V1 + Payment V1
- Onboarding V1 + Payment V2
- Onboarding V2 + Payment V1
- Onboarding V2 + Payment V2
---
## 🎉 Готово!
AB тесты теперь автоматически отправляются в Яндекс Метрику!
**Что дальше:**
1. ✅ Deploy на сервер
2. ✅ Открыть воронку
3. ✅ Открыть Яндекс Метрика → Параметры визитов
4. ✅ Увидеть параметры AB тестов
5. ✅ Создать сегменты
6. ✅ Анализировать результаты
---
**Дата:** 29 октября 2025
**Автор:** Cascade AI