# 트리거 대기

**트리거 대기** 요소는 사용자가 설정된 기간(최대 90일) 내에 하나 이상의 특정 이벤트를 트리거하는지 여부에 따라 Journey 흐름을 제어할 수 있게 해줍니다.

각각 특정 이벤트 또는 이벤트 집합으로 정의된 분기를 최대 3개까지 생성할 수 있습니다. 이를 통해 사용자가 트리거하는 이벤트에 따라 다양한 커뮤니케이션 경로를 설계할 수 있습니다. 또한 다른 분기의 조건을 충족하지 않는 사용자를 위한 _트리거되지 않음_이라는 추가 분기도 있습니다.

<img src="/journey-elements-README-23.webp" alt="이벤트 기반 분기를 보여주는 Journey 캔버스의 트리거 대기 요소"/>

##### 사용 사례
- 장바구니에 상품을 추가한 후 일정 기간 내에 구매를 완료하지 않은 사용자에게 특별 할인 보내기.
- 푸시 알림을 받은 후 사용자가 취하는 행동(알림 열기, 알림의 링크 클릭 또는 아무 조치도 취하지 않음)에 따라 별도의 커뮤니케이션 경로 생성하기.
- 사용자가 설정된 기간 내에 제품을 보거나, 장바구니에 추가하거나, 구매하는지에 따라 다른 후속 메시지 설정하기.




## 대기 기간 설정

트리거 대기 요소를 추가한 후, 시스템이 사용자가 선택한 이벤트를 트리거할 때까지 얼마나 기다려야 하는지 지정합니다.

대기 기간은 최대 90일까지 설정할 수 있습니다.

이 기간 내에 선택된 이벤트가 트리거되지 않으면 사용자는 **트리거되지 않음** 분기로 계속 진행합니다.
<img src="/journey-elements-wait-for-trigger-1.webp" alt="기간 설정 및 고정 대기 기간 활성화 옵션이 있는 트리거 대기 요소의 대기 기간 설정 구성 인터페이스"/>

#### 고정 대기 기간 (선택 사항)

사용자가 이벤트를 더 일찍 발생시키더라도 항상 전체 기간을 기다리게 하려면 **고정 대기 기간**을 활성화하세요.
<img src="/journey-elements-README-27.webp" alt="트리거 대기 요소 설정에서 고정 대기 기간 옵션을 보여주는 구성 인터페이스."/>
<Aside type="note" title="예시">
Journey 단계가 **푸시** → **트리거 대기** → **이메일**이라고 가정합니다. **트리거 대기** 단계를 1일로 설정하고 **고정 대기 기간**을 켜면, 사용자가 이벤트를 빨리 트리거하더라도(예: 푸시 후 5분) 이메일을 받기 위해 다음 단계로 이동하기 전에 전체 1일을 기다리게 됩니다.
</Aside>


## 분기 구성

분기를 사용하면 사용자가 어떤 이벤트를 트리거하는지에 따라 Journey에서 다른 결과 경로를 설정할 수 있습니다. 최대 3개의 분기를 추가할 수 있으며, 이벤트 조건을 충족하지 않는 사용자를 위한 **트리거되지 않음** 분기가 항상 있습니다.

분기를 구성하려면:

1. **분기 이름** 필드에 분기 이름을 입력합니다.

2. **이벤트 추가**를 클릭하고 드롭다운 메뉴에서 이벤트를 선택하여 분기에 이벤트를 추가합니다. 분기당 최대 4개의 이벤트를 추가할 수 있습니다.

