Klaviyo 및 BigQuery 연결(역방향 ETL)
클라비요 고급 데이터 플랫폼은 Klaviyo의 표준 마케팅 애플리케이션에 포함되어 있지 않으며, 관련 기능에 액세스하려면 구독이 필요합니다. 이 요금제를 구매하는 방법을 알아보려면 결제 가이드를 참조하세요.
환경 설정 및 연결
개요: 다음 단계에 따라 Klaviyo용 BigQuery를 준비하세요. 데이터 세트/프로젝트에서 필요한 스키마를 만들고, 전용 서비스 계정과 키를 설정하고, 필요한 최소한의 권한을 할당하고, 구성을 확인하고, BigQuery를 Klaviyo에 연결합니다.
스키마 구조, 필수 테이블 및 필드 매핑을 포함하여 Klaviyo에서 데이터 웨어하우스 가져오기가 작동하는 방식에 대한 자세한 내용은 Klaviyo에서 데이터 웨어하우스 가져오기 작동 방식을 참조하세요.
1) 필수 스키마/데이터세트 만들기
1) 필수 스키마/데이터세트 만들기
BigQuery에서 프로젝트에 Klaviyo 에 사용할 두 개의 데이터 집합을 만듭니다.
생성 스키마 `klaviyo_import_from_dwh`; 생성 스키마 `klaviyo_tmp`;
-
KLAVIYO_IMPORT_FROM_DWH: 이 데이터 세트에서 생성된 테이블과 뷰는 Klaviyo가 읽기/쓰기할 수 있습니다. -
KLAVIYO_TMP: 동기화 작업 중에 사용되는 임시 또는 스테이징 데이터입니다.
2) Klaviyo 서비스 계정 및 키 생성
2) Klaviyo 서비스 계정 및 키 생성
Google 서비스 계정을 만듭니다(예 KLAVIYO_DATA_TRANSFER_USER)를 사용하여 Klaviyo 이 연동 전용으로 사용합니다. 이 계정의 JSON 키를 다운로드하여 안전하게 보관하세요.
- GCP 콘솔에서 IAM & 관리자 → 서비스 계정으로 이동합니다.
- 새 서비스 계정을 만들거나 Klaviyo 전용으로 사용 중인 기존 계정을 선택합니다.
- 키 탭에서 JSON 유형의 새 키를 만듭니다. 이 키 파일은 Klaviyo 에서 연결을 구성할 때 필요하므로 안전하게 보관하세요.
3) 필수 권한 할당
3) 필수 권한 할당
서비스 계정에 생성한 두 데이터 집합으로 범위가 지정된 다음 역할을 부여합니다:
| 데이터 세트 | 최소 필수 역할 | 설명 |
|---|---|---|
KLAVIYO_TMP |
BigQuery 데이터 편집기 + BigQuery 작업 사용자
| Klaviyo 에서 임시 테이블, 작업 등을 만들고 관리할 수 있도록 허용합니다. |
클라비요_임포트_프롬_dwh |
BigQuery 데이터 뷰어 + BigQuery 작업 사용자
| Klaviyo 에서 테이블을 읽을 수 있도록 허용합니다. |
-- GCP CLI의 명령 예(자리 표시자 교체): gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \ --member="serviceAccount:KLAVIYO_DATA_TRANSFER_USER@YOUR_PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/bigquery.dataEditor" \ --condition=None \ --dataset="KLAVIYO_TMP" gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \ --member="serviceAccount:KLAVIYO_DATA_TRANSFER_USER@YOUR_PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/bigquery.dataViewer" \ --condition=None \ --dataset="KLAVIYO_IMPORT_FROM_DWH"
4) 설정 확인(선택 사항)
4) 설정 확인(선택 사항)
4.1 데이터 세트의 존재 여부 확인4.1 데이터 세트의 존재 여부 확인
SELECT schema_name
FROM `YOUR_PROJECT_ID.INFORMATION_SCHEMA.SCHEMATA`
WHERE schema_name IN ('KLAVIYO_IMPORT_FROM_DWH','KLAVIYO_TMP');
4.2 서비스 계정 액세스 확인4.2 서비스 계정 액세스 확인
서비스 계정 키를 사용하여 BigQuery CLI 또는 API로 인증하고 간단한 쿼리를 실행합니다:
bq --project_id=YOUR_PROJECT_ID \ --dataset_id=KLAVIYO_IMPORT_FROM_DWH \ query --use_legacy_sql=false \ 'SELECT COUNT(*) FROM `YOUR_PROJECT_ID.KLAVIYO_IMPORT_FROM_DWH.some_table` LIMIT 1'4.3 각 데이터 집합에 대한 권한 확인
4.3 각 데이터 집합에 대한 권한 확인
SELECT * FROM `YOUR_PROJECT_ID.KLAVIYO_IMPORT_FROM_DWH.INFORMATION_SCHEMA.OBJECT_PRIVILEGES` WHERE grantee = 'KLAVIYO_DATA_TRANSFER_USER@YOUR_PROJECT_ID.iam.gserviceaccount.com';4.4 선택 사항: 만들기/읽기 작업 유효성 검사
4.4 선택 사항: 만들기/읽기 작업 유효성 검사
-- KLAVIYO_TMP에서 테스트 생성 CREATE TABLE `YOUR_PROJECT_ID.KLAVIYO_TMP.test_permissions` (id INT64); DROP TABLE `YOUR_PROJECT_ID.KLAVIYO_TMP.test_permissions`; -- 테스트는 KLAVIYO_IMPORT_FROM_DWH에서 선택 SELECT * FROM `YOUR_PROJECT_ID.KLAVIYO_IMPORT_FROM_DWH.some_existing_table` LIMIT 1;
팁: 팁: Klaviyo 에 제공할 서비스와 동일한 서비스 계정과 키를 사용하여 이 검사를 실행하세요. 감사를 위해 결과 사본을 보관하세요.
5) BigQuery에 Klaviyo 연결
5) BigQuery에 Klaviyo 연결
BigQuery 환경이 구성되면 Klaviyo 에서 연결을 완료합니다.
- Klaviyo 에서 왼쪽 사이드바의 고급 → 동기화로 이동합니다.
- 동기화 생성을 클릭합니다.
- 데이터 웨어하우스로 데이터 가져오기 또는 내보내기를 선택합니다.
- 데이터 웨어하우스로 BigQuery를 선택합니다.
- BigQuery에 연결을 클릭합니다.
메시지가 표시되면 다음 연결 구성 세부 정보를 입력합니다:
| 필드 | 설명 | 어디서 찾을 수 있나요? |
|---|---|---|
| 프로젝트 ID | Google 클라우드 프로젝트 ID. | 프로젝트 페이지 상단의 GCP 콘솔에서 찾을 수 있습니다. |
| 데이터 세트 | Klaviyo 테이블이 포함된 데이터 집합(스키마)(예: KLAVIYO_IMPORT_FROM_DWH). | 1단계에서 만든 데이터 집합을 사용합니다. 연결을 구성할 때 해당 데이터 집합을 선택합니다. |
| 서비스 계정 키(JSON) | 서비스 계정에 대해 다운로드한 JSON 키 파일입니다. | 2단계에서 만든 JSON 키 파일의 내용을 업로드하거나 붙여넣습니다. |
연결 후: Klaviyo는 연결의 유효성을 검사하고, 데이터 세트에 대한 액세스를 테스트한 다음, Klaviyo로 데이터를 가져오기 위한 동기화 구성과 Klaviyo 데이터를 BigQuery로 내보내기 위한 동기화 구성을 허용합니다.
다음 단계: 성공적으로 연결한 후, Klaviyo에서 첫 번째 가져오기 또는 내보내기 동기화를 만들고 BigQuery에서 데이터를 이동하기 시작합니다.