Twilio Segment 커넥터
Tajo를 통해 Twilio Segment를 Brevo에 연결하여 고객 데이터 파이프라인을 통합하고, 모든 소스의 이벤트를 Brevo로 라우팅하며, Segment의 아이덴티티 해결로 더 풍부한 마케팅 자동화를 활용하십시오.
개요
| 속성 | 값 |
|---|---|
| 플랫폼 | Twilio Segment |
| 카테고리 | 데이터 플랫폼 (Custom) |
| 설정 복잡도 | 중간 |
| 공식 통합 | 아니오 |
| 동기화 데이터 | 이벤트, 고객, 특성, 오디언스 |
| 사용 가능한 스킬 | 8 |
기능
- 범용 데이터 수집 - Segment SDK를 통해 웹사이트, 모바일 앱, 서버에서 이벤트 수집
- 소스 라우팅 - 400개 이상의 소스에서 Tajo를 거쳐 Brevo로 데이터 라우팅
- 아이덴티티 해결 - 익명 및 알려진 사용자 프로필을 자동으로 병합
- 오디언스 동기화 - Segment가 계산한 특성과 오디언스를 Brevo 목록으로 전송
- 이벤트 스트리밍 - Segment의 Connections 프레임워크를 통한 실시간 이벤트 전달
- Reverse ETL - Segment Reverse ETL을 사용해 웨어하우스 데이터를 Brevo로 동기화
- 스키마 적용 - 동기화 전에 Segment Protocols로 이벤트 스키마 검증
사전 요구 사항
시작하기 전에 다음이 준비되어 있는지 확인하십시오.
- 소스가 구성된 Twilio Segment 워크스페이스
- 소스의 Segment Write Key
- API 접근이 가능한 Brevo 계정
- API 자격 증명이 있는 Tajo 계정
인증
Segment Write Key
Segment는 각 소스에 연결된 고유 식별자인 Write Key를 사용하여 소스를 인증합니다.
// Write Key로 Analytics.js 초기화analytics.load("YOUR_SEGMENT_WRITE_KEY");Tajo API 토큰
자격 증명으로 Tajo 커넥터를 구성합니다.
tajo connectors install segment \ --write-key $SEGMENT_WRITE_KEY \ --workspace-slug your-workspace \ --brevo-api-key $BREVO_API_KEY구성
기본 설정
connectors: segment: enabled: true write_key: "your-segment-write-key" data_region: "us" # 또는 EU 워크스페이스의 경우 "eu"
# 데이터 동기화 옵션 sync: identify: true track: true page: true group: false
# Brevo 목록 할당 lists: all_contacts: 5 active_users: 6 high_value: 7이벤트 매핑
Segment track 이벤트를 Brevo 이벤트 유형에 매핑합니다.
event_mapping: # Segment 이벤트 -> Brevo 이벤트 "Order Completed": "order_completed" "Product Viewed": "product_viewed" "Cart Updated": "cart_updated" "Signed Up": "customer_created" "Checkout Started": "checkout_started"
# 맞춤 이벤트 "Feature Used": "feature_used" "Plan Upgraded": "plan_upgraded"특성 매핑
Segment identify 특성을 Brevo 연락처 속성에 매핑합니다.
trait_mapping: email: email firstName: FIRSTNAME lastName: LASTNAME phone: SMS plan: PLAN_TYPE company: COMPANY createdAt: SIGNUP_DATE lifetimeValue: LTVAPI 엔드포인트
| 메서드 | 엔드포인트 | 설명 |
|---|---|---|
POST | /v1/identify | 특성으로 사용자 식별 |
POST | /v1/track | 이벤트 추적 |
POST | /v1/page | 페이지 뷰 기록 |
POST | /v1/screen | 화면 뷰 기록 |
POST | /v1/group | 사용자를 그룹과 연결 |
POST | /v1/alias | 두 사용자 아이덴티티 병합 |
POST | /v1/batch | 여러 메시지를 배치로 전송 |
POST | /v1/import | 과거 데이터 대량 가져오기 |
코드 예제
Tajo 대상으로 Segment 초기화
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Segment 소스 연결await tajo.connectors.connect('segment', { writeKey: process.env.SEGMENT_WRITE_KEY, workspaceSlug: 'your-workspace'});Segment를 통한 이벤트 추적
// 사용자 식별 - Brevo 연락처로 동기화됨analytics.identify("user_123", { firstName: "Jane", lastName: "Kim", plan: "premium", lifetimeValue: 450.00});
// 이벤트 추적 - Brevo로 전달됨analytics.track("Order Completed", { orderId: "ORD-1234", revenue: 89.99, currency: "USD", products: [ { id: "SKU-001", name: "Widget", price: 89.99 } ]});
// 페이지 뷰 추적analytics.page("Pricing", { title: "Pricing - Tajo", url: "https://tajo.io/pricing"});서버 측 이벤트 전달 (Node.js)
const Analytics = require('analytics-node');const analytics = new Analytics(process.env.SEGMENT_WRITE_KEY);
// 데이터베이스에서 사용자 배치 식별const users = await db.query('SELECT * FROM users WHERE updated_at > $1', [lastSync]);
for (const user of users) { analytics.identify({ userId: user.id, traits: { email: user.email, firstName: user.first_name, lastName: user.last_name, totalOrders: user.order_count, lifetimeValue: user.ltv } });}
// 큐 플러시await analytics.flush();속도 제한
| 티어 | 제한 | 기간 |
|---|---|---|
| Free | 1,000 이벤트/초 | 소스당 |
| Team | 10,000 이벤트/초 | 소스당 |
| Business | 맞춤 | 워크스페이스당 |
| Batch API | 최대 500 KB | 요청당 |
| 최대 배치 크기 | 100 이벤트 | 배치 호출당 |
배치 크기 제한
각 배치 요청에는 최대 100개의 이벤트를 포함할 수 있으며 500 KB를 초과해서는 안 됩니다. 대규모 과거 데이터 가져오기의 경우 Segment Bulk Import API를 사용하십시오.
문제 해결
| 문제 | 원인 | 해결 방법 |
|---|---|---|
| Brevo에 이벤트가 나타나지 않음 | 대상이 활성화되지 않음 | Segment에서 Tajo 대상 활성화 |
| 사용자 특성이 동기화되지 않음 | 이메일 식별자 누락 | identify 호출에 email 특성 포함 확인 |
| 중복 연락처 | 여러 익명 ID | 아이덴티티 병합을 위한 적절한 alias 호출 구현 |
| 이벤트 지연 | 높은 볼륨 큐 | Segment의 이벤트 배달 대시보드 확인 |
| 스키마 위반 | 계획되지 않은 이벤트 | Segment Protocols 추적 계획 검토 |
| 429 속도 제한 오류 | 너무 많은 요청 | 배치 처리 구현 또는 이벤트 빈도 감소 |
모범 사례
- track 전에 identify 사용 - 이벤트가 올바른 사용자에 귀속되도록 항상
track전에identify호출 - 추적 계획 구현 - 이벤트 스키마를 적용하기 위해 Segment Protocols 사용
- 서버 측 호출 배치 처리 - HTTP 오버헤드를 줄이기 위해 서버 측 통합에 배치 API 사용
- 특성을 명시적으로 매핑 - 기본값에 의존하지 말고 특성-속성 매핑 정의
- Segment Functions 사용 - Brevo에 도달하기 전에 이벤트를 전송 중에 변환
- 이벤트 배달 모니터링 - 실패한 이벤트는 Segment의 Event Delivery 대시보드에서 확인
- Replay 설정 - 과거 이벤트 재처리를 위해 Segment Replay 활성화
보안
- TLS 암호화 - 모든 데이터는 HTTPS/TLS 1.2+를 통해 전송
- Write Key 격리 - 각 소스는 자체 Write Key 보유
- GDPR 준수 - Segment는 데이터 삭제 및 억제 요청 지원
- SOC 2 Type II - Segment는 SOC 2 Type II 인증을 받음
- 지역별 데이터 호스팅 - 데이터 레지던시 준수를 위한 EU 워크스페이스 옵션