Amplitude コネクタ
Tajo を介して Amplitude を Brevo に接続し、製品分析データをマーケティング自動化に活用します。行動コホート、ユーザープロパティ、製品イベントを同期して、ターゲットキャンペーンを強化します。
概要
| プロパティ | 値 |
|---|---|
| プラットフォーム | Amplitude |
| カテゴリ | 分析(カスタム) |
| セットアップの複雑さ | 中 |
| 公式統合 | いいえ |
| 同期データ | イベント、ユーザー、コホート、プロパティ |
| 利用可能なスキル | 6 |
機能
- イベント転送 - Amplitude の track イベントを Brevo に送信してマーケティング自動化トリガーに使用
- コホート同期 - Amplitude の行動コホートを Brevo 連絡先リストとしてエクスポート
- ユーザープロパティ同期 - Amplitude のユーザープロパティを Brevo 連絡先属性にマッピング
- 収益トラッキング - 顧客生涯価値分析のために収益イベントを同期
- 行動セグメンテーション - Amplitude のエンゲージメントデータを Brevo セグメントで使用
- HTTP V2 API 統合 - Amplitude の HTTP V2 取り込み API との直接統合
前提条件
開始する前に、以下を準備してください。
- プロジェクトを作成済みの Amplitude アカウント
- Amplitude API Key および Secret Key
- API アクセス可能な Brevo アカウント
- API 認証情報を持つ Tajo アカウント
認証
Amplitude API キー
Amplitude は認証に API Key と Secret Key のペアを使用します。API Key はプロジェクトを識別し、Secret Key はサーバー側のリクエストを認証します。
# Amplitude でキーを確認:# Settings > Projects > [Your Project] > GeneralHTTP V2 API 認証
HTTP V2 API はリクエストボディで API キーを使用します。
curl -X POST https://api2.amplitude.com/2/httpapi \ -H "Content-Type: application/json" \ -d '{ "api_key": "YOUR_AMPLITUDE_API_KEY", "events": [...] }'設定
基本セットアップ
connectors: amplitude: enabled: true api_key: "your-amplitude-api-key" secret_key: "your-amplitude-secret-key" data_center: "US" # または "EU"
# データ同期オプション sync: events: true user_properties: true cohorts: true revenue: true
# Brevo リストの割り当て lists: active_users: 10 power_users: 11 churning_users: 12イベントマッピング
Amplitude イベントを Brevo 自動化トリガーにマッピングします。
event_mapping: # Amplitude イベント -> Brevo イベント "Purchase": "order_completed" "Sign Up": "customer_created" "Add to Cart": "cart_updated" "Page View": "page_viewed" "Feature Click": "feature_used"
# 収益イベント "Revenue": "revenue_event" "Subscription Started": "subscription_created"ユーザープロパティマッピング
Amplitude のユーザープロパティを Brevo の連絡先属性にマッピングします。
property_mapping: # Amplitude プロパティ -> Brevo 属性 email: email first_name: FIRSTNAME last_name: LASTNAME phone: SMS plan_type: PLAN signup_date: SIGNUP_DATE total_purchases: ORDER_COUNT lifetime_revenue: LTV last_active: LAST_ACTIVE device_type: DEVICEAPI エンドポイント
| メソッド | エンドポイント | 説明 |
|---|---|---|
POST | /2/httpapi | イベントをアップロード(HTTP V2 API) |
POST | /batch | イベントを一括アップロード(Batch API) |
POST | /identify | ユーザープロパティを設定 |
POST | /groupidentify | グループプロパティを設定 |
GET | /2/export | 生イベントデータをエクスポート |
GET | /2/usersearch | ユーザーを検索 |
GET | /2/useractivity | ユーザーのアクティビティタイムラインを取得 |
POST | /api/3/cohort/export | コホートメンバーをエクスポート |
GET | /api/3/chart/{chart_id}/query | 保存済みチャートデータをクエリ |
コード例
Amplitude コネクタの初期化
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Amplitude プロジェクトを接続await tajo.connectors.connect('amplitude', { apiKey: process.env.AMPLITUDE_API_KEY, secretKey: process.env.AMPLITUDE_SECRET_KEY, dataCenter: 'US'});HTTP V2 API でイベントを送信
// Amplitude にイベントを送信(自動的に Brevo に転送される)const response = await fetch('https://api2.amplitude.com/2/httpapi', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ api_key: process.env.AMPLITUDE_API_KEY, events: [ { user_id: "user_123", event_type: "Purchase", event_properties: { revenue: 89.99, product_id: "SKU-001", product_name: "Widget Pro" }, user_properties: { $set: { plan_type: "premium" } }, time: Date.now() } ] })});
// 期待されるレスポンス: { "code": 200, "events_ingested": 1 }コホートを Brevo リストに同期
// Amplitude コホートをエクスポートして Brevo に同期const cohort = await tajo.connectors.syncCohort('amplitude', { cohortId: 'abc123', targetList: 11, // Brevo リスト ID syncMode: 'mirror' // mirror、append、または remove});
console.log(cohort);// {// cohortName: "Power Users",// membersCount: 2450,// syncedToBrevo: 2450,// listId: 11// }レート制限
| API | 制限 | 詳細 |
|---|---|---|
| HTTP V2 API | 1,000 イベント/秒 | プロジェクト単位、バーストは最大 2,000/秒 |
| Batch API | 1,000 イベント/バッチ | 最大 20 バッチ/秒 |
| Identify API | 1,000 req/秒 | プロジェクト単位 |
| Export API | 360 リクエスト/時間 | プロジェクト単位 |
| Cohort Export | 同時エクスポート 1 件 | コホートあたり |
| Dashboard REST API | 360 リクエスト/時間 | プロジェクト単位 |
イベントサイズ制限
各イベントペイロードは 1 MB を超えることはできません。HTTP V2 API はリクエストあたり最大 2,000 イベントを受け付け、最大ボディサイズは 20 MB です。
トラブルシューティング
| 問題 | 原因 | 解決策 |
|---|---|---|
イベントが invalid ステータスを返す | 必須フィールドの欠落 | すべてのイベントに user_id または device_id を必ず設定 |
| ユーザープロパティが同期されない | プロパティオペレーターが間違っている | 設定には $set、初回タッチ値には $setOnce を使用 |
| コホートエクスポートが空 | コホート計算中 | コホート計算の完了を待ってからエクスポート |
| 429 Too Many Requests | レート制限超過 | 指数バックオフを実装して batch API を使用 |
| 収益がトラッキングされない | 収益フィールドの欠落 | イベントプロパティに price、quantity、revenue を含める |
| EU データがルーティングされない | データセンターが間違っている | data_center: "EU" を設定し、api.eu.amplitude.com を使用 |
ベストプラクティス
- HTTP V2 API を使用する - 検証とエラーレスポンスを改善するため、レガシーの HTTP API よりも V2 API を優先
- イベントをバッチ処理する - 最適なスループットのため、最大 1,000 件単位でイベントを送信
- イベントでユーザープロパティを設定する - identify 呼び出しを減らすため、track イベントに
user_propertiesを含める - セグメンテーションにはコホートを使用する - 複雑なセグメンテーションロジックを複製するのではなく、行動コホートを同期
- 収益イベントを正しくトラッキングする - 正確な収益トラッキングのため、
revenue、price、productIdフィールドを使用 - 取り込み状態を監視する - イベント検証エラーについて Amplitude の Ingestion Debugger を確認
- サーバーサイドトラッキングを実装する - 信頼性の高いイベント配信のためにサーバーサイド SDK を使用
セキュリティ
- HTTPS のみ - すべての API 通信に TLS 1.2 以上が必要
- API キーのローテーション - Amplitude 設定から定期的に Secret Key をローテーション
- IP 許可リスト - Enterprise プランで利用可能
- SOC 2 Type II - Amplitude は SOC 2 Type II 認証取得済み
- GDPR/CCPA - ユーザーデータの削除およびエクスポートリクエストをサポート
- EU データレジデンシー - EU データセンターオプションが利用可能