Klaviyo의 데이터 웨어하우스 이벤트 가져오기에 대해 이해합니다.
참고: 데이터 웨어하우스 가져오기는 Klaviyo 고급 데이터 플랫폼의 일부이며, Klaviyo의 표준 마케팅 애플리케이션에는 포함되지 않아요. 이 기능에 액세스하려면 구독이 필요해요.
Klaviyo의 데이터 웨어하우스 이벤트 가져오기에 대해 이해합니다.
학습 내용
데이터 웨어하우스 이벤트 가져오기 를 사용하여 웨어하우스에서 Klaviyo로 이벤트 데이터를 동기화하여 세그먼트, 플로우 및 보고를 Klaviyo의 기본 연동 기능 외부에서 발생하는 동작(예: POS 시스템, 지원 플랫폼 또는 사용자 지정 애플리케이션)으로 구동하는 방법을 알아보세요.
데이터 웨어하우스 이벤트 가져오기란 무엇인가요?
데이터 웨어하우스 이벤트 가져오기를 통해 Klaviyo는 데이터 웨어하우스에 직접 연결할 수 있으며, 이벤트 데이터가 포함된 웨어하우스 테이블 또는 보기에서 가져오기 동기화를 구성할 수 있습니다.
출처 테이블의 각 행은 Klaviyo에서 다음과 같이 단일 이벤트로 처리됩니다.
- 행의 타임스탬프, 지표 이름 및 식별자는 발생한 일, 시간 및 대상 을 정의합니다.
- 추가 열은 세분화, 플로우 및 분석에서 사용할 수 있는 이벤트 속성이 됩니다.
이벤트 가져오기는 프로필 가져오기와 동일한 데이터 웨어하우스 가져오기 인프라를 기반으로 구축되지만 프로필 대신 Klaviyo의 이벤트 수집 파이프라인을 대상으로 합니다.
데이터 웨어하우스 이벤트 가져오기는 어떻게 작동하나요?
Klaviyo를 웨어하우스에 연결하고 이벤트 동기화를 구성한 후 다음과 같이 진행합니다.
- Klaviyo는 웨어하우스에 구성된 테이블 또는 보기를 쿼리합니다.
- 실행할 때마다 Klaviyo는 변경 감지 타임스탬프가 마지막 동기화 성공 시점보다 최신인 행만 읽습니다. 이렇게 하면 전체 표를 다시 처리하지 않고도 증분 가져오기가 가능합니다.
- 그런 다음 각 행은 다음과 같이 처리됩니다.
- Klaviyo는 동기화 설정 중에 선택한 옵션을 기반으로 지표 이름 (이벤트 유형)(선택한 단일 지표 또는 소스 테이블의 지정된 지표 이름 열 값에 따라 동적으로)을 결정합니다.
- 이벤트 타임스탬프, 프로필 식별자, 선택적 고유 ID, 값 및 값 통화 는 동기화 설정 중에 구성된 필드 매핑을 기반으로 설정됩니다.
- 남은 모든 열은 열 이름을 속성 이름으로 사용해 이벤트 속성으로 수집돼요. 언더스코어 3개(예:
parent___child1,parent___child2)가 포함된 열 이름을 사용하면 하위 속성이 있는 이벤트 속성(parent)을 만들 수 있어요.
- Klaviyo는 결과 이벤트를 계정에 로드하여 세분화, 플로우 및 분석에서 다른 사용자 지정 API 지표와 같이 동작합니다.
가져오기는 반복 케이던스 (예: 시간별)로 실행되므로 웨어하우스의 새 행 또는 업데이트된 행은 정기적으로 Klaviyo의 이벤트로 번역됩니다.
시작하기 전에 알아야 할 것
이벤트 가져오기 동기화를 생성하기 전에 다음 요구 사항이 충족되었는지 확인하세요.
- 계정에 Klaviyo 고급 데이터 플랫폼 및 데이터 웨어하우스 가져오기 에 액세스할 수 있습니다.
- Klaviyo에서 데이터 웨어하우스 연결을 만들고 유효성 을 검사했습니다. 필수 서비스 계정 및 스키마에 대한 자세한 내용은 데이터 웨어하우스의 지원 센터 문서를 참조하세요.
- 원본 테이블 또는 보기에 아래 필수 열이 포함되어 있습니다.
- 웨어하우스에 필요한 테이블/보기를 Klaviyo의 서비스 사용자에게 노출할 수 있는 충분한 권한이 있습니다.
이벤트의 소스 테이블 구조입니다.
이벤트 데이터를 올바르게 가져올 수 있으려면 출처 테이블 또는 보기가 Klaviyo의 필수 필드 및 구조를 충족해야 합니다.
필수 필드
데이터 웨어하우스 이벤트 가져오기의 V1에는 다음 열이 필요합니다.
열 | 필수입니까? | 유형 | 설명 |
|---|---|---|---|
이벤트 타임스탬프 | 필수 | 타임스탬프/날짜/시간 | 이벤트가 발생한 시간입니다. |
지표 이름 | 동기화 구성 설정 중에 단일 지표를 선택하지 않은 경우 필수입니다. | 문자열/텍스트 | 이벤트 또는 지표 이름(예: |
프로필 식별자 | 필수(최소 1) | 문자열/텍스트 | 이메일, 전화번호, 외부 ID 또는 Klaviyo ID 중 하나입니다. 행에 여러 개를 포함할 수 있지만 하나 이상을 매핑해야 합니다. |
감지 타임스탬프 변경 | 필수 | 타임스탬프 | 마지막 실행 이후 새 행 또는 업데이트된 행을 감지하는 데 사용되는 안정적인 타임스탬프입니다. 과거 이벤트를 안전하게 가져올 수 있도록 이벤트 타임스탬프와 달라야 합니다. 이는 행이 데이터 집합에 추가된 시점을 반영해야 하며 동기화가 올바르게 작동하려면 안정적이어야 합니다. |
선택 필드
이러한 필드는 해당되는 경우 권장되지만 반드시 필요한 것은 아닙니다.
열 | 필수입니까? | 유형 | 설명 |
|---|---|---|---|
고유 ID | 추천 | 문자열/번호 | 이벤트의 고유 식별자(중복 제거에 사용됨)입니다. |
값 | 추천 | 숫자 | 이벤트의 숫자 값(예: 주문 합계, 사용한 포인트). Klaviyo 이벤트 모델의 |
가치 통화 | 추천 | 문자열/텍스트 |
|
이벤트 속성
테이블의 다른 모든 열은 다음과 같이 이벤트 속성으로 처리됩니다.
- 열은 Klaviyo에서 속성 이름으로 직접 사용되는 열 이름과 함께 병합된 속성으로 가져옵니다.
- 모든 속성을 명시적으로 매핑할 필요는 없으며 매핑되지 않은 열은 이벤트 속성으로 포함됩니다.
- 중첩된 JSON은 필요한 경우 개별 속성 값(예: 줄 항목의 JSON 개체) 안에 저장할 수 있지만 속성 이름 자체 는 최상위 열에서 가져옵니다.
Klaviyo는 이벤트 속성에 대해 최선의 유형 구문 분석을 수행하며 이벤트 가져오기 설정의 일부로 필드별 변환 논리를 제공하지 않습니다.
일반적인 사용 사례
고객은 일반적으로 다음에 대한 데이터 웨어하우스 이벤트 가져오기를 사용합니다.
1) 오프라인 또는 POS 이벤트 가져오기
웨어하우스에서 스토어 또는 오프라인 이벤트 (예: POS 구매, 반품 또는 약속)를 가져와 다른 Klaviyo 이벤트 및 지표와 마찬가지로 작동하도록 합니다.
예시:
In-Store Purchase주문 합계, 매장 위치, 결제 수단 유형이 포함된 이벤트Appointment Completed직원, 서비스 유형, 지속 시간이 포함된 이벤트
2) 서비스 및 지원 상호 작용
티켓 생성, 해결 또는 반품과 같은 지원 및 서비스 이벤트를 동기화하여 서비스 내역을 기반으로 고객 타임라인을 강화하고 메시지를 강화할 수 있습니다.
예시:
Support Ticket Created및Support Ticket ResolvedOrder Returned사유 코드 및 환불 금액과 함께
3) 모델링 또는 파생된 이벤트
웨어하우스 모델 동작을 Klaviyo 에서 더 쉽게 사용할 수 있는 이벤트로 변환하세요.
예시:
High Churn Risk웨어하우스의 모델에서 생성된 이벤트Lifecycle Milestone Reached고객이 맞춤 라이프사이클 모델에서 단계가 이동할 때 발생하는 이벤트
데이터 웨어하우스 이벤트 가져오기 동기화를 설정합니다.
1) 데이터 웨어하우스를 연결하세요.
아직 웨어하우스를 연결하지 않은 경우:
- Klaviyo에서 Klaviyo 고급 데이터 플랫폼 > 데이터 관리 > 동기화로 이동합니다.
- 데이터 웨어하우스 추가 를 클릭하고 웨어하우스 커넥터를 선택합니다.
- 데이터 웨어하우스 가져오기 개요 문서에서 링크된 해당 연결 가이드에 따라 플랫폼의 연결 단계를 완료하세요.
Klaviyo는 계정당 하나의 활성 데이터 웨어하우스 연결을 지원합니다.
2) 새 이벤트 가져오기 동기화를 만듭니다.
웨어하우스가 연결되면 다음과 같이 진행됩니다.
- Klaviyo 고급 데이터 플랫폼 > 데이터 관리 > 동기화에서 웨어하우스 연결을 선택합니다.
- 데이터 가져오기 를 선택하거나(가져오기를 처음 구성하는 경우) 동기화 만들기 /기존 연결에 대한 동기화 추가 를 클릭합니다.
- 데이터 유형을 묻는 메시지가 표시되면 프로필 대신 이벤트 를 선택합니다.
- 가져오려는 이벤트가 포함된 웨어하우스의 테이블 또는 보기를 선택합니다.
3) 필수 필드를 매핑합니다.
다음으로 웨어하우스 테이블의 열을 Klaviyo의 필수 이벤트 필드에 매핑합니다.
이벤트 가져오기 구성을 위해서는 다음에 대한 매핑을 제공해야 합니다.
- 이벤트 타임스탬프
- 지표 이름 (구성에서 선택한 상수 또는 행당 지표 이름이 포함된 열)
- 프로필 식별자 (하나 이상)입니다.
- 감지 타임스탬프 변경
추천 필드를 매핑할 수도 있습니다.
- 고유 ID
- 값
- 가치 통화
이러한 핵심 필드에 명시적으로 매핑하지 않은 나머지 열은 자동으로 이벤트 속성이 됩니다.
구성 UI는 여러 열을 동일한 최상위 필드에 매핑하지 못하도록 하며, 저장하기 전에 모든 필수 필드가 있는지 확인합니다.
4) 동기화 케이던스 및 과거 범위를 선택합니다.
이벤트 가져오기를 저장하면 다음과 같이 처리됩니다.
- Klaviyo는 정기적인 동기화 가 정기적으로(일반적으로 매시간) 실행되도록 예약합니다.
- 각 실행에서 변경 감지 타임스탬프 가 마지막 성공 실행보다 최신인 행만 처리되므로 가져오기가 증가하도록 보장됩니다.
과거 백필의 경우 다음 중 하나를 선택할 수 있습니다.
- 이벤트 가져오기를 이미 모든 관련 기록 이벤트가 포함된 테이블이나 보기로 가리키거나,
- 전용 기록 표로 시작하고 나중에 변경 데이터 캡처가 지원되는 보기로 전환하여 지속적인 업데이트를 진행하세요.
Klaviyo에서 가져온 이벤트의 동작 방식입니다.
가져온 후에는 다음과 같이 처리됩니다.
- 각 행은 Klaviyo에서 사용자 정의 API 지표의 이벤트 로 표시됩니다.
- 매핑한(또는 상수로 구성한) 지표 이름에 따라 제품에서 확인하는 이벤트 유형 이름이 결정돼요(예:
Placed Order). - 모든 프로필 식별자는 가능한 경우 기존 프로필로 확인되며, 그렇지 않은 경우 Klaviyo는 다른 이벤트 수집 경로와 유사하게 제공된 식별자 필드를 사용하여 새 프로필을 생성합니다.
이러한 이벤트를 사용하여 다음을 수행할 수 있습니다.
- 누군가가 한 일을 기반으로 세그먼트를 구축하고 이벤트 속성을 필터링합니다.
- 플로우를 트리거하고 필터링합니다.
- 지표의 행동을 분석하고 다른 출처의 이벤트와 함께 보고하세요.
제한 사항 및 모범 사례
데이터 웨어하우스 이벤트 가져오기를 사용할 때는 다음 사항을 유의하세요.
- 이벤트 가져오기의 V1은 이벤트 데이터에만 중점을 둡니다. 프로필 속성은 프로필 가져오기 또는 기타 지원되는 경로를 통해 업데이트해야 합니다.
- 변경 감지 타임스탬프는 이벤트 타임스탬프와 달라야 합니다. 두 항목에 동일한 열을 사용하면 첫 동기화 후 과거 이벤트를 안전하게 가져오지 못할 수 있습니다.
- 최적의 속도를 위해 변경 감지 필드를 새 테이블이 생성된 시점의 타임스탬프로 설정합니다. 레코드는 이 값을 사용하여 동기화 주기에 배치되므로 모든 기록 레코드에 좁은 범위(예: 새 테이블을 생성하는 작업의 타임스탬프)의 변경 감지 타임스탬프가 있는 경우 기록 레코드를 가져오는 시간을 줄일 수 있습니다.
- 가능하면 이벤트당 안정적인 고유 ID 를 사용하여 중복 제거를 개선하고 다운스트림 디버깅을 더 쉽게 만들 수 있습니다.
- 테이블에 열 세트가 다른 여러 이벤트 유형(지표)이 있는 경우 일반적으로 이를 함께 유지하는 것이 좋습니다. 특정 행에 대해 NULL인 열은 Klaviyo에서 해당 이벤트에 대해 단순히 무시됩니다.
- 복잡한 중첩 개체(예: 줄 항목 배열)의 경우, 특히 세분화나 플로우에 사용할 것으로 예상되는 속성의 경우 가능하면 여러 열로 병합하는 것이 좋습니다.
"
- 변경 감지 타임스탬프를 현재 날짜 근처에 클러스터된 상태로 유지합니다. Klaviyo는 표에서 가장 오래된 변경 감지 타임스탬프를 반복하여 1시간 간격으로 데이터를 읽습니다. 과거에 변경 감지 타임스탬프가 있는 행(예: 다른 모든 기록이 최근 기록인 2023년부터 단일 레코드)이 있는 경우 Klaviyo는 각 동기화 주기에서 해당 날짜 이후 1시간마다 스캔하여 과거 백필 동기화 시간이 느려집니다.
- 단일 1시간의 변화 감지 타임스탬프 창에서 약 100,000행을 초과하지 마세요. 너무 많은 행이 동일한 1시간을 공유하면 동기화 쿼리가 시간 초과될 수 있습니다.
권장 Snowflake 클러스터링 키 설정
Snowflake 테이블의 경우, 변경 감지 타임스탬프 열의 클러스터링은 Klaviyo의 쿼리가 불필요한 마이크로 파티션을 건너뛰는 데 도움이 되므로 동기화 시간과 Snowflake 계산 비용을 모두 줄일 수 있습니다.
ALTER TABLE your_schema.your_table CLUSTER BY (your_change_timestamp_column);