개요
동적 콘텐츠를 사용하면 각 대상에 대해 별도의 버전을 만들지 않고도 대규모로 메시지를 개인화할 수 있습니다. 다국어 메시지를 보내든 지역이나 캠페인별로 콘텐츠를 맞춤화하든 동적 콘텐츠를 사용하면 각 사용자에게 자동으로 조정되는 하나의 메시지를 정의할 수 있습니다. 콘텐츠 변형이 포함된 데이터를 포함하는 CSV 파일을 업로드하거나 Template API를 사용하여 프로그래밍 방식으로 수행하고 Liquid 구문을 사용하여 메시지에서 해당 값을 참조합니다. 메시지가 전송되면 OneSignal은 각 사용자의 데이터 태그를 기반으로 해당 사용자에게 적합한 콘텐츠를 가져옵니다. 동적 콘텐츠는 푸시, 이메일 및 SMS에서 작동하므로 다음에 이상적입니다:- 다국어 온보딩 또는 마케팅 플로우
- 지역 또는 세그먼트별 프로모션
- 외부 캠페인 데이터에 의한 개인화
- 대규모 개인화 – 수십 개의 메시지 변형을 만들고 관리하지 않고도 맞춤형 경험을 제공합니다.
- 다국어 지원 – 각 사용자의 선호 언어로 자동 표시되는 하나의 메시지를 작성합니다.
- 동적 세그먼테이션 – 언어, 지역, 플랜 또는 campaign_id와 같은 사용자 지정 태그와 같은 사용자 속성을 기반으로 메시지 콘텐츠를 변경합니다.
- 마찰 없는 협업 – 번역가 또는 비기술 팀이 OneSignal 로그인 없이 CSV 파일에서 직접 메시지 콘텐츠를 만들고 편집할 수 있습니다.
- 크로스 채널 호환성 – 푸시, 이메일 및 SMS 캠페인에서 동일한 CSV 로직을 사용합니다.
- 국가 또는 도시별 이벤트 공지
- 캠페인 ID 또는 구매 내역을 기반으로 한 개인화된 푸시 알림
- 사용자 그룹 전반에 걸친 여러 제목 줄 또는 메시지 테스트
메시지를 개인화하는 추가 옵션은 메시지 개인화를 참조하세요.
동적 콘텐츠 설정
새 메시지 또는 템플릿을 만드세요. 대시보드에서: Dynamic Content를 선택하세요.- 메시지 콘텐츠를 데이터 태그에 매핑하는 CSV 파일을 업로드하세요.
dynamic_content 속성을 사용하세요.
- 동적 콘텐츠가 자주 변경되는 경우 훌륭한 솔루션입니다.

푸시 생성 에디터에 있는 동적 콘텐츠 버튼.
콘텐츠 형식 지정
빈 파일로 시작하거나 제공된 템플릿 중 하나를 선택할 수 있습니다:- Multi-language
- Content personalization

OneSignal에서 제공하는 CSV 템플릿 옵션.
API 세부 정보는 다음을 참조하세요:
CSV 요구 사항
- 파일 크기는 200 KB미만이어야 합니다
- 열 헤더:
- 영숫자만
- 공백 대신 밑줄(_) 사용
- 특수 문자 피하기
 
- 스프레드시트 에디터에서 UTF-8 인코딩 확인
- Multi-language Example
- Content Personalization Example
subscription.language 속성을 섹션별 다른 번역에 매핑하세요.
Excel의 VLOOKUP 수식과 유사하게 사용자 속성을 CSV의 해당 콘텐츠와 일치시킵니다.
메시지에서 동적 콘텐츠 참조
dynamic_content에서 개인화된 콘텐츠를 표시하려면 이 Liquid 구문을 사용하세요.
- file_name: CSV 파일 이름(- .csv제외).
- section_name: 행의 첫 번째 열 값
- data_tag_or_property: 데이터 태그 또는 구독 속성과 일치하는 열 헤더
대체 콘텐츠
대체 콘텐츠를 추가하면 사용자가 빈 콘텐츠를 받는 것을 방지합니다. 다음과 같은 경우 메시지가 렌더링되도록 합니다:- 사용자에게 일치하는 태그 또는 속성이 없습니다.
- 사용자에게 dynamic_content에서 사용할 수 없는 태그 또는 속성이 있습니다.
사용자에게 일치하는 태그 또는 속성이 없음
subscription.language가 없는 경우 대신 dynamic_content의 기본 열을 참조하세요.
사용자에게 dynamic_content에서 사용할 수 없는 태그 또는 속성이 있음
subscription.language가 구독에 존재하지만 dynamic_content에는 없는 경우 대신 기본 열을 참조하세요.
예제
다국어 이메일
translations.csv를 사용하여 이메일을 현지화하세요:
- {{dynamic_content.translations.section_1[subscription.language]}}
- {{dynamic_content.translations.section_2[subscription.language]}}

