메인 콘텐츠로 건너뛰기
개인화를 사용하면 사용자 이름, 장바구니 항목, 계정 잔액, 예약 세부 정보, 일회용 비밀번호 등 동적 데이터를 포함한 메시지를 전송할 수 있습니다. 이 가이드는 다음을 기준으로 적절한 개인화 방법을 선택하는 데 도움을 줍니다:
  • 데이터가 어디에 있는지
  • 데이터가 지속되어야 하는지
  • 메시지가 어떻게 트리거되는지

개인화 작동 방식

OneSignal의 개인화는 두 부분으로 구성됩니다:
  1. Liquid 구문 – 메시지에서 값이 렌더링되는 방식을 정의합니다
  2. 데이터 소스 – 값의 출처를 결정합니다
전송 시점에 OneSignal은 선택된 데이터 소스를 사용하여 Liquid 변수를 해석합니다.
Liquid는 서식 지정과 로직(변수, 루프, 조건문)을 제어합니다. 데이터 소스는 사용 가능한 값을 결정합니다.
예시:
Liquid
Hi {{ user.tags.first_name }},

Your verification code is {{ message.custom_data.otp }}.
  • user.tags.first_name은 저장된 속성입니다
  • message.custom_data.otp는 API custom_data 필드를 통해 전달됩니다

데이터 소스 비교

다음이 필요한 경우…
  • 저장된 사용자 데이터를 재사용 → 속성
  • 행동 기반으로 Journey 내에서 개인화 → Custom Events
  • 일회성 또는 민감한 값 전송 → API custom_data
  • 전달 시 실시간 백엔드 데이터 가져오기 → Data Feeds
  • 대시보드를 통해 대량 개인화 업로드 → Dynamic Content CSV
피해야 할 일반적인 실수
  • OTP나 인증 코드와 같은 일회성 값에 속성(Tags)을 사용하는 것
  • custom_data가 Journeys나 이후 메시지에서 사용 가능할 것으로 기대하는 것
  • Custom Event 속성이 이벤트 트리거 Journey 진입 또는 Wait Until 단계 외부에서 사용 가능하다고 가정하는 것
  • 거의 변경되지 않는 정적 데이터에 Data Feeds를 사용하는 것

데이터 소스

Data Feeds

Data Feeds는 전송 시점에 API를 호출하고 응답을 메시지에 주입합니다. Data Feeds를 사용해야 하는 경우:
  • 전달 시점의 최신 값이 필요한 경우
  • 데이터가 백엔드에 있는 경우
  • 전송 간에 값이 변경될 수 있는 경우

Data Feeds

전송 시점에 실시간 백엔드 데이터를 메시지에 가져옵니다.

Custom Events

Custom Events는 이벤트 속성을 사용하여 Journeys 내에서 메시지를 개인화할 수 있습니다. 이벤트가 Journey를 시작하거나 Wait Until 조건과 일치하면, OneSignal은 해당 이벤트를 저장하여 Liquid를 사용하여 메시지 템플릿에서 속성을 참조할 수 있도록 합니다. Custom Events를 사용해야 하는 경우:
  • Journeys를 사용한 이벤트 트리거 메시지
  • 메시지에 이벤트별 데이터가 반영되어야 하는 경우
Journey 진입 또는 Wait Until 단계를 트리거하는 이벤트만 개인화를 위해 저장됩니다. 이러한 시점 외에 전송된 이벤트는 Journey 메시지에서 사용할 수 없습니다.

Custom Event 개인화

Journeys에서 이벤트 속성을 사용하는 전체 가이드입니다.

속성

속성에는 사용자 Tags, External ID, Subscription 데이터 및 앱 수준 필드가 포함됩니다. 속성의 특징: 속성을 사용해야 하는 경우:
  • 값이 OneSignal에 존재하는 경우
  • 값이 지속적인 경우
  • 캠페인 전반에서 재사용하는 경우

속성으로 개인화

저장된 지속적 속성 데이터를 참조하는 방법을 알아보세요.

API custom_data

Create Message APIcustom_data 필드를 사용하면 백엔드에서 메시지별 값을 전송할 수 있습니다. 이 데이터는:
  • 현재 요청에만 존재합니다
  • OneSignal에 저장되지 않습니다
  • Journeys에서 사용할 수 없습니다
custom_data를 사용해야 하는 경우:
  • 일회성 또는 민감한 값 전송(OTP, 보안 링크)
  • 배열 전달(장바구니 항목, 주문 항목, 리더보드 점수)
  • 트랜잭션 또는 API 트리거 메시지 전송

API custom_data로 개인화

일시적 개인화 데이터를 전달하는 방법을 알아보세요.

Dynamic Content CSV

CSV 파일을 OneSignal 대시보드에 업로드하고 Liquid를 사용하여 해당 값을 참조합니다. CSV를 사용해야 하는 경우:
  • 각 수신자별로 대량 캠페인의 다른 섹션을 맞춤화하는 경우
  • 각 수신자의 번역 또는 사용자 지정 데이터를 CSV 파일로 내보낼 수 있는 경우
  • API를 사용하지 않으려는 경우

Dynamic Content CSV

CSV 업로드를 사용하여 대시보드 캠페인을 개인화합니다.

상세 가이드

단계별 구현 세부 정보 및 고급 예제는 아래 가이드를 사용하세요.

튜토리얼

이 가이드는 개인화를 실제로 구현하는 방법을 보여줍니다.