Twilio Segment コネクタ
Tajo を介して Twilio Segment を Brevo に接続し、顧客データパイプラインを統合し、任意のソースから Brevo にイベントをルーティングし、Segment の ID 解決を活用してより豊かなマーケティング自動化を実現します。
概要
| プロパティ | 値 |
|---|---|
| プラットフォーム | Twilio Segment |
| カテゴリ | データプラットフォーム(カスタム) |
| セットアップの複雑さ | 中 |
| 公式統合 | いいえ |
| 同期データ | イベント、顧客、Traits、オーディエンス |
| 利用可能なスキル | 8 |
機能
- ユニバーサルデータ収集 - Segment SDK 経由で Web サイト、モバイルアプリ、サーバーからイベントを収集
- ソースルーティング - Tajo を介して 400 以上のソースから Brevo にデータをルーティング
- ID 解決 - 匿名および既知のユーザープロファイルを自動マージ
- オーディエンス同期 - Segment の計算済み Traits およびオーディエンスを Brevo リストに送信
- イベントストリーミング - Segment の Connections フレームワーク経由でリアルタイムイベント転送
- リバース ETL - Segment リバース 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"Traits マッピング
Segment の identify Traits を Brevo 連絡先属性にマッピングします。
trait_mapping: email: email firstName: FIRSTNAME lastName: LASTNAME phone: SMS plan: PLAN_TYPE company: COMPANY createdAt: SIGNUP_DATE lifetimeValue: LTVAPI エンドポイント
| メソッド | エンドポイント | 説明 |
|---|---|---|
POST | /v1/identify | Traits 付きでユーザーを識別 |
POST | /v1/track | イベントをトラッキング |
POST | /v1/page | ページビューを記録 |
POST | /v1/screen | 画面ビューを記録 |
POST | /v1/group | ユーザーをグループに関連付け |
POST | /v1/alias | 2 つのユーザー ID をマージ |
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 送信先を有効化 |
| ユーザー Traits が同期されない | メール識別子の欠落 | identify 呼び出しに email Trait を含める |
| 重複した連絡先 | 複数の匿名 ID | ID マージのため適切な alias 呼び出しを実装 |
| イベント遅延 | 大量のキュー | Segment のイベント配信ダッシュボードを確認 |
| スキーマ違反 | 計画外のイベント | Segment Protocols のトラッキングプランを確認 |
| 429 レート制限エラー | リクエスト過多 | バッチ処理を実装またはイベント頻度を削減 |
ベストプラクティス
- track の前に identify を使用する - イベントが正しいユーザーに帰属するよう、
trackの前に常にidentifyを呼び出す - トラッキングプランを実装する - Segment Protocols を使用してイベントスキーマを強制
- サーバーサイド呼び出しをバッチ処理する - HTTP オーバーヘッドを削減するためサーバーサイド統合に batch API を使用
- Traits を明示的にマッピングする - デフォルトに依存せず、Trait から属性へのマッピングを定義
- 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 ワークスペースオプション