> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 사용자 지정 이벤트 저장 및 보존

> 사용자 지정 이벤트를 저장하여 세그먼트를 만들고 사용자 프로필에서 확인하며, 각 이벤트의 보관 기간을 선택하고, 저장된 이벤트를 관리하세요.

[사용자 지정 이벤트](./custom-events)로 세그먼트를 만들거나 사용자 프로필에서 이벤트 기록을 보려면 저장을 켜세요. 이 페이지에서는 저장이 제공하는 기능, 저장을 켜는 방법, 이벤트별 보존 기간을 선택하는 방법, 저장된 이벤트를 관리하는 방법을 다룹니다.

<Warning>
  사용자 지정 이벤트 저장 및 보존 기능은 현재 순차적으로 배포 중이며 곧 모든 앱에 제공될 예정입니다. **Data > Events & Conversions**에서 저장 배너가 보이지 않는다면 아직 앱에 이 기능이 제공되지 않은 것입니다.
</Warning>

## 사전 요구 사항

* 유료 플랜. 사용자 지정 이벤트 수집은 Free 플랜에서 사용할 수 없습니다.
* 사용자 지정 이벤트 보존 설정 편집 권한. 청구 약관에 동의할 때와 보존 기간을 변경할 때 모두 필요합니다. 권한이 없는 경우 대시보드에서 권한이 있는 계정 구성원에게 문의하라는 안내가 표시됩니다.

## 저장이 제공하는 기능

사용자 지정 이벤트는 저장 여부와 관계없이 OneSignal이 수신하는 즉시 Journeys, 전환 지표, Liquid 개인화를 지원합니다. 이벤트를 저장하면 두 가지가 추가됩니다:

* **세그먼트.** 사용자가 수행했거나 수행하지 않은 이벤트를 기반으로 세그먼트를 만들고, 오디언스를 타겟팅하는 모든 곳에서 해당 세그먼트를 사용할 수 있습니다.
* **사용자 프로필.** 각 사용자의 프로필에서 이벤트 기록을 확인하여 개별 사용자가 무엇을 언제 했는지 파악할 수 있습니다.

이벤트를 오래 보존할수록 세그먼트와 사용자 프로필이 더 먼 과거까지 참조할 수 있으며, 최대 90일까지 가능합니다.

## 저장 켜기

**Data > Events & Conversions**로 이동하세요. 앱이 저장되지 않는 이벤트를 전송 중이라면 페이지 상단의 배너가 이를 알려줍니다.

<Steps>
  <Step title="저장 안내 열기">
    Events & Conversions 페이지에서 배너를 선택합니다.
  </Step>

  <Step title="이 앱의 기본 보존 기간 선택하기">
    각 앱은 다른 앱과 독립적인 자체 기본값을 가집니다. 기본값은 자체 보존 설정이 없는 이 앱의 모든 이벤트에 적용되며, 앱이 이미 수신한 이벤트에도 적용할지 선택할 수 있습니다. 기본값은 나중에 변경할 수 있고, 개별 이벤트에 대해 재정의할 수도 있습니다.
  </Step>

  <Step title="청구 약관에 동의하기">
    동의하는 순간 저장이 시작됩니다. OneSignal은 누가 동의했는지 기록하고, 조직의 관리자에게 이메일로 알립니다.
  </Step>
</Steps>

<Check>
  이 단계를 완료하면 앱의 저장이 켜집니다! 이 시점부터 OneSignal이 수신하는 모든 이벤트는 기본 보존 기간 동안 저장됩니다.
</Check>

## 이벤트별 보존 기간 설정

보존은 OneSignal이 저장된 각 이벤트를 보관하는 기간이며, 최대 90일입니다. 앱의 기본값이 모든 이벤트에 적용되며, 개별 이벤트에 대해 재정의할 수 있습니다.

<Steps>
  <Step title="이벤트 열기">
    **Data > Events & Conversions**로 이동하여 **Event List** 탭을 열고 이벤트를 선택합니다.
  </Step>

  <Step title="보존 기간 선택하기">
    세부 보기에서 해당 이벤트의 보존 기간을 설정합니다. 이 설정은 해당 이벤트에 한해 앱의 기본값을 재정의합니다.
  </Step>
</Steps>

## 저장된 이벤트 관리

더 이상 저장할 필요가 없거나 더 짧은 기간만 저장하고 싶은 이벤트의 보존 기간을 낮출 수 있습니다. OneSignal은 새 기간을 벗어난 이벤트를 삭제하고 나머지는 유지합니다.

<Warning>
  삭제는 즉시가 아니라 야간에 실행되므로, 저장된 이벤트 수는 다음 날 변경 사항을 반영합니다.
</Warning>

## 청구 시점

OneSignal로 사용자 지정 이벤트를 전송하는 것은 모든 유료 플랜에서 무료입니다. OneSignal은 세분화를 위해 저장되는 이벤트에 대해서만 요금을 청구합니다.

이벤트는 저장 여부와 관계없이 Journeys, 전환 지표, Liquid 개인화를 지원합니다. 이벤트를 저장하면 두 가지 기능이 추가됩니다. 이벤트를 기반으로 세그먼트를 만들 수 있고, 사용자 프로필에서 이벤트를 볼 수 있습니다.

보존 설정 편집 권한이 있는 계정 구성원이 청구 약관에 동의할 때까지 저장은 꺼진 상태로 유지됩니다. 그때까지 OneSignal은 이벤트를 수신하여 저장하지 않은 채로 Journeys, 전환 지표, Liquid 개인화에서 사용할 수 있도록 합니다.

