---
title: "Флоу в Adapty Mail"
description: "Как флоу направляют кампании нужным пользователям в нужный момент — триггеры, сегменты и правила приоритетов."
---

<CustomDocCardList ids={['mail-create-flow']} />

**Флоу** превращает сохранённую кампанию в запланированные отправки. Он связывает триггерное событие (состояние подписки пользователя) с сегментом (кто именно попадает под условие) и кампанией, которую получат эти пользователи. Adapty Mail обрабатывает каждый флоу при каждом срабатывании подходящего события — без опроса, без cron и без ручного запуска.

## Триггеры \{#triggers\}

В Adapty Mail предусмотрено три фиксированных триггера, каждый из которых отображается в своём представлении в разделе **Flows**:

- **Never purchased**: пользователи, которые зарегистрировались, но ещё ничего не купили.
- **Expired**: подписки, срок действия которых истёк.
- **Refunded**: покупки, по которым был оформлен возврат.

Триггеры не настраиваются — создавать пользовательские триггеры или расширять их список нельзя.

## Сегмент All Users \{#the-all-users-segment\}

В Adapty Mail есть встроенный сегмент **All Users** без каких-либо фильтров — под него подпадают все пользователи проекта. Удобнее всего использовать его во флоу как строку-заглушку для тех, кто не попал ни в один из более специфичных сегментов выше. Сегмент All Users нельзя редактировать или удалять. Подробнее — в разделе [Сегменты](mail-segments).

## Приоритет \{#priority\}

В каждом представлении триггера находится список строк **сегмент → кампания** (или сегмент → A/B-тест), упорядоченных по приоритету. Когда пользователь попадает под триггер, Adapty Mail:

1. Перебирает строки сверху вниз.
2. Отправляет кампанию из первой строки, чей сегмент соответствует пользователю.
3. Останавливается. Следующие строки для этого пользователя не проверяются.

Порядок важен. Широкий сегмент, стоящий выше узкого, «поглотит» всех пользователей, которые иначе попали бы в нижнюю строку.

Чтобы изменить порядок, перетащите маркер слева от нужной строки — бэкенд пересчитает приоритеты (1, 2, 3…) согласно новому порядку.

:::important
Строка **All Users**, если она присутствует, должна быть последней (с наименьшим приоритетом). Бэкенд отклоняет сохранение, если All Users стоит не на последнем месте — иначе этот сегмент поглотит всех пользователей раньше, чем более специфичные сегменты успеют совпасть.
:::

## Типы контента \{#content-types\}

Строка может доставлять либо одну кампанию, либо A/B-тест:

- **Campaign**: отправляет одну кампанию всем пользователям, соответствующим сегменту.
- **A/B Test**: объединяет две и более кампаний с настраиваемыми весами, случайным образом распределяет пользователей между ними и отслеживает метрики по каждому варианту. Подробнее — в разделе [A/B-тестирование](mail-ab-testing).

## Жизненный цикл \{#lifecycle\}

У строк флоу нет черновикового состояния. Строка становится активной в момент сохранения — с этого момента пользователи, попавшие под триггер и соответствующие сегменту, направляются в её кампанию.

- **Создание строки**: доставка начинается сразу после сохранения.
- **Редактирование строки**: изменение применяется к пользователям, которые попадут под триггер с этого момента. Пользователи, уже находящиеся в середине последовательности, продолжают получать письма по предыдущей конфигурации.
- **Удаление строки**: новые пользователи перестают входить в последовательность. Те, кто уже в ней находится, могут продолжать получать запланированные письма — автоматической отмены не происходит.

Строки A/B-теста живут по собственному жизненному циклу (**черновик → активный → завершённый**), который управляется отдельно от самой строки. Подробнее — в разделе [A/B-тестирование](mail-ab-testing).