# Временная задержка

Элемент **Time Delay** заставляет пользователей ждать в течение указанного времени. После задержки они переходят к следующему шагу. Задержка может быть фиксированным периодом, определенным временем или датой. Она также может основываться на значении Tag или атрибуте Event.

## Варианты задержки

### Фиксированная длительность

При установке фиксированного периода элемент Time Delay позволяет пользователям продолжить свой путь в Journey только по истечении указанного времени.

Например, если задержка установлена на 8 часов, пользователь, достигший этого элемента Journey, будет ждать 8 часов, прежде чем перейти к следующему шагу.

<Aside type="note">
Обратите внимание, что период задержки **не может превышать 30 дней.**
</Aside>

<img src="/journey-elements-README-32.webp" alt="Элемент Time Delay, настроенный на фиксированную длительность, показывает, как пользователь ждет в течение указанного периода перед тем, как продолжить."/>

### Конкретное время

Вы можете установить точное время для продвижения пользователей. Пользователи, достигшие элемента задержки, продолжат путь в указанное время.

<Aside type="caution">
Опция конкретного времени устанавливается в соответствии с часовым поясом пользователя.
</Aside>

Например, если пользователь достигает элемента задержки рано утром, а вы установили задержку до 17:30, эти пользователи перейдут к следующей точке Journey в 17:30 по часовому поясу их устройства.

<Aside type="note">
Если указанное вами время уже прошло для некоторых пользователей в их часовых поясах, эти пользователи будут ждать до того же самого времени следующего дня.
</Aside>

<img src="/journey-elements-README-33.webp" alt="Путь пользователя в Journey приостановлен элементом Time Delay до наступления определенного времени в его местном часовом поясе."/>

### Дата

Если вы хотите настроить одноразовую кампанию на определенную дату (например, отправить уведомление о Черной пятнице), выберите конкретную дату и время для продолжения Journey.

<Aside type="caution">
Помните, что дата и время устанавливаются в соответствии с часовым поясом пользователя. Если указанные вами дата и время уже прошли для некоторых пользователей в их часовых поясах, они немедленно перейдут к следующему элементу Journey. 
</Aside>

<img src="/journey-elements-README-34.webp" alt="Элемент Time Delay, установленный на определенную дату, идеально подходит для планирования одноразовых кампаний, таких как праздничные акции."/>

### День недели

Если вы хотите, чтобы пользователь переходил к следующей точке Journey только в определенный день недели, выберите опцию **День недели** и установите желаемый день и время.

<Aside type="caution">
Помните, что день и время устанавливаются в соответствии с часовым поясом пользователя. Если указанные вами день и время уже прошли для некоторых пользователей в их часовых поясах, они будут ждать до того же дня и времени на следующей неделе.
</Aside>

<img src="/journey-elements-README-35.webp" alt="Элемент Time Delay, настроенный на определенный день недели, что позволяет создавать еженедельные повторяющиеся расписания."/>

### Задержка на основе данных пользователя или события

