동적 변수를 기반으로 템플릿 블록과 섹션을 표시하거나 숨기는 방법
학습 내용
템플릿 편집기의 표시/숨기기 로직 빌더를 사용해 이메일에서 특정 블록 또는 섹션을 특정 수신자에게만 표시하는 방법을 알아보세요.
이 기능을 사용해 예를 들어 특정 로열티 등급에 속해 있거나 특정 제품을 구매한 사람에게 서로 다른 콘텐츠를 표시할 수 있어요. 이 기능을 사용하면 구독자에 대한 정보를 기반으로 이메일 콘텐츠를 타겟팅할 수 있어, 각 수신자가 매우 개인화된 마케팅 경험을 할 수 있어요.
시작하기 전에 알아야 할 것
다음을 기준으로 콘텐츠를 표시/숨길 수 있어요:
- 프로필 데이터(예: 프로필 또는 사용자 지정 속성)
- 이벤트 변수, 단 다음에만 해당:
- 이벤트 트리거(지표 트리거라고도 함) 플로우
- 맞춤 코드로 만든 표시/숨기기 블록
이메일을 작성하기 전에 계정에 필요한 데이터가 있어야 해요. 즉, 사용하려는 속성이 있는 이벤트 1개 또는 프로필 1개가 있어야 해요.
프로필 데이터 사용
이벤트 속성 사용
이벤트 속성도 마찬가지로, Klaviyo 계정에 이벤트가 1개 있어야 해요. 그런 다음, 커스텀 코드로 작성한 블록을 사용해 해당 플로우의 트리거 이벤트를 기준으로 블록을 표시/숨김 처리할 수 있어요. 로직 빌더를 사용해 이벤트 데이터를 참조할 수는 없어요.
따라서 트리거가 결제 시작인 장바구니 이탈 플로우에서는 장바구니 금액이나 고객이 추가한 특정 품목을 기준으로 표시/숨기기 조건을 만들 수 있어요.
메시지 작성
표시/숨김 로직 빌더는 텍스트, 숫자, 목록 형식으로 포맷된 프로필 데이터를 지원해요. 이벤트 데이터, 날짜 또는 불리언은 지원하지 않아요. 표시/숨김 조건에서 지원되지 않는 데이터를 사용하려면 사용자 지정 코드를 사용해 조건을 작성하세요.
- 이메일 템플릿에 블록 또는 섹션을 추가하세요.
- 표시 탭을 선택합니다.
- 논리 표시/숨기기에서 논리 빌더 사용을 선택합니다.
- 조건 선택.
- 단일 기준으로 간단한 조건을 만들거나, AND 또는 OR로 연결된 여러 기준으로 더 복잡한 조건을 만들 수 있어요. AND와 OR 커넥터 비교에 대해 자세히 알아보세요.
- 원하는 경우 조건 추가 버튼을 사용해 추가 조건을 추가해 주세요.
- 저장을 선택합니다.
섹션과 해당 섹션 내 블록에 표시/숨기기 로직을 사용하면 설정이 서로 영향을 주어 충돌이 발생할 수 있어요. 표시 옵션에 대한 문서에서 자세히 알아보세요.
표시/숨기기 조건에서 AND와 OR의 차이
표시/숨기기 로직을 평가할 때 AND로 연결된 조건이 OR로 연결된 조건보다 먼저 평가돼요. 로직을 작성할 때는 평가되는 순서를 고려해 의도한 대로 해석되도록 해 주세요.
예를 들어, 다음 조건을 살펴보세요:
다음 기준에 따라 샘플 수신자에 대해 블록이 표시되는지 확인해 보세요:
수신자 | 블록이 표시되나요? | 왜 그럴까요? |
제인 loyalty_points = 145 선호하는 색상 = 녹색 가장 좋아하는 과일 = 바나나 | 아니요 | Jane은 좋아하는 색이 파란색이거나 좋아하는 과일이 바나나라면 조건을 충족할 수 있어요. |
Alex 좋아하는 색상 = 파란색 좋아하는 과일=사과 | 아니요 | Alex는 더 많은 로열티 포인트를 보유하고 있거나, 좋아하는 과일이 키위인 경우 적격할 수 있어요. |
Amanda 좋아하는 색상 = 파란색 좋아하는 과일 = 석류 | 예 | Amanda는 로열티 포인트가 > 99이고 좋아하는 색이 파란색이므로 조건을 충족해요. OR 연산자의 반대쪽에 있는 두 기준을 모두 충족하므로 좋아하는 과일은 고려되지 않아요. |
Stephanie 좋아하는 색상=오렌지 가장 좋아하는 과일 = 키위 | 예 | Stephanie는 좋아하는 과일이 키위이기 때문에 자격을 갖추게 돼요. 그녀가 OR 연산자의 한쪽 기준을 충족하므로 다른 조건은 고려되지 않아요. |
표시/숨기기 블록 사용 사례
로열티 프로그램 배너
로열티 프로그램이 있다면, 활성 참여자에게 현재 보유한 포인트가 몇 점인지 보여 주세요. 아직 프로그램에 가입하지 않은 연락처에는 가입을 유도할 인센티브를 제공하세요. 이를 설정하려면 배너 2개가 필요해요.
활성 로열티 프로그램 참여자에게 다음 표시/숨기기 조건을 사용하는 배너를 표시하세요.
로열티 포인트>0
다음 조건으로 잠재 고객에게 배너를 표시하세요:
loyalty_points>이 설정되지 않았습니다.
계정에서 사용할 수 있는 데이터에 따라 기준을 조정해야 할 수도 있어요.
개인화된 이미지
구독자가 제품을 어떻게 사용하는지에 대한 정보를 수집한다면, 해당 구독자와 관련된 이미지를 보여 주세요.
예를 들어, 백팩을 판매하는 브랜드라면 구독자가 백팩을 출퇴근, 여행, 하이킹 중 어떤 용도로 사용하는지 물어볼 수 있어요. 답변에 따라, 이 브랜드는 해당 환경에서 제품 이미지를 보여줄 수 있어요.
이를 설정하려면 서로 다른 3가지 설정에서 제품을 보여 주는 이미지 블록 3개가 필요합니다.
다음 조건으로 출퇴근 중 백팩을 착용한 자전거 타는 사람의 사진을 출퇴근자에게 보여 주세요:
가방 선호도=통근
다음 조건으로 붐비는 공항에서 여행자에게 백팩 중 하나의 사진을 보여 주세요.
가방 선호도 = 여행
이 조건으로 경치 좋은 야외 풍경에서 백팩 중 하나의 사진을 다른 모든 사람에게 보여 주세요:
가방 선호도>같지 않음>여행 AND 가방 선호도>같지 않음>출퇴근
마지막 이미지는 하이커만을 대상으로 하는 것이 아니라는 점에 유의하세요. 통근자나 여행자가 아닌 사람은 누구나 이 이미지를 보게 돼요. 이 속성이 설정되지 않았을 수 있는 수신자를 고려하는 것이 중요해요. 그래야 모든 사람에게 이메일이 멋지게 보이거든요.
제품별 참고 사항
플로우의 트리거 이벤트 내에서 항목을 참조하려면 사용자 지정 코드를 사용해야 해요.
장바구니 이탈자에게 제품별 정보를 전달해 구매 결정에 영향을 줄 수 있는 핵심 정보를 제공하세요. 예를 들어 제품 재고가 부족하다면, 장바구니에 해당 항목이 있는 사람에게만 표시되는 낮은 재고 경고가 포함된 텍스트 블록을 다음 조건과 함께 추가해 주세요:
ITEM_NAME in event.Items
위치별 메시징
위치 관련 조건은 텍스트만 평가할 수 있으며, 우편번호로부터의 거리는 평가할 수 없어요. 이 조건을 사용해 오프라인 팝업 매장이 있는 동일한 도시에 거주하는 사람처럼 특정 지역에 사는 주민에게 맞춤 배너를 표시하세요:
도시 = Boston
표시/숨기기 블록 문제 해결
표시/숨기기 블록이 예상대로 렌더링되지 않으면 코드로 변환 버튼을 사용해 빌더 로직을 코드로 변환하세요. 그런 다음 코드를 검사하고 조정해 예상대로 렌더링되도록 할 수 있습니다.
로직을 코드로 변환하면 되돌릴 수 없어요.
문제를 해결할 때는 조건 값에 사용된 데이터 유형이 참조 중인 프로필의 데이터 유형과 동일한지 확인하세요. 예를 들어 숫자 22는 텍스트 값 “22”와 다릅니다. 조건이 숫자로 설정되어 있지만 값이 프로필에 텍스트로 저장되어 있으면 조건이 올바르게 평가되지 않습니다.
텍스트를 숫자로 변환
숫자 속성이 있지만 프로필 내에서 텍스트로 저장되어 있다면 |multiply 필터를 사용해 사용자 지정 코드 필드에서 숫자로 변환할 수 있어요. 이를 사용하려면 변수 이름 바로 뒤에 필터를 추가해 주세요:
person.Birthday|multiply:"1" > 21
텍스트로 저장된 불리언 값
true/false 데이터가 불리언이 아니라 텍스트로 저장되어 있거나, 불리언과 텍스트가 모두 포함된 속성을 참조하는 경우에는 이러한 구조를 사용해 모든 시나리오를 다룰 수 있어요. 데이터에 있는 모든 철자와 대문자 표기를 포함하세요.
샘플 조건 | ...인 경우 블록 표시 |
person|lookup:'VIP' == 1 or person|lookup:'VIP' == 'true' or person|lookup:'VIP' == 'True' | VIP 속성은 불리언 값 true 또는 문자열 true 또는 True로 설정됩니다. |
person|lookup:'VIP' == 0 or person|lookup:'VIP' == 'false' or person|lookup:'VIP' == 'False' | VIP 속성은 불리언 값 false 또는 문자열 false 또는 False로 설정됩니다. |
속성의 영숫자가 아닌 문자
표시/숨기기 블록에서 참조하는 속성 또는 값에 영숫자가 아닌 문자(예: =, <, 또는 > 같은 기호)가 포함되어 있으면 조건이 지원되지 않으며 오류 메시지가 표시돼요. 최상의 결과를 위해 문자(대문자 또는 소문자, 대/소문자 구분), 숫자, 밑줄(_), 또는 대시(-)만 사용하세요.
사용자 지정 코딩 표시/숨기기 블록
더 많은 제어가 필요하거나, 이벤트 데이터, 날짜 또는 불리언을 사용해 조건을 만들고 싶다면 로직 빌더를 사용하기보다 표시/숨기기 블록을 커스텀 코드로 설정하세요. 코드를 사용해 처음부터 시작하려면 표시/숨기기 로직 설정에서 코드 사용 버튼을 선택하세요.
또는 코드로 변환 버튼을 사용해 기존 표시/숨김 조건을 코드 사용으로 변환하세요.
로직을 코드로 변환하면 되돌릴 수 없어요.
코드를 사용하기로 선택한 경우 Django, 프로그래밍 로직, Klaviyo의 데이터 유형에 대해 충분히 이해하고 있는지 확인하세요. Klaviyo 지원팀은 사용자 지정 코드에 대한 직접 지원 또는 문제 해결을 제공할 수 없습니다.
지원되는 조건 구조에 대해 자세히 알아보세요.
이벤트 데이터에 따라 조건 표시/숨기기
이메일이 이벤트 트리거 플로우(예: 장바구니 이탈 또는 주문 확인 플로우)의 일부로 전송되는 경우, 해당 플로우의 트리거 이벤트 세부정보에 따라 블록을 표시/숨길 수 있어요. 따라서 결제 시작 트리거가 있는 장바구니 이탈 플로우에서는 장바구니 금액 또는 고객이 추가한 특정 품목을 기준으로 표시/숨김 조건을 커스텀 코드로 설정할 수 있어요. 이벤트 변수에 대해 자세히 알아보세요.
데이터가 저장되는 방식 이해하기
표시/숨기기 조건을 구성하기 전에 데이터가 어떻게 저장되는지 확인하세요. Klaviyo에는 5가지 데이터 유형이 있어요:
- 텍스트
- 숫자
- 날짜
- 부울
- 목록
데이터 저장 방식에 따라 어떤 표시/숨기기 조건이 적합한지가 달라져요. 계정에서 데이터 유형을 식별 하는 방법을 알아보세요.
메시지 작성
메시지에서 사용자 지정 코드로 표시/숨김 조건을 추가하는 첫 단계는 이메일 템플릿을 만드는 것입니다. 이 섹션에서는 특정 예시를 살펴보지만, 같은 단계를 따라 자체 기준에 따라 표시되도록 블록을 설정할 수도 있습니다.
예를 들어 회사에서 가죽 가방을 판매한다면, 아래에 표시된 것처럼 가입 양식을 통해 고객이 가방을 어떻게 사용하는지에 대한 선호도를 수집할 수 있어요.
그런 다음 고객의 가방 선호도에 따라 다른 이미지를 표시할 수 있어요. 예를 들어 고객의 선호도가 “업무용”이라면, 가방이 노트북 옆에 있는 이미지로 표시됩니다. 고객의 선호도가 “아웃도어”인 경우, 가방은 하이킹 코스의 경치 좋은 전망대 근처에 표시됩니다.
- 캠페인 또는 플로우 메시지를 생성해 주세요.
- 이미지 블록을 추가하세요.
- 업무 관련 이미지를 블록에 업로드해 주세요.
- 이미지 블록의 맞춤 설정 메뉴에서 표시 를 클릭해 주세요.
- 표시/숨기기 로직에서 코드 사용을 선택하세요.
- 다음 조건을 추가하세요: person|lookup:'Bag Preference' == 'Work'.
- 변경 사항 저장을 클릭해 주세요.
- 블록에서 완료를 클릭해 주세요.
이 블록은 선호 항목으로 “직장”을 선택한 사람에게만 표시돼요.
다음으로, 업무 관련 이미지 아래의 새 블록에 여행 관련 이미지를 추가하세요. 이전과 같은 단계를 따르되, 이번에는 person|lookup:'Bag Preference' == 'Outdoors' 조건을 사용하세요.
이 블록은 선호도로 “Outdoors”를 선택한 사람에게만 표시돼요.
마지막으로, “업무” 또는 “아웃도어” 중 어느 것도 선택하지 않은 사람에게 표시될 이미지를 추가하세요. 더 일반적인 이미지를 사용하고, 다음 조건을 사용하세요: person|lookup:'Bag Preference' != 'Work' 및 person|lookup:'Bag Preference' != 'Outdoors'.
여기서 !=는 "같지 않음"을 의미하므로, 이 조건은 “Work” 또는 “Outdoors”가 아닌 다른 항목을 선택했거나 선호도를 선택한 적이 없는 사람을 찾아요.
각 블록을 구성한 후 3개의 프로필을 사용해 메시지를 미리 보기 하세요. 이 프로필은 각 이미지 기준 중 하나씩을 충족하는 구독자여야 해요.
- “Outdoors”를 선택한 고객
- “직장”을 선택한 고객
- 그리고 선호 없음/기타 선호를 선택한 고객
이 단계에 따라 계정의 모든 프로필 또는 이벤트 데이터를 기반으로 블록을 표시하거나 숨길 수 있어요.
프로필 데이터로 표시/숨기기 조건 만들기
프로필 속성을 기반으로 사용자 지정 코드 표시/숨김 조건을 구축하는 경우 조건부 로직 참조의 표에 있는 샘플 변수를(예: person|lookup:'Favorite Color') 사용 중인 프로필 속성으로 바꾸세요.
사용할 올바른 변수를 찾으려면:
- 개인화를 클릭해 개인화 메뉴를 여세요.
- 메뉴에서 옵션을 선택해 텍스트 블록에 추가하세요.
- 태그 안에 있는 변수 이름을 복사하세요. 변수 이름을 확인하려면 변수에서 중괄호를 제거하고, 끝에 |default:''가 있으면(있는 경우) 이를 제거한 다음, 기타 필터도 모두 제거해 주세요.
예를 들어, 아래 스크린샷에서 전체 태그는 {{ person|lookup:"Accepts Marketing"|default:"" }}예요. 변수 이름은 person|lookup:"Accepts Marketing"이므로, 표시/숨김 조건에서 사용할 수 있도록 해당 부분을 선택하세요.
이벤트 데이터로 표시/숨김 조건 만들기
메시지가 이벤트 트리거 플로우의 일부인 경우 이벤트 데이터를 사용해 블록을 표시하거나 숨길 수 있어요. 표시/숨기기 조건에서는 트리거 이벤트 내의 데이터만 사용할 수 있어요.
이벤트 변수를 식별하려면:
- 템플릿 편집기에서 미리보기 및 테스트를 클릭하세요.
- 데이터 소스 미리보기에서 이벤트를 클릭하세요.
- 드롭다운 메뉴에서 만들고 있는 메시지를 트리거할 이벤트를 선택하세요.
- 이벤트 속성을 스크롤하여 포함할 데이터를 찾아보세요.
- 태그를 복사하려면 속성 이름을 클릭하세요.
- 태그를 텍스트 블록 또는 텍스트 편집기에 붙여넣으세요.
- 태그에서 중괄호(즉, {{ 및 }})를 제거하고, 필터도 모두 제거하세요.
- 표시/숨기기 조건에 남아 있는 변수를 사용하세요.
아래 스크린샷에서 {{ event|lookup:'Item Count' }}. 태그를 확인할 수 있어요. 표시/숨김 조건에는 event|lookup:'Item Count' 텍스트만 필요해요. 데이터에 따라 {{ event.extra.line_items.0.title }} 또는 {{ event.ShippingAddress.address1 }}처럼 다른 구조를 사용할 수도 있어요. 이벤트 데이터에 표시된 그대로 변수를 사용하세요.
표시/숨김 조건을 맞춤 설정
조건부 로직 참조를 사용해 맞춤 표시/숨기기 조건을 만드는 방법을 알아보세요. 이 리소스에는 샘플 조건이 포함되어 있으며, 자체 프로필 및 이벤트 데이터를 사용해 맞춤 설정할 수 있어요.
추가 자료
- Conditional logic reference for templates
Learn about all the available conditions you can use to dynamically display a block, section, or custom-coded piece of content only to certain recipients. To learn how to use these conditions in your templates, head to our article on how to show or hide template blocks based on dynamic variables.
- Message personalization reference
Learn how to use Klaviyo’s personalization variables, or tags, to customize the experience for your customers.
- Understanding profiles in Klaviyo
Learn about profiles, including how to find them and the data available on the profile page. Profiles are used to keep track of all the information you have about your customers and prospects.
- Apply programming logic concepts to build more personalized messages