プロダクト分析:Mixpanel、Amplitude、Segment
CRMからプロダクトイベント(「取引成立」「リード作成」など)をMixpanel、Amplitude、Segmentに送信し、イベントを受け取って連絡先のアクティビティとして記録します(BYOモデルのため、アカウントはお客様自身のものです)。
プロダクト分析連携は、お客様ご自身のMixpanel、Amplitude、Segmentアカウントを使用します(BYOモデル:自分のアカウントを持ち込む方式)。CRMは取引成立やリード作成などのタイミングでプロダクトイベントを分析ツールに「送信」し、逆にイベントを「受信」して対応する連絡先のアクティビティに変換します。当社側でのコストやマージン、仲介は一切ありません。イベントはお客様のアカウントへ直接送られ、そこから返ってきます。
この連携は最初は無効な状態で始まります。認証情報を入力して有効化するまで何も起こりません。すべてのシークレット(プロジェクトトークン、APIキー、ライトキー)はCRM内に暗号化されて保存され、再表示されることはありません。各プラットフォームは設定 → 連携内にそれぞれ独自のカードを持ち、webhook URLは一意(/api/inbound/analytics/…)で、CRMはURLトークンによってどのプラットフォームかを識別します。
前提条件
- 取り込み用の認証情報を閲覧できるMixpanel、Amplitude、Segmentのアカウント。
- Mixpanel:プロジェクトトークン(設定 → プロジェクト設定)。Amplitude:プロジェクトのAPIキー(設定 → プロジェクト)。Segment:HTTP APIソースのライトキー(Connections → Sources)。
- イベントを受信するために、プロバイダーのエクスポート/webhookをURLに向ける機能。
- Sellioでは、認証情報を保存し設定 → 連携で連携を有効化するための管理者権限。
仕組み
- 送信(CRM → プロバイダー):各イベントは人物識別子(distinct id / user id、デフォルトではレコードのメールアドレス)とプロパティとともに送信されます。送信はプロバイダーの重複排除キーによって冪等です。MixpanelはIDに$insert_id、AmplitudeはIDにinsert_id、SegmentはmessageIdを使用するため、同じイベントを再送しても重複しません。
- 受信(プロバイダー → CRM):プロバイダーがwebhook URLにイベントをPOSTすると、CRMはアクティビティを記録し、該当するメールアドレスの連絡先にリンクします。そのメールアドレスがCRMに存在しない場合、アクティビティは未リンクのまま保持されます(何も失われません)。
- イベント送信の推奨方法は自動化アクション「イベント送信(分析)」(下記参照)です。カード上の「テストイベント送信」ボタンで設定をエンドツーエンドで検証できます。
「イベント送信(分析)」自動化アクション
設定 → 自動化で、ルールを作成または編集し、「イベント送信(分析)」アクションを追加します。プロバイダー(Mixpanel/Amplitude/Segment)、イベント名(例:「取引成立」。{{field}}でレコードデータを埋め込めます)、任意で人物識別子(distinct id、デフォルトは{{email}})を指定します。ルールが発火すると、イベントはコミット後にベストエフォートで送信されます。連携が有効でない場合、このアクションは何も行いません(ゲート制御)。
Mixpanel
- 設定 → 連携を開き、「プロダクト分析(Mixpanel)」カードを見つけます。
- プロジェクトトークン(Mixpanel → 設定 → プロジェクト設定 → Project Token)を貼り付け、リージョンを選択します(プロジェクトが欧州データレジデンシーを使用している場合のみEUを選択)。「分析設定を保存」をクリックします。
- 「有効化」をクリックします。任意のdistinct idで「テストイベント送信」を使って確認します。
- イベントを受信するには、Mixpanelのwebhook/エクスポートを「Webhook URL」に向けます。Mixpanelはエクスポートwebhookに署名しないため、セキュリティは予測不可能なURLトークンに依存します。シークレットとして扱ってください。
Amplitude
- CRMで「プロダクト分析(Amplitude)」カードを見つけます。
- APIキー(Amplitude → 設定 → プロジェクト → API Key)を貼り付け、リージョンを選択します。「分析設定を保存」をクリックし、続いて「有効化」をクリックします。
- 送信イベントは/2/httpapiに送られます。イベントを受信するには、Amplitudeのエクスポート/webhookを「Webhook URL」に向けます(Amplitudeは署名しないため、URLトークンが防御手段です)。
Segment
- CRMで「プロダクト分析(Segment)」カードを見つけます。
- SegmentでHTTP APIソースを作成し(Connections → Sources)、ライトキーを貼り付けます。任意でwebhookシークレットを設定できます(受信時に署名を必須にするため)。「分析設定を保存」をクリックし、続いて「有効化」をクリックします。
- 送信:イベントは、ライトキーによるBasic認証で/v1/trackに送られます。受信:SegmentでWebhookデスティネーション(またはFunction)を作成し、「Webhook URL」を指定します。Segmentはデフォルトでは署名しません。シークレットを設定した場合、CRMはx-signatureヘッダー(HMAC-SHA1)を検証します。設定していない場合はURLトークンが防御手段です。
webhook URLと認証情報はシークレットとして扱ってください。必要な認証情報なしで有効化しようとすると、連携は無効な状態のままとなり、すべてが揃うまで何も送受信されません。
テスト方法
- 送信:カード上の「テストイベント送信」を任意のdistinct idでクリックし、Mixpanel/Amplitude/Segment側でイベントが届いたことを確認します(Live View / Debugger)。
- 自動化:「イベント送信(分析)」アクションを含むルールを作成して発火させ、プロバイダー側でイベントを確認します。
- 受信:プロバイダーから連絡先として存在するメールアドレス宛にイベントを「Webhook URL」に送信し、連絡先のアクティビティを確認します。
トラブルシューティング
- エラー401/イベントが表示されない:認証情報が間違っています。Mixpanel → Project Token、Amplitude → API Key、Segment → Write Key(Basic認証で使用)。正しい認証情報を再度貼り付けてください。
- リージョンの誤り:プロジェクトがEUデータレジデンシーを使用している場合はEUリージョンを指定してください。そうでないとイベントが誤ったエンドポイントに送られ、表示されません。
- 自動化から送信されない:「イベント送信(分析)」アクションはゲート制御されており、連携が有効でない場合は何も行いません。連携を有効化し、アクションで選択されているプロバイダーを確認してください。
- 受信してもアクティビティにならない:イベントのメールアドレスがCRMに存在しない場合、アクティビティは未リンクのまま保持されます(何も失われません)。Segment:シークレットを設定している場合は、x-signatureヘッダー(HMAC-SHA1)を検証してください。
- webhook URLで404:連携が無効化されているか、トークンが変更されています。再度有効化し、URLをコピーし直してください。