Overview
🔎 들어가기 전에
본 문서는 Braze의 Cloud Data Ingestion 기능 연동 방법에 대해 안내합니다. 아래 내용을 포함합니다.
Cloud Data Ingestion 기능 소개
Cloud Data Ingestion 연동 방법
CDI Segments 활용 방법
Cloud Data Ingestion이란?
Cloud Data Ingestion(CDI)은 고객사의 데이터 웨어하우스 또는 파일 스토리지와 브레이즈를 연동하여 데이터를 동기화할 수 있는 기능입니다. 동기화된 데이터는 브레이즈에서 메시지 개인화, 이벤트 트리거, 세그먼트에 활용할 수 있습니다.
브레이즈 CDI는 아래 데이터 웨어하우스와 파일 스토리지를 지원하고 있습니다.
브레이즈 CDI에 대한 보다 자세한 내용은 브레이즈 유저 가이드를 확인해 주세요.
Cloud Data Ingestion 연동 방법
1. 연동 데이터 타입 및 비용 확인하기
연동하기 전, 데이터 웨어하우스에서 브레이즈로 데이터를 전송할 때 지원되는 데이터 형식과 데이터 전송 시 두 솔루션에서 사용되는 비용을 확인합니다.
1-1. 지원하는 데이터 타입 확인하기
사용자 속성 (User Attributes)
커스텀 이벤트 (Custom Events)
구매 이벤트 (Purchase Events)
카탈로그 (Catalog)
사용자 삭제 요청 (Delete Users)
데이터 업데이트 시 참고 사항
비용을 최소화하기 위해 업데이트가 필요한 데이터만 전송해주세요.
모든 데이터의 타임스탬프(Timestamp)를 UTC 타임존 기준으로 업데이트해주세요.
연동할 수 있는 데이터 웨어하우스 테이블 개수에는 제한이 없습니다.
연동할 수 있는 행(row) 개수에는 제한이 없습니다.
데이터 업데이트 시 참고할 다른 사항은 브레이즈 유저 가이드를 참고해주세요.
1-2. 사용되는 비용 확인하기
1) 브레이즈 데이터 포인트
CDI로 데이터를 전송할 때, 데이터 유형에 따라 일부 사용자 속성 및 이벤트의 경우 브레이즈 데이터 포인트가 차감될 수 있습니다. 데이터 포인트 차감 기준은 브레이즈 유저 가이드에서 확인할 수 있습니다.
2) 데이터 웨어하우스 비용
CDI는 브레이즈가 데이터 웨어하우스의 데이터를 읽는(read) 방식입니다. 이에 데이터 웨어하우스에서 아웃바운드(outbound) 비용이 발생할 수 있습니다. 데이터 웨어하우스에서 발생하는 비용을 확인주세요.
2. 테이블 생성하기
데이터 웨어하우스에서 브레이즈로 전송할 테이블을 생성합니다. 테이블은 전송하려는 브레이즈 데이터 타입별로 생성해야 합니다. 예를 들어 사용자 속성과 커스텀 이벤트를 전송하려면, 사용자 속성을 위한 테이블과 커스텀 이벤트를 위한 테이블을 각각 생성해야 합니다.
동일한 타입의 서로 다른 데이터를 별도로 관리하기 위해 테이블을 여러 개 생성할 수도 있습니다. 예를 들어 사용자 속성 A는 1시간마다, 사용자 속성 B는 30분마다 전송되도록 별도로 테이블을 구성할 수 있습니다.

