Mixpanel コネクタ

Tajo を介して Mixpanel を Brevo に接続し、製品分析とマーケティング自動化をつなぎます。ユーザープロファイル、行動イベント、コホートを同期して、実際の製品利用状況に基づくデータ駆動型キャンペーンを作成します。

概要

プロパティ
プラットフォームMixpanel
カテゴリ分析(カスタム)
セットアップの複雑さ
公式統合いいえ
同期データイベント、プロファイル、コホート、グループ
利用可能なスキル7

機能

  • イベント取り込み - Mixpanel の Ingestion API を介して track イベントを Brevo ワークフローにインポート
  • ユーザープロファイル同期 - Mixpanel のユーザープロファイルプロパティを Brevo 連絡先属性にマッピング
  • コホートエクスポート - ターゲットキャンペーン用に Mixpanel コホートを Brevo 連絡先リストに同期
  • グループ分析 - B2B アカウントベースマーケティング用のグループレベルデータを同期
  • ID 管理 - 統合された顧客プロファイルのために Mixpanel の ID マージを活用
  • JQL クエリ - Brevo 用の特定のデータセットを抽出するカスタム JQL クエリを実行
  • ルックアップテーブル - Mixpanel ルックアップテーブルからエンリッチメントデータを同期

前提条件

開始する前に、以下を準備してください。

  1. プロジェクトを作成済みの Mixpanel アカウント
  2. クライアントサイドトラッキング用の Mixpanel プロジェクトトークン
  3. サーバーサイド API アクセスのための適切な権限を持つサービスアカウント
  4. API アクセス可能な Brevo アカウント
  5. API 認証情報を持つ Tajo アカウント

認証

サービスアカウント(推奨)

Mixpanel は API 認証にサービスアカウントの使用を推奨しています。サービスアカウントは HTTP Basic Auth をユーザー名(サービスアカウントのユーザー名)とパスワード(サービスアカウントのシークレット)で使用します。

Terminal window
# サービスアカウント認証
curl https://mixpanel.com/api/app/me \
-u "SERVICE_ACCOUNT_USERNAME:SERVICE_ACCOUNT_SECRET"

プロジェクトトークン

プロジェクトトークンはクライアントサイドのイベントトラッキングに使用され、クライアントコードに含めても安全です。

// クライアントサイド初期化
mixpanel.init("YOUR_PROJECT_TOKEN");

OAuth(パートナー統合用)

複数のプロジェクトにアクセスするアプリ統合の場合:

Terminal window
curl https://mixpanel.com/api/2.0/engage \
-H "Authorization: Bearer YOUR_OAUTH_TOKEN"

設定

基本セットアップ

connectors:
mixpanel:
enabled: true
project_token: "your-project-token"
service_account:
username: "your-service-account-username"
secret: "your-service-account-secret"
project_id: "12345"
data_residency: "US" # または "EU"
# データ同期オプション
sync:
events: true
profiles: true
cohorts: true
groups: false
# Brevo リストの割り当て
lists:
all_users: 15
engaged_users: 16
at_risk: 17

イベントマッピング

Mixpanel イベントを Brevo イベントタイプにマッピングします。

event_mapping:
# Mixpanel イベント -> Brevo イベント
"Purchase": "order_completed"
"Sign Up": "customer_created"
"Add to Cart": "cart_updated"
"Page View": "page_viewed"
"$experiment_started": "experiment_started"
# カスタムイベント
"Feature Activated": "feature_used"
"Subscription Renewed": "subscription_renewed"

プロファイルプロパティマッピング

Mixpanel のユーザープロパティを Brevo の連絡先属性にマッピングします。

property_mapping:
$email: email
$first_name: FIRSTNAME
$last_name: LASTNAME
$phone: SMS
$city: CITY
$region: REGION
$country_code: COUNTRY
plan: PLAN_TYPE
company: COMPANY
signup_date: SIGNUP_DATE
total_revenue: LTV

API エンドポイント

メソッドエンドポイント説明
POST/importイベントをインポート(Ingestion API)
POST/trackイベントをトラッキング(クライアントサイド)
POST/engage#$setユーザープロファイルプロパティを設定
POST/engage#$set_once未設定の場合のみプロパティを設定
POST/engage#$deleteユーザープロファイルを削除
POST/engage#$unionリストプロパティに Union
POST/groupsグループプロファイルプロパティを設定
GET/export生イベントデータをエクスポート
POST/cohorts/list保存済みコホートを一覧取得
POST/engage/queryユーザープロファイルをクエリ
POST/jqlカスタム JQL クエリを実行
GET/segmentationセグメンテーションレポートをクエリ
GET/retentionリテンションレポートをクエリ
GET/funnelsファネルレポートをクエリ

コード例

