12 KiB
🧭 Правила навигации - Полное руководство
🎯 Возможности
Правила навигации поддерживают все типы условий как и вариативность экранов:
1. ✅ AB тесты (Unleash)
Направляйте пользователей на разные экраны в зависимости от AB теста
2. ✅ Опции (list экраны)
На основе выбранных опций в list экранах
3. ✅ Значения (возраст, зодиак, email)
На основе конкретных значений из специальных экранов
📚 Примеры
Пример 1: AB тест - короткий vs длинный onboarding
{
"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 тест + пол пользователя
{
"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: Зависимость от возраста
{
"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: Зависимость от знака зодиака
{
"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 тесты
{
"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 теста:
- Тип условия: выберите "AB тест (Unleash)"
- Название флага: введите название флага из Unleash (например
trial-offer-test) - Оператор:
- "Равен (один вариант)" - точное совпадение
- "Любой из вариантов (OR)" - хотя бы один совпадает
- Ожидаемые варианты: введите через запятую (например
v1, v2)
Для опций list экрана:
- Тип условия: "Выбранные опции (list экраны)"
- Экран: выберите list экран
- Оператор: "Любое из (OR)" или "Все из (AND)"
- Значения: отметьте нужные опции
Для значений (возраст, зодиак):
- Тип условия: "Значения (зодиак, возраст, email)"
- Экран: выберите экран с данными
- Оператор: обычно "Любое из (OR)"
- Значения: выберите из списка
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
📊 Порядок проверки правил
Правила проверяются сверху вниз:
- Первое правило с выполненными условиями → используется
- Если ни одно правило не подошло → используется
defaultNextScreenId - Если нет defaultNextScreenId → следующий экран по порядку
Пример:
{
"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. Группируйте связанные условия
{
"conditions": [
{ "screenId": "gender", "optionIds": ["female"] },
{ "unleashFlag": "female-offer-test", "unleashVariants": ["v1"] }
]
}
3. Всегда указывайте defaultNextScreenId
Это fallback если ни одно правило не подошло
4. Тестируйте все варианты
- Создайте правило для каждого варианта AB теста
- Проверьте что defaultNextScreenId работает
- Протестируйте комбинации условий
5. Документируйте сложные правила
Добавляйте комментарии в JSON или ведите документацию
🐛 Troubleshooting
Правило не срабатывает
Проверьте:
- ✅ Все условия в правиле выполняются (AND логика)
- ✅ Название флага в Unleash совпадает с указанным
- ✅ Вариант AB теста написан правильно (регистр важен!)
- ✅ Правило находится выше других конфликтующих правил
- ✅ Экран указанный в условии существует
AB тест не работает
Проверьте:
- ✅ Unleash флаг создан и включен
- ✅ Rollout > 0%
- ✅ Environment variables настроены
- ✅ В консоли браузера есть логи
[Unleash Analytics]
Всегда переходит на default
Причины:
- Ни одно условие не выполняется
- Ошибка в названии флага/варианта
- AB тест не загрузился
📚 Связанные документы
- AB_TESTING_GUIDE.md - Полное руководство по AB тестам
- UNLEASH_SETUP.md - Настройка Unleash
- AB_TESTING_UPDATES.md - Аналитика и оптимизация
🎉 Заключение
Правила навигации - это мощный инструмент для персонализации пути пользователя через воронку. Используйте AB тесты, условия по полу/возрасту/зодиаку и их комбинации для максимальной конверсии!
Возможности полностью идентичны вариативности экранов - используется один и тот же редактор условий.