Используйте эту опцию, когда время ожидания должно быть получено из Tag, атрибута Event или значения, сопоставленного из ответа [**Webhook**](#use-a-date-from-a-webhook-response).

1. В **опции временной задержки** выберите **На основе данных пользователя/события**.
2. В разделе **Получить дату из** выберите **Профиль пользователя**, чтобы использовать Tag, или **Событие**, чтобы использовать атрибут события или значение из ответа вебхука.
3. Если вы выбрали **Профиль пользователя**, выберите Tag, который содержит дату.
4. Если вы выбрали **Событие**, выберите событие и атрибут, который содержит дату. Для значений, сопоставленных с вебхуком, см. раздел [Использование даты из ответа вебхука](#use-a-date-from-a-webhook-response) ниже.
5. Установите смещение: **До**, **После** или **В** указанную дату, затем введите количество дней.

<img src="/journey-elements-README-36.webp" alt="Временная задержка на основе данных пользователя или события, позволяющая динамическое и персонализированное планирование в рамках Customer Journey."/>


<Aside type="note" title="Требования к формату даты">

* **Теги:** используйте Tag [типа Date](/ru/product/audience-data-and-segmentation/user-data-tags/tags#types-of-tags) и [устанавливайте его значения](/ru/developer/api-reference/device-api#settags) в формате `2006-01-02T15:04:05` (**UTC**).
* **События:** [создайте Event](/ru/product/audience-data-and-segmentation/events#1-create-events-in-pushwoosh-control-panel), [добавьте атрибут Date](/ru/product/audience-data-and-segmentation/events#2-set-attributes) и отправляйте запросы [/postEvent](/ru/developer/api-reference/user-centric-api#postevent) с датами в формате `2006-01-02 15:04:05`.

</Aside>


<Aside type="caution">
Если **дата или время уже прошли**, когда пользователь достигает этого элемента, он выходит из Journey.
</Aside>

#### Использование даты из ответа вебхука

Если в элементе [**Webhook**](/ru/product/customer-journey/journey-elements/channels/webhook/#map-webhook-response-data-to-variables) ранее в Journey настроено **Сопоставление ответа**, сопоставленные атрибуты будут доступны в разделе **Событие**.

1. В **опции временной задержки** выберите **На основе данных пользователя/события**.
2. В разделе **Получить дату из** выберите **Событие**.
3. В поле **Событие** выберите шаг вебхука по имени, которое вы ему дали (например, `Get appointment details`).
4. В поле **Значение события** выберите сопоставленный атрибут, который содержит дату (например, `visit_date`).
5. Установите смещение (например, **До** за `2` **дня**).

<img src="/journey-elements-time-delay-1.webp" alt="Time Delay установлен на Event Webhook с visit_date и смещением на 2 дня до" />

Значение должно соответствовать тем же правилам формата даты, что и для тегов и событий (см. **Требования к формату даты** выше).

<Aside type="caution">
Если сопоставленное значение отсутствует или не является действительной датой, пользователь выходит из Journey с ошибкой на этом шаге. Запустите [**Тестирование вебхука**](/ru/product/customer-journey/journey-elements/channels/webhook/#test-the-webhook) перед запуском, чтобы подтвердить ваше сопоставление.
</Aside>


### Разделение веток, если дата в прошлом или пуста

Чтобы позволить пользователям продолжить, когда они не соответствуют условию задержки, включите опцию **Разделять на ветки, если дата в прошлом или пуста**. Поток разделится на **В будущем** и **В прошлом**. Используйте ветку **В прошлом** для пользователей, чьи значения Tag, атрибуты Event или сопоставленные с вебхуком даты не соответствуют задержке. Вы можете добавить другие элементы в эту ветку (например, еще один **Time Delay**, **Разделение по условию**, **Ожидание триггера** или сообщение).

Например, вы устанавливаете напоминание за 2 дня до встречи, используя атрибут даты события встречи. Если встреча завтра, пользователь не будет соответствовать условию "за 2 дня до" и выйдет из Journey, если вы не включите разделение веток.

### Когда даты встреч меняются в середине Journey

Если дата в Tag или атрибуте Event изменяется, когда пользователь уже находится в Journey, настройки **Time Delay** остаются такими же, какими они были, когда пользователь достиг элемента.

Рассмотрите возможность создания нескольких Journey, когда пользователи часто переносят встречи, доставки или подобные события.

Например, начните Journey по событию `AppointmentCreated` с атрибутом DateTime (Journey-напоминание). Установите push-напоминание за 2 дня до визита, используя опцию **На основе данных пользователя/события**. Чтобы обрабатывать переносы:

1. Создайте событие `AppointmentChanged`.
2. В Journey-напоминании установите `AppointmentChanged` в качестве цели конверсии, чтобы пользователи, которые переносят встречу, выходили из Journey.
3. Создайте новый Journey, который начинается по событию `AppointmentChanged`, чтобы напоминать пользователям, обновившим дату и время своего визита.