각 플랜에는 월간 저장 이벤트 할당량이 포함되어 있습니다. OneSignal은 할당량을 초과하는 이벤트에 대해 플랜의 초과 요율로 요금을 청구하며, 이 요율은 저장을 켤 때 대시보드에 표시됩니다.

| 플랜           | 월간 포함 저장 이벤트 수 |
| ------------ | -------------- |
| Growth       | 1,000,000      |
| Professional | 5,000,000      |
| Enterprise   | 10,000,000     |

할당량은 조직 수준에서 적용되므로, 한 앱에 저장된 이벤트는 조직 내 다른 앱에 저장된 이벤트와 동일한 총량에 합산됩니다.

요금은 청구 주기가 끝나는 시점에, 그 순간 저장되어 있는 이벤트를 기준으로 청구됩니다. OneSignal은 플랜에 포함된 할당량을 차감하고, 나머지에 대해 플랜의 초과 요율로 청구합니다. 할당량 이하라면 저장 요금이 전혀 발생하지 않습니다.

청구는 주기가 마감될 때의 저장된 이벤트 수를 기준으로 하므로, 그 전에 보존 기간을 낮추면 해당 주기의 청구 금액이 줄어듭니다. 야간 삭제가 실행될 시간을 충분히 확보하세요.

현재 상태를 확인하려면 **Organizations > Billing**으로 이동하세요. 저장된 이벤트 총량이 다른 사용량과 함께 이벤트별로 구분되어 표시됩니다. 또한 OneSignal은 할당량의 80%와 100%에 도달하면 조직의 관리자에게 이메일을 보냅니다.

## FAQ

### 전송했지만 저장하지 않는 이벤트에 대해서도 비용을 내나요?

아니요. 이벤트 전송은 모든 유료 플랜에서 무료입니다. 청구 주기가 마감될 때 저장되어 있는 이벤트에 대해서만 청구됩니다.

### 90일보다 오래된 이벤트로 세그먼트를 만들 수 있나요?

아니요. 현재 보존 기간의 최대값은 90일입니다.

### 이벤트를 Not stored로 설정하면 Journeys가 중단되나요?

아니요. **Not stored**(0일)는 OneSignal이 이벤트를 보관하지 않는다는 의미이지만, Journeys, 전환 지표, Liquid 개인화는 모두 OneSignal이 이벤트를 수신하는 시점에 이벤트를 읽으므로 이벤트 저장 여부와 관계없이 동일하게 작동합니다. 세그먼트와 사용자 프로필만 저장된 이벤트가 필요합니다.

### 누가 저장을 켜거나 보존 기간을 변경할 수 있나요?

사용자 지정 이벤트 보존 설정 편집 권한이 있는 계정 구성원입니다. 동일한 권한으로 청구 약관 동의, 앱 기본값 설정, 개별 이벤트의 보존 기간 변경이 가능합니다.

### 앱이 1,000개의 고유 이벤트 이름에 도달하면 어떻게 되나요?

각 앱은 최대 **1,000개의 고유한 사용자 지정 이벤트 이름**을 전송할 수 있습니다. 앱에서 이미 사용 중인 이름으로 전송된 이벤트는 항상 수락되므로, 제한에 도달해도 이미 전송 중인 이벤트가 중단되는 일은 없습니다.

앱이 1,000개의 이름에 도달하면 *새로운* 이름으로 전송된 이벤트는 거부됩니다. OneSignal은 요청 전체가 아니라 개별 이벤트를 거부하므로, 같은 배치의 다른 이벤트는 정상적으로 처리됩니다. API는 `errors` 배열과 함께 HTTP `202`를 반환하며, 거부된 각 이벤트에는 오류 코드 `too many event names`가 포함됩니다.

거부된 이벤트는 저장되지 않고, 청구되지 않으며, Journey를 트리거하거나 메시지를 개인화하거나 세그먼트에 사용할 수 없습니다. 다만 **Data > Events & Conversions**에는 "This app has reached its limit of unique event names"라는 사유와 함께 실패로 표시되므로, 어떤 이름이 거부되었는지 확인할 수 있습니다.

공간을 확보하려면 더 이상 사용하지 않는 사용자 지정 이벤트 이름을 삭제하세요. 이름을 삭제하면 해당 슬롯이 확보되고, 그 이름으로 저장된 이벤트가 영구적으로 삭제됩니다.

<Note>
  Custom Events 페이지는 이벤트가 거부되기 전에, 앱의 고유 이벤트 이름이 900개를 넘어서면 경고를 표시합니다.
</Note>

보존과 이름 제한은 별개입니다. 이벤트를 Not stored로 설정하면 OneSignal이 해당 이벤트를 보관하지 않게 되지만, 이름은 슬롯을 계속 차지합니다. 이름을 삭제해야만 슬롯이 확보됩니다. 방법은 [이벤트 이름 제한](./custom-events#event-name-limits)을 참조하세요.

## 관련 페이지

<Columns cols={2}>
  <Card title="사용자 지정 이벤트" icon="bolt" href="./custom-events">
    이벤트를 전송하고 Journeys, 세그먼트, 개인화에 활용하세요.
  </Card>

  <Card title="청구 FAQ" icon="receipt" href="./billing-faq#event-related-billing">
    OneSignal이 청구서의 나머지 부분을 계산하는 방식.
  </Card>
</Columns>