2-1. 사용자 속성 테이블 형식
사용자 속성을 기준으로 연동할 때 테이블은 아래 칼럼을 필수로 포함해야 합니다. 자세한 내용은 브레이즈 유저 가이드를 참고해 주세요.
1) UPDATED_AT
개별 데이터가 동기화된 시간입니다. 브레이즈에서는 UPDATE_AT
칼럼을 활용해 가장 마지막 동기화 시점 이후에 업데이트된 데이터만 가져옵니다. 동기화할 데이터가 없으면 타임스탬프의 기본값인 1970-01-01 09:00
으로 적용됩니다.
주의 사항
파일스토리지(Amazon S3) 연동 방식은 데이터 웨어하우스 연동과 다르게 매번 전체 파일을 새롭게 처리합니다.
데이터가 변경되지 않았더라도 Braze는 해당 동기화를 위한 새로운 데이터로 취급합니다.
이에 변경되지 않은 데이터라고 하더라도 데이터 포인트가 소모될 수 있습니다.
따라서 파일스토리지 연동 시 업데이트된 데이터만 포함하여 파일을 올려야 데이터포인트 과소진을 방지할 수 있습니다.
2) USER IDENTIFIER
브레이즈에서는 아래 세 가지 식별자를 기준으로 사용자를 식별하며, 세 가지 중 반드시 하나 이상의 식별자를 포함해 전송해야 합니다. EXTERNAL_ID
사용을 권장합니다.
EXTERNAL_ID
BRAZE_ID
ALIAS_NAME 및 ALIAS_LABEL

3) PAYLOAD
PAYLOAD
칼럼에는 추가 혹은 업데이트할 사용자 속성 데이터를 입력합니다. 데이터는 JSON 형식으로 제공되어야 합니다. 기존 데이터를 삭제하려면 해당 데이터의 값을 null
로 설정합니다.
USER IDENTIFIER
칼럼과 PAYLOAD
칼럼을 꼭 분리해 주세요. 가령 사용자 식별자로 EXTERNAL_ID
를 사용하는 경우, 테이블은 아래의 예시와 같이 구성되어야 합니다.

2-2. 커스텀 이벤트 테이블 형식
주의사항
Cloud Data Ingestion으로 동기화한 이벤트는 API와 마찬가지로 브레이즈 인앱메시지의 이벤트 트리거로 활용할 수 없습니다. 푸시 알림, 이메일, 웹훅 등 다른 채널에서는 이벤트 트리거로 활용할 수 있습니다. 활용에 반드시 참고해주세요.
사용자 속성 테이블과 동일하게 UPDATED_AT
, EXTERNAL_ID
, PAYLOAD
세 개의 칼럼으로 구성됩니다. PAYLOAD
칼럼의 데이터를 커스텀 이벤트로 구성해주세요. 아래는 커스텀 이벤트에 대한 예시 형식입니다.
{
"app_id" : "your-app-id",
"name" : "rented_movie", // 이벤트명
"time" : "2013-07-16T19:20:45+01:00",
"properties": { // 이벤트 프로퍼티
"movie": "The Sad Egg",
"director": "Dan Alexander"
}
}
3. 브레이즈가 데이터 웨어하우스에 접근할 수 있도록 권한 설정하기
CDI는 브레이즈가 아웃바운드로 접근할 수 있도록 IP Access 권한을 부여합니다. 브레이즈 국내 고객사의 경우 모두 US 인스턴스를 부여받고 있습니다. (브레이즈 가이드)

4. 브레이즈 대시보드에서 연동 진행하기
브레이즈 대시보드에서 연동을 진행합니다. 연동에 필요한 정보는 연동하려는 데이터 웨어하우스에서 직접 확인합니다. 아래 데이터 웨어하우스 별 추가 참고사항을 확인해주세요.
4-1. 데이터 웨어하우스 별 참고 사항 확인하기
데이터 웨어하우스 | 참고 사항 |
---|---|
Amazon Redshift | 1. Host URL 은 Endpoint URL을 의미합니다. |
4-2. 연동 세부 사항 설정하기
Integration Name: 브레이즈 대시보드에 표시될 연동 이름입니다.
Data Type: 전송하고자 하는 데이터의 타입을 지정합니다.
Recurring Sync: 연동이 설정한 주기마다 동기화가 자동으로 실행됩니다.
연동 주기는 최대 15분까지 설정할 수 있습니다. 15분보다 짧은 주기로 설정이 필요한 경우에는 API 요청을 통해 직접 동기화할 수 있습니다. (브레이즈 API 문서)