3. 각 이벤트에 대해 **조건 추가**를 클릭하여 특정 속성으로 이벤트를 필터링하는 조건을 추가할 수 있습니다. 사용 가능한 연산자는 [유형별 태그 연산자](/ko/product/audience-data-and-segmentation/segmentation/create-segments/by-tags/#tag-operators-by-type)를 참조하세요.

<img src="/journey-elements-wait-for-trigger-6.webp" alt="ADD CONDITION 버튼과 속성 필터 옵션을 사용하여 분기의 이벤트에 조건을 추가하는 방법을 보여주는 구성 인터페이스"/>

4. 분기에서 이벤트를 제거하려면 **이벤트 제거**를 클릭합니다.

분기에 여러 이벤트가 포함된 경우 다음 논리 연산자 중 하나를 사용하여 평가 방법을 선택할 수 있습니다.

- **AND:** 사용자는 이 분기를 따라 진행하기 위해 나열된 모든 이벤트를 트리거해야 합니다.
- **OR:** 사용자는 진행하기 위해 나열된 이벤트 중 하나 이상을 트리거해야 합니다.

이를 통해 각 분기를 명확하고 구조적인 방식으로 복잡한 사용자 행동 조합을 처리하도록 맞춤 설정할 수 있습니다.

<video src="/journey-elements-README-24.webm" title="트리거 대기 요소에서 AND/OR 논리 연산자를 사용하여 여러 이벤트를 설정하는 방법을 보여주는 구성 인터페이스." autoplay loop muted playsinline />

새 분기를 추가하려면 **분기 추가**를 클릭합니다.

<img src="/journey-elements-wait-for-trigger-5.webp" alt="트리거 대기 요소에서 분기 추가 버튼과 다중 분기 설정 옵션을 보여주는 구성 인터페이스"/>

<Aside type="tip">
트리거 대기를 사용하기 전에 모니터링하려는 이벤트가 프로젝트에 이미 존재하는지 확인하세요. [이벤트 생성 방법 알아보기](/ko/product/audience-data-and-segmentation/events/)
</Aside>

### 다중 세션 속성 매칭 설정

Journey에서 [**사용자별 다중 활성 세션**](/ko/product/customer-journey/journey-elements/entry-elements/trigger-based-entry/#multiple-active-sessions-per-user)을 사용하는 경우 이 섹션이 자동으로 나타납니다. 이 섹션의 목적은 들어오는 각 이벤트가 사용자가 가질 수 있는 모든 활성 세션에 적용되는 대신 올바른 사용자 세션에 매칭되도록 하는 것입니다.


세션 매칭을 구성하려면:

1. 먼저, 분기에 이벤트를 추가합니다(위의 [분기 구성](#configure-branches) 섹션에서 설명).

2. 그런 다음, 드롭다운에서 세션을 식별하는 속성을 선택합니다. 선택하는 속성은 두 가지 조건을 충족해야 합니다.

   - 진입 단계에서 사용된 식별자와 일치해야 합니다(예: `order_id`, `appointment_id`, `transaction_id`).
   
   - 또한 분기에 추가한 이벤트에도 존재해야 합니다.

<img src="/journey-elements-wait-for-trigger-2.webp" alt="세션 식별자 선택 옵션이 있는 다중 세션 속성 매칭 드롭다운을 보여주는 구성 인터페이스"/>


<Aside type="caution" title="중요">
진입 단계와 정확히 동일한 속성을 사용하거나 동일한 값을 포함하는 모든 속성(예: `order_list` 내의 `order_id`)을 사용할 수 있습니다. 값이 진입 세션 식별자와 일치하지 않으면 Pushwoosh는 이벤트가 어떤 세션에 속하는지 알 수 없으며 해당 사용자의 **모든** 활성 세션에 이벤트를 적용합니다.
[자세히 알아보기](/ko/product/customer-journey/journey-elements/entry-elements/trigger-based-entry/#multiple-active-sessions-per-user)
</Aside>

##### 예시

앱에서 사용자가 여러 약속을 예약할 수 있다고 가정해 보겠습니다. 각 예약은 `appointment_id`와 같은 속성으로 식별되는 별도의 Journey 세션을 시작합니다.

사용자가 두 개의 약속을 예약했다고 가정합니다.

* 약속 **1001**
* 약속 **1002**

이렇게 하면 약속당 하나씩 두 개의 활성 세션이 생성됩니다.

나중에 사용자는 `appointment_id: 1001`을 포함하는 `AppointmentConfirmed`와 같은 이벤트를 트리거합니다.
**트리거 대기** 요소는 이 값을 세션 식별자와 비교하여 약속 **1001**의 세션에만 이벤트를 올바르게 적용합니다. 이렇게 하면 올바른 약속 흐름이 계속됩니다.

> 이벤트에 세션 매칭 속성(이 경우 `appointment_id`)이 포함되어 있지 않으면 Pushwoosh는 어떤 세션에 속하는지 확인할 수 없습니다. 그러면 이벤트는 **모든** 활성 사용자 세션에 적용되어 부정확하거나 중복된 흐름을 유발할 수 있습니다.



## 사용 사례 예시

**1. 하나 또는 여러 특정 이벤트를 트리거하는 사용자를 위한 특별 커뮤니케이션 설정.** 비행기 티켓을 예약하고 결제한 고객에게 이메일을 보내고 싶다고 상상해 보세요. 이 작업을 수행하려면 하나의 분기가 있는 트리거 대기 단계를 추가하고 그 안에 두 개의 이벤트(_TicketBooked_ 및 _TickedPurchased_)를 지정합니다(이전에 구성했다고 가정). 두 조건을 모두 충족하는 사용자만 더 진행할 수 있도록 _AND_ 논리 연산자를 선택합니다.

<img src="/journey-elements-README-25.webp" alt="항공권 예약 및 구매에 AND 로직을 사용하는 두 개의 이벤트가 있는 트리거 대기 구성 예시." data-size="original"/>

**2. 구매한 제품 유형에 따라 흐름 분할.** 기본 및 프리미엄 구독을 제공한다고 가정해 보겠습니다. 구독을 구매할 때 사용자는 _Basic_ 또는 _Premium_ 값을 갖는 _type_ 속성을 가진 _SubscriptionPurchased_ 이벤트를 트리거합니다. 구독 유형에 따라 Journey 흐름을 분할하려면 두 개의 분기가 있는 트리거 대기 단계를 추가합니다. 첫 번째 분기에서는 _type is Basic_ 조건이 있는 _SubscriptionPurchased_ 이벤트를 지정하고, 두 번째 분기에서는 _type is Premium_ 조건이 있는 _SubscriptionPurchased_ 이벤트를 추가합니다.

<video src="/journey-elements-README-26.webm" title="기본 및 프리미엄 구독 유형에 대한 두 개의 분기가 있는 트리거 대기 구성 예시." autoplay loop muted playsinline />