예제는 다국어 예제에 대한 liquid 구문을 추가하는 방법을 보여줍니다.
개인화된 푸시 메시지
사용자별 푸시 메시지에content_personalization_template.csv를 사용하세요. 각 사용자의 campaign_id 태그는 사용할 행을 결정합니다.
전제 조건: 각 사용자는 
campaign_id라는 _데이터 태그_를 가져야 합니다. 전송 시 OneSignal은 사용자의 campaign_id 값을 사용하여 CSV에서 일치하는 행을 선택합니다.CSV 형식 (campaign_id로 키가 지정된 행)
- 
첫 번째 열(campaign_id)은 사용자의campaign_id태그 값과 일치해야 하는 행 키입니다.
- 
다른 열(title,message,url)은 푸시에 삽입할 필드입니다.
- 
태그가 없거나 알 수 없는 값도 유효한 콘텐츠를 렌더링하도록 default행을 포함하세요.
Liquid이 CSV에 매핑되는 방법
- 
content_personalization_template→ CSV 파일 이름(.csv생략).
- 
[campaign_id]→ 첫 번째 열 값이 사용자의campaign_id태그와 같은 행을 선택합니다.
- 
.title/.message/.url→ 해당 행에서 선택한 열을 반환합니다.
대체 예제(권장)
 헤더 규칙: 영숫자/밑줄을 선호합니다(예: 
campaign_id, title). 공백이나 특수 문자를 사용해야 하는 경우 해시 표기법으로 액세스하세요: 
예제는 콘텐츠 개인화 예제에 대한 liquid 구문을 추가하는 방법을 보여줍니다.
테스트 및 미리 보기
1
테스트 CSV 만들기
다국어 테스트:

- 열: email,language
- 열: external_id,campaign_id

업로드하고 이메일 테스터 세그먼트를 만들 예제 CSV.
이메일에서 
+ 주소 지정을 사용하여 여러 변형을 테스트하세요: username+test@example.com
external_id와 campaign_id 태그가 있는 테스터 세그먼트를 업로드하고 만들 예제 CSV.
2
테스트 세그먼트 업로드
Subscriptions 또는 Segments > Upload/Import Users로 이동하세요.첫 번째 열을 식별자로 설정하세요. 다른 모든 열은 사용자 속성 또는 데이터 태그로 처리됩니다.

필요에 따라 반복할 테스터 세그먼트를 만드세요.
사용자 데이터 업로드에 대한 자세한 내용은 Import를 참조하세요.
3
메시지 보기
테스트 메시지를 보낸 후 받은 편지함이나 기기를 확인하여 표시를 확인하세요. 

dynamic_content가 렌더링되지 않으면 대체 콘텐츠를 참조하세요
예제는 동적 콘텐츠와 함께 전송된 이메일을 보여줍니다.

예제는 동적 콘텐츠와 함께 전송된 푸시를 보여줍니다.
이제 이러한 템플릿과 CSV를 사용하여 개인화된 메시징을 확장할 수 있습니다.
사용 고려 사항
동적 콘텐츠 vs. 사용자 지정 데이터를 사용하는 경우
- 다양한 언어 또는 개인화된 메시지 블록에는 동적 콘텐츠를 사용하세요.
- 단일 언어의 간단한 인라인 개인화에는 **사용자 지정 데이터**를 사용하세요.
템플릿 편집
CSV를 다시 업로드하거나 Update Template API의dynamic_content 속성을 사용하여 업데이트하세요.