4-3. 동기화 성공 혹은 실패에 따른 알림 설정하기
데이터 동기화 후 성공 및 에러 메시지 알림을 설정합니다.
Row Error: 동기화된 데이터 중 일정 비율 이상의 행에서 에러가 발생하면 설정한 이메일로 알림이 전송됩니다.
Sync success: 동기화가 성공했을 때 알림이 전송됩니다.

4-4. 테스트 연결을 통해 정상 전송 여부 확인하기
먼저 테스트 연결을 통해 데이터가 정상적으로 전송됐는지 확인합니다.

5. 연동 후 히스토리 확인하기
테스트 연결에서 정상적으로 연동되는 것을 확인한 후 실제 연동을 진행합니다. 연동이 성공하면 Status가 Active
로 표시됩니다. 동기화 현황은 Sync History에서 확인할 수 있습니다. 오류 발생 시 Details 칼럼에서 오류 메시지를 확인할 수 있습니다.

6. Cloud Data Ingesion 활용 사례
(1) 내부 데이터베이스와 브레이즈 간 정합성 확보
내부 데이터베이스 정보를 주기적으로 브레이즈에 반영하는 방식이기 때문에 데이터 정합성 문제를 해결할 수 있습니다. 특히 API를 통한 데이터 업데이트 방식에서 발생할 수 있는 네트워크, 트래픽 등의 문제를 해결할 수 있습니다.
(2) 데이터 중복 업데이트를 방지하여 데이터 포인트 최적화
사용자 속성을 Cloud Data Ingestion으로 업데이트할 때, 기존과 동일한 값을 업데이트하는 경우에는 데이터 포인트를 차감하지 않도록 설정할 수 있습니다. 따라서 API를 통한 업데이트 방식에서 발생하는 중복 업데이트로 인한 데이터 포인트 차감 문제를 해결할 수 있습니다.
구체적인 활용 성과가 궁금하신 경우 아래 고객 사례를 참고해 보세요.
Cloud Data Ingestion으로 동기화된 데이터를 CDI Segments로 활용하기
1. CDI Segments란?
CDI Segments는 CDI로 동기화된 데이터에 대해 Segment Extension을 통해 캠페인의 타겟 세그먼트를 생성할 수 있는 기능으로, SQL 쿼리를 기반으로 동기화된 CDI 데이터를 추출 및 연산합니다.
2. CDI Segments 생성 방법
1) Segment Extension을 [Full refresh (including CDI Segments)] 방식으로 생성합니다.

2) SQL 쿼리를 활용해서 external_id
목록을 추출하고 Segment로 저장합니다.
SQL 작성 시 주의사항
브레이즈에서 사용하는 SQL 형식은 Snowflake를 기준으로 합니다. 예를 들어 BigQuery와 브레이즈를 연동했더라도, 브레이즈 대시보드에서는 Snowflake 기반의 SQL 쿼리를 작성해야 합니다.
3. CDI Segments 활용 시 고려해야 할 비용
CDI Segments는 브레이즈 데이터 포인트를 소모하지 않습니다. 하지만 연동한 데이터 웨어하우스의 쿼리 비용이 소모됩니다. 사용 시 연동한 데이터 웨어하우스 쿼리 비용을 반드시 고려해주세요.

4. CDI Segments 활용 사례
고객사 내부 데이터로 세그먼트 생성 가능
브레이즈에서 제공하는 Segmentation Filter로 연산하기 여러운 타겟 조건이 있다면, 내부 데이터베이스를 직접 연동해서 활용해 볼 수 있습니다. 예를 들어 내부 기준에 따른 유저 RFM 점수를 매겨 세그먼트를 생성하고자 하는 경우, RFM 점수값을 CDI로 연동하면 CDI Segment를 활용할 수 있습니다.
관련 자료
브레이즈 Cloud Data Ingestion에 대해 더 알아보고자 하신다면, 아래 유저 가이드 및 실제 고객 사례를 참고해 주세요.