Mixpanel コネクタの初期化

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Mixpanel プロジェクトを接続
await tajo.connectors.connect('mixpanel', {
projectToken: process.env.MIXPANEL_TOKEN,
serviceAccountUser: process.env.MIXPANEL_SA_USER,
serviceAccountSecret: process.env.MIXPANEL_SA_SECRET,
projectId: process.env.MIXPANEL_PROJECT_ID
});

Ingestion API でイベントをインポート

// Mixpanel にイベントをインポート(自動的に Brevo に転送される)
const response = await fetch('https://api.mixpanel.com/import', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Basic ' + btoa(
`${process.env.MIXPANEL_SA_USER}:${process.env.MIXPANEL_SA_SECRET}`
)
},
body: JSON.stringify([
{
event: "Purchase",
properties: {
distinct_id: "user_123",
$insert_id: "evt_abc123",
time: Math.floor(Date.now() / 1000),
revenue: 89.99,
product_id: "SKU-001",
product_name: "Widget Pro"
}
}
])
});
// 期待されるレスポンス: { "code": 200, "status": "OK", "num_records_imported": 1 }

コホートを Brevo に同期

// Mixpanel コホートをエクスポートして Brevo リストに同期
const cohort = await tajo.connectors.syncCohort('mixpanel', {
cohortId: 12345,
targetList: 16,
syncMode: 'mirror'
});
console.log(cohort);
// {
// cohortName: "Engaged Users (Last 7 Days)",
// membersCount: 3200,
// syncedToBrevo: 3200,
// listId: 16
// }

ユーザープロファイルプロパティを設定

// Engage API を介してユーザープロパティを設定
const response = await fetch('https://api.mixpanel.com/engage#$set', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify([{
$token: process.env.MIXPANEL_TOKEN,
$distinct_id: "user_123",
$set: {
$email: "[email protected]",
$first_name: "Jane",
$last_name: "Kim",
plan: "premium",
total_orders: 12,
lifetime_value: 1250.00
}
}])
});

レート制限

API制限詳細
Ingestion API2 GB/分プロジェクト単位
Track APIハード制限なしベストエフォート配信
Engage API2,000 更新/バッチプロジェクトあたり最大 2 GB/分
Query API60 リクエスト/時間プロジェクト単位(サービスアカウント)
Export API60 リクエスト/時間クエリあたり最大 100 日
JQL API60 リクエスト/時間プロジェクト単位
Cohort Export60 リクエスト/時間プロジェクト単位

イベントの重複排除

Mixpanel は $insert_id プロパティを使用してイベントを重複排除します。失敗したインポートを再試行する際の重複イベントを防ぐため、常に一意の $insert_id を含めてください。

トラブルシューティング

問題原因解決策
イベントが表示されないプロジェクトトークンが間違っているトークンが対象プロジェクトと一致するか確認
プロファイルプロパティの欠落間違った API の使用プロファイルプロパティには /track ではなく /engage#$set を使用
コホートエクスポートの失敗権限不足サービスアカウントが Admin または Analyst ロールを持つことを確認
重複イベント$insert_id の欠落すべてのイベントに一意の $insert_id を含める
402 Payment Requiredデータ制限超過Mixpanel プランの制限を確認し、必要に応じてアップグレード
EU データがルーティングされないデータレジデンシーが間違っているEU プロジェクトには api-eu.mixpanel.com を使用
ID マージの問題distinct_id が不正Mixpanel の ID 管理ベストプラクティスに従う

ベストプラクティス

  1. サービスアカウントを使用する - サーバーサイド認証にはプロジェクトシークレットよりもサービスアカウントを優先
  2. $insert_id を含める - イベントの重複排除のため常に一意の insert ID を設定
  3. プロファイル更新をバッチ処理する - 効率のためリクエストあたり最大 2,000 件のプロファイル更新を送信
  4. EU エンドポイントを使用する - EU データレジデンシーの場合、すべての API 呼び出しに api-eu.mixpanel.com を使用
  5. スケジュールでコホートを同期する - 継続的なポーリングではなく、日次または週次のコホート同期を設定
  6. 予約済みプロパティをマッピングする - プロファイルデータには Mixpanel の予約済みプロパティ($email$first_name)を使用
  7. 取り込みを監視する - Mixpanel の Events ページを使用してイベントが正しく受信されていることを検証

セキュリティ

  • HTTPS のみ - すべての API 通信に TLS 暗号化が必要
  • サービスアカウントの分離 - ロールベースの権限を持つプロジェクトごとのスコープ付きアクセス
  • イベントの重複排除 - $insert_id による組み込みの重複排除でデータの整合性を確保
  • SOC 2 Type II - Mixpanel は SOC 2 Type II 認証取得済み
  • GDPR/CCPA - GDPR API によるユーザーデータ削除をサポート
  • EU データレジデンシー - 欧州コンプライアンス用の EU データセンターが利用可能

関連リソース

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
AIアシスタント

こんにちは!ドキュメントについて何でもお聞きください。