발송 전 Canvas에서 프로필 데이터 새로고침
여정이 며칠 또는 몇 주에 걸쳐 진행되는 경우, 사용자가 Canvas에 진입한 후 프로필 데이터가 변경될 수 있습니다. Context 단계를 사용하여 프로필에서 일치하는 오브젝트를 조회한 다음, 오디언스 경로 또는 결정 분할로 메시징을 분기할 수 있습니다.
이 예제 정보
가상의 보험 브랜드인 ClaimsJumpr는 보험 갱신일 28일 전에 액션 기반 Canvas를 시작합니다. ClaimsJumpr는 28일 동안 여러 차례 리마인더를 보냅니다. 보험 계약자는 Canvas에 진입한 후에도 해당 보험의 자동 갱신 설정을 변경할 수 있습니다. 그래서 Canvas 항목 속성정보만 사용하는 메시지는 잘못된 상태를 안내할 수 있습니다.
각 고객 프로필은 보험 정보를 객체 배열 커스텀 속성(policies)으로 저장합니다. 각 객체에는 트리거 이벤트에 포함된 고유한 policy_id와 auto_renewal 값(opted_in 또는 opted_out)이 있습니다. 이 예제에서는 이후 메시지 단계 앞에 컨텍스트 단계를 추가합니다. 이렇게 하면 Liquid가 Canvas 컨텍스트(진입 이벤트)의 policy_id와 일치하는 현재 객체를 policies에서 읽어옵니다.
이 시나리오에서는 다음을 수행합니다.
- 진입 시의
policy_id를 Canvas 컨텍스트에 유지합니다. - 컨텍스트 단계와 Liquid
where필터를 사용해policies에서 일치하는 객체를 선택합니다. auto_renewal을 유형이 문자열인 컨텍스트 변수(auto_renewal)로 저장합니다.- 이 문서에서 중단 Liquid를 중복으로 작성하는 대신, 오디언스 경로 또는 결정 분할의 컨텍스트 변수 필터로 메시지 문구를 분기합니다.
고려 사항
- 객체에
auto_renewal이 누락된 프로필을 포함하여, 프로덕션이 아닌 워크스페이스에서 Canvas를 테스트하세요. where가 객체 하나만 반환하도록policies의policy_id값은 고유해야 합니다.- 다른 Canvas에서 동일한 트리거 이벤트를 기반으로 사용자 업데이트 단계를 사용해
policies를 기록하는 경우, 첫 번째 메시지가 전송되기 전에 프로필이 업데이트되지 않을 수 있습니다. 진입 후 첫 번째 메시지 단계에서는 진입 컨텍스트 속성정보를 사용하세요. 이 컨텍스트 단계는 프로필 업데이트가 적용될 시간이 지난 후의 단계에서 사용하세요. - 컨텍스트 변수 이름에는 문자, 숫자, 밑줄만 사용할 수 있으며 최대 100자까지 가능합니다. 컨텍스트 단계당 최대 10개의 변수를 정의할 수 있습니다.
- 이 문서의 Liquid는 예시입니다. 사용 중인 속성 이름과 값으로 사용자 경로를 미리 보고 테스트 전송을 진행하세요.
설정
이 예시는 다음을 전제로 합니다.
| 에셋 | 세부 정보 |
|---|---|
| 진입 | policy_renewal_window_started 같은 커스텀 이벤트를 기준으로 하는 실행 기반 Canvas이며, 이벤트 속성정보로 policy_id를 포함합니다 |
| 커스텀 속성 | policies: 객체 배열이며, 각 객체에는 policy_id와 auto_renewal이 있습니다 |
| 컨텍스트 변수 | auto_renewal: 문자열(opted_in 또는 opted_out) |
1단계: 이후 메시지 앞에 컨텍스트 단계 배치하기
Canvas에서 현재 자동 갱신 상태를 반영해야 하는 메시지 단계 바로 앞에 컨텍스트 단계를 추가합니다. 이후 발송에서는 진입 속성정보에만 의존하지 마세요.
2단계: 컨텍스트 변수 정의하기
컨텍스트 단계에서 다음을 수행합니다.
- 컨텍스트 변수 이름을
auto_renewal로 설정합니다. - 데이터 유형을 문자열로 설정합니다.
- 일치하는 정책을 선택한 다음
auto_renewal을 출력하는 Liquid를 입력합니다.assign소스를 추가{{ }}태그로 감싸지 마세요.
{% assign matched_policies = custom_attribute.${policies} | where: "policy_id", context.${policy_id} %}
{{ matched_policies[0].auto_renewal }}
context.${policy_id}는 진입 이벤트 속성정보로, 컨텍스트 변수로 사용할 수 있습니다. where는 policy_id가 해당 값과 일치하는 객체만 남깁니다. 컨텍스트 단계는 첫 번째로 일치하는 객체의 auto_renewal 필드를 저장합니다.
- 미리보기를 선택하고,
policies에 해당policy_id가 있는 테스트 사용자의 값을 확인합니다.
이름, 유형, Liquid 제한 사항은 컨텍스트 및 컨텍스트 변수를 참조하세요.
3단계: 컨텍스트 변수를 기준으로 분기하기
컨텍스트 단계 다음에 auto_renewal에 대한 오디언스 경로 또는 결정 분할 필터로 사용자를 나눕니다(예: opted_in과 같음 대 opted_out과 같음). 각 경로에 알맞은 리마인더를 배치합니다.

분기하는 대신 메시지 단계에서 발송을 중단하면, 사용자는 여전히 다음 캔버스 단계로 이동합니다. 자세한 내용은 메시지 중단 및 사용자가 진행하는 방식을 참조하세요.
4단계: 미리보기 및 테스트하기
사용자 경로 미리보기와 테스트 발송을 사용해 다음 경우를 확인합니다.
- 일치하는 객체의
auto_renewal값이opted_in인 경우와opted_out인 경우 policies에 없는policy_id(비어 있거나 공백인 컨텍스트 값)auto_renewal이 누락된 객체
이후 리마인더가 Canvas 진입 시점의 상태뿐 아니라 프로필과 일치하는지 확인하세요.