w-funnel/docs/NAVIGATION_RULES_GUIDE.md
2025-10-22 22:42:01 +02:00

404 lines
12 KiB
Markdown
Raw Permalink 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.

# 🧭 Правила навигации - Полное руководство
## 🎯 Возможности
Правила навигации поддерживают **все типы условий** как и вариативность экранов:
### 1. ✅ AB тесты (Unleash)
Направляйте пользователей на разные экраны в зависимости от AB теста
### 2. ✅ Опции (list экраны)
На основе выбранных опций в list экранах
### 3. ✅ Значения (возраст, зодиак, email)
На основе конкретных значений из специальных экранов
---
## 📚 Примеры
### Пример 1: AB тест - короткий vs длинный onboarding
```json
{
"id": "gender",
"template": "list",
"navigation": {
"defaultNextScreenId": "birthdate",
"rules": [
{
"conditions": [
{
"screenId": "gender",
"conditionType": "unleash",
"unleashFlag": "onboarding-flow-test",
"unleashVariants": ["short"],
"operator": "equals"
}
],
"nextScreenId": "payment"
}
]
}
}
```
**Результат:**
- Вариант `short` → сразу на payment (пропустить birthdate)
- Другие варианты → на birthdate (стандартный путь)
---
### Пример 2: AB тест + пол пользователя
```json
{
"id": "welcome",
"template": "info",
"navigation": {
"defaultNextScreenId": "standard-flow",
"rules": [
{
"conditions": [
{
"screenId": "gender",
"conditionType": "options",
"optionIds": ["female"],
"operator": "includesAny"
},
{
"screenId": "welcome",
"conditionType": "unleash",
"unleashFlag": "female-special-offer",
"unleashVariants": ["v1"],
"operator": "equals"
}
],
"nextScreenId": "special-offer-women"
}
]
}
}
```
**Результат:**
- Если **женщина** И **AB тест = v1** → special-offer-women
- Иначе → standard-flow
---
### Пример 3: Зависимость от возраста
```json
{
"id": "age-result",
"template": "info",
"navigation": {
"defaultNextScreenId": "standard-path",
"rules": [
{
"conditions": [
{
"screenId": "age",
"conditionType": "options",
"optionIds": ["18-24", "25-34"],
"operator": "includesAny"
}
],
"nextScreenId": "young-audience-path"
},
{
"conditions": [
{
"screenId": "age",
"conditionType": "options",
"optionIds": ["45-54", "55+"],
"operator": "includesAny"
}
],
"nextScreenId": "mature-audience-path"
}
]
}
}
```
**Результат:**
- 18-34 лет → young-audience-path
- 45+ лет → mature-audience-path
- Остальные → standard-path
---
### Пример 4: Зависимость от знака зодиака
```json
{
"id": "zodiac-result",
"template": "info",
"navigation": {
"defaultNextScreenId": "default-path",
"rules": [
{
"conditions": [
{
"screenId": "profile.zodiac",
"conditionType": "options",
"optionIds": ["aries", "leo", "sagittarius"],
"operator": "includesAny"
}
],
"nextScreenId": "fire-signs-path"
},
{
"conditions": [
{
"screenId": "profile.zodiac",
"conditionType": "options",
"optionIds": ["cancer", "scorpio", "pisces"],
"operator": "includesAny"
}
],
"nextScreenId": "water-signs-path"
}
]
}
}
```
**Результат:**
- Огненные знаки → fire-signs-path
- Водные знаки → water-signs-path
- Остальные → default-path
---
### Пример 5: Множественные AB тесты
```json
{
"id": "onboarding",
"template": "info",
"navigation": {
"defaultNextScreenId": "standard",
"rules": [
{
"conditions": [
{
"screenId": "onboarding",
"conditionType": "unleash",
"unleashFlag": "flow-type",
"unleashVariants": ["premium"],
"operator": "equals"
},
{
"screenId": "onboarding",
"conditionType": "unleash",
"unleashFlag": "upsell-test",
"unleashVariants": ["aggressive"],
"operator": "equals"
}
],
"nextScreenId": "premium-aggressive-upsell"
},
{
"conditions": [
{
"screenId": "onboarding",
"conditionType": "unleash",
"unleashFlag": "flow-type",
"unleashVariants": ["premium"],
"operator": "equals"
}
],
"nextScreenId": "premium-standard-upsell"
}
]
}
}
```
**Результат:**
- flow-type=premium + upsell-test=aggressive → premium-aggressive-upsell
- flow-type=premium + другой upsell → premium-standard-upsell
- Остальные → standard
---
## 🛠️ Как настроить в админке
### 1. Откройте экран для редактирования
В конструкторе воронок выберите нужный экран
### 2. Найдите секцию "Правила переходов"
Она находится в боковой панели после секции "Навигация"
### 3. Добавьте правило
Нажмите кнопку **"+"** чтобы добавить новое правило
### 4. Настройте условия
#### Для AB теста:
1. **Тип условия:** выберите "AB тест (Unleash)"
2. **Название флага:** введите название флага из Unleash (например `trial-offer-test`)
3. **Оператор:**
- "Равен (один вариант)" - точное совпадение
- "Любой из вариантов (OR)" - хотя бы один совпадает
4. **Ожидаемые варианты:** введите через запятую (например `v1, v2`)
#### Для опций list экрана:
1. **Тип условия:** "Выбранные опции (list экраны)"
2. **Экран:** выберите list экран
3. **Оператор:** "Любое из (OR)" или "Все из (AND)"
4. **Значения:** отметьте нужные опции
#### Для значений (возраст, зодиак):
1. **Тип условия:** "Значения (зодиак, возраст, email)"
2. **Экран:** выберите экран с данными
3. **Оператор:** обычно "Любое из (OR)"
4. **Значения:** выберите из списка
### 5. Добавьте несколько условий (опционально)
Нажмите **"+ Добавить условие"** чтобы добавить ещё условия
Все условия работают как **AND** (все должны выполниться)
### 6. Выберите целевой экран
В поле "Переход на экран" выберите куда направить пользователя
### 7. Сохраните
Правило автоматически сохраняется при изменениях
---
## 💡 Типы операторов
### includesAny (Любой из - OR)
Условие выполняется если **хотя бы одно** значение совпадает
```
Выбрано: ["female"]
Условие: ["female", "non-binary"]
Результат: ✅ TRUE (female есть в списке)
```
### includesAll (Все из - AND)
Условие выполняется если **все** значения совпадают
```
Выбрано: ["premium", "early-access"]
Условие: ["premium", "early-access"]
Результат: ✅ TRUE (оба есть)
Выбрано: ["premium"]
Условие: ["premium", "early-access"]
Результат: ❌ FALSE (early-access отсутствует)
```
### equals (Равен)
Точное совпадение одного значения
```
AB тест вариант: "v1"
Условие: ["v1"]
Результат: ✅ TRUE
AB тест вариант: "v2"
Условие: ["v1"]
Результат: ❌ FALSE
```
---
## 📊 Порядок проверки правил
Правила проверяются **сверху вниз**:
1. Первое правило с выполненными условиями → используется
2. Если ни одно правило не подошло → используется `defaultNextScreenId`
3. Если нет defaultNextScreenId → следующий экран по порядку
**Пример:**
```json
{
"navigation": {
"defaultNextScreenId": "standard",
"rules": [
{ "conditions": [...], "nextScreenId": "path-1" }, // Проверяется первым
{ "conditions": [...], "nextScreenId": "path-2" }, // Проверяется вторым
{ "conditions": [...], "nextScreenId": "path-3" } // Проверяется третьим
]
}
}
```
---
## ✅ Best Practices
### 1. Используйте осмысленные названия
```
❌ Плохо: nextScreenId: "screen-5"
✅ Хорошо: nextScreenId: "premium-trial-offer"
```
### 2. Группируйте связанные условия
```json
{
"conditions": [
{ "screenId": "gender", "optionIds": ["female"] },
{ "unleashFlag": "female-offer-test", "unleashVariants": ["v1"] }
]
}
```
### 3. Всегда указывайте defaultNextScreenId
Это fallback если ни одно правило не подошло
### 4. Тестируйте все варианты
- Создайте правило для каждого варианта AB теста
- Проверьте что defaultNextScreenId работает
- Протестируйте комбинации условий
### 5. Документируйте сложные правила
Добавляйте комментарии в JSON или ведите документацию
---
## 🐛 Troubleshooting
### Правило не срабатывает
**Проверьте:**
1.Все условия в правиле выполняются (AND логика)
2. ✅ Название флага в Unleash совпадает с указанным
3. ✅ Вариант AB теста написан правильно (регистр важен!)
4. ✅ Правило находится выше других конфликтующих правил
5. ✅ Экран указанный в условии существует
### AB тест не работает
**Проверьте:**
1. ✅ Unleash флаг создан и включен
2. ✅ Rollout > 0%
3. ✅ Environment variables настроены
4.В консоли браузера есть логи `[Unleash Analytics]`
### Всегда переходит на default
**Причины:**
- Ни одно условие не выполняется
- Ошибка в названии флага/варианта
- AB тест не загрузился
---
## 📚 Связанные документы
- **AB_TESTING_GUIDE.md** - Полное руководство по AB тестам
- **UNLEASH_SETUP.md** - Настройка Unleash
- **AB_TESTING_UPDATES.md** - Аналитика и оптимизация
---
## 🎉 Заключение
Правила навигации - это мощный инструмент для персонализации пути пользователя через воронку. Используйте AB тесты, условия по полу/возрасту/зодиаку и их комбинации для максимальной конверсии!
**Возможности полностью идентичны вариативности экранов** - используется один и тот же редактор условий.