# 🧠 Принцип работы аудиторий в Gravity Field

## ✅ Как срабатывает аудитория
Аудитория в Gravity Field не “держит” пользователя в режиме реального времени, а проверяется в момент нового запроса, когда:
- Пользователь заходит на сайт, и система получает контекст страницы:
    - 📄 Документация: [Web — Page Context](/Integration/web_integration/page_context.md)
    - 📄 Документация: [API — Page Context](/Integration/api_integration/personalization/page_context.md)
- Или сервер делает choose-запрос с параметром `isImplicitPageview`
    - 📄 Документация: [API — Choose](/Integration/api_integration/personalization/choose.md)

Если пользователь не пришёл — он не попадёт в аудиторию, даже если условия формально выполнены.

## ⚠️ Не добавляй лишние условия
Не нужно добавлять условие Homepage visit → at least → 1, чтобы "проверить, что пользователь вернулся". Это лишнее:
- сам факт, что сейчас происходит запрос → уже означает визит
- лишние условия могут исключить нужных пользователей, например, если они зашли не на homepage

## 🧩 Как реализовать «Сначала X, потом вернулся»
Чтобы корректно построить аудиторию вида «купил, а потом вернулся», нужна **двухступенчатая структура**:

**1. Аудитория A (действие):**
```
Products purchased → at least → 1  
Attribution window → one week  
Retention: 30 дней
```

Значение Retention: 30 дней в этом случае — это буферное окно, в течение которого система "помнит", что пользователь выполнил условие (покупку). Оно нужно, чтобы:
- дать пользователю время вернуться (ведь он может прийти не сразу);
- позволить второму шагу (например, «вернулся») сработать на основе первого.

То есть, если пользователь купил 6 дней назад, но вернётся через 5 дней — система всё ещё учтёт его, потому что он «в аудитории покупки» по Retention.

📌 Можно сделать меньше — например, 14 или даже 7 дней, если тебе нужно “поймать” только тех, кто возвращается быстро.

**2. Аудитория B (возврат):**
```
Audience → belongs → A  
Attribution window → one day  
Retention: 14 дней
```

Это условие проверяет, что пользователь уже входит в аудиторию A (т.е. совершил покупку в течение последней недели), и при этом сейчас находится на сайте — потому что проверка выполняется только при новом запросе.
- пользователь ранее выполнил условия аудитории A (покупка)
- он должен «войти» в эту аудиторию в течение последних суток, то есть вернуться в этот период
- после возврата пользователь останется в этой аудитории ещё 14 дней

📌 Таким образом, мы получаем сегмент: «вернувшиеся после покупки», и можем использовать его, например, чтобы показать персональный оффер или предложить повторную покупку.

➡️ Аудитория B срабатывает только если пользователь выполнил условие в A и пришёл на сайт снова. Это единственный корректный способ выделить "вернувшихся после действия".

## 🧠 Запомни

- Аудитория активируется только при новом запросе с контекстом
- Условия внутри аудитории проверяются в рамках Attribution window
- Пользователь сохраняется в сегменте на срок Retention
- Для построения поведения “сначала сделал A, потом B” — используй вложенные аудитории
