ライフサイクル(サーバーサイド)

セッションにお客様独自の顧客 ID が付いた瞬間に、当社のサーバーから ActiveCampaign、Mailchimp、Iterable、Klaviyo へ再生リンクを送信します。

1. ブラウザー側の連携ブリッジとは別に存在する理由

MousePlayer には既に、お客様のページで動作する SDK に書き込むライフサイクル連携ブリッジがあります。Klaviyo、Braze、Customer.io、その他6サービスに対応しています。こちらは同じ役割を当社のサーバーから果たします。特に大きな二つのプラットフォームでは、ブラウザー経由の方法自体が使えないためです。

  • ActiveCampaign には、イベント用のブラウザー API がありません。 同社の vgo() は、アカウントとメールアドレスを設定し、トラッキングを開始できますが、イベントは送信できません。イベントは、別のイベントキーを使い、サーバー側だけで Event Tracking API を介して送信します。
  • Mailchimp にはありますが、使えるイベント名が決まっています。 サイトトラッキングのピクセルは、 PAGE_VIEWED、 PRODUCT_VIEWED、 PURCHASED およびその他いくつかの事前定義された名前を受け付けます。独自のイベントを入れる場所はありません。当社のデータを無理に PAGE_VIEWED に当てはめると、お客様自身のデータモデルに虚偽を入れることになります。

Iterable と Klaviyo では、サーバー経由の方が単純に確実です。広告ブロッカーも、読み込まれたか不確かな SDK も、早すぎるタブの終了もありません。

2. 必要なもの

入力欄は三つあり、どれを入力するかはプラットフォームによって異なります。

プラットフォームアカウント欄キー
ActiveCampaignactidWeb サイト → サイトトラッキング、イベントキーの横
Mailchimpオーディエンス IDAPI キー。その末尾にある -us14 形式の接尾辞を残してください。そこからデータセンターを読み取ります
Iterable不要 — 空欄にします「Allow event track calls」権限を持つキー
Klaviyo不要 — 空欄にします次の プライベート API キー

三つ目の欄は、表示に使うイベント名です。短くしてください: 最大32文字。これは当社ではなく API の制限です。送信時ではなく保存時に短縮します。そうしなければ、フォームに表示される内容と、実際に届く内容が違ってしまうためです。

Mailchimp:API キーの接尾辞を残してください。 最後のハイフン以降の部分(-us14)はアカウントのあるデータセンターを示し、アドレスはそこから組み立てます。接尾辞のないキーは、見えない場所で失敗するのではなく、明確なメッセージを表示して受け付けません。

3. 実行される場合と、されない場合

セッションが識別された時点です。サイトが MousePlayer.setUserId()を呼び出したとき、分析連携ブリッジが distinct ID を読み戻したとき、またはお客様のサーバーが identify エンドポイントを呼び出したときに実行します。それまでは、録画が誰のものか分かりません。

メールアドレスがある場合のみ

四つのプラットフォームはいずれも、メールアドレスで連絡先を指定します。顧客 ID が契約番号の場合は送信しません。失敗するしかないタスクをキューに入れても、ログに不要な情報が増えるだけだからです。

連絡先は既に存在している必要があります。 どのプラットフォームもイベントから連絡先を作成しません。ActiveCampaign はアドレスを認識できないとイベント全体を破棄します。この連携ブリッジは既存の連絡先に情報を加えるもので、リストを作るものではありません。

すべてのイベントに ID が付きます

タスクを再試行しても、同じセッションが二重に数えられないようにするためです。

4. 相手側に届く内容

再生リンクを、次の名前のプロパティに含む一つのイベントです: mouseplayer_session_url。開くと、まさにそのセッションの録画に移動できます。

そこから先は、利用先のプラットフォーム自身の処理です。イベントを自動化のトリガーやセグメントの条件に使うか、チームが連絡先から録画を開けるようにするだけでも構いません。

キーは当社のサーバーから外へ出ません

AES-256-GCM で暗号化して保存し、保存後は再表示しません。また、タスクを運ぶ内部キューには意図的に含めず、ワーカーがデータベースから直接取得します。

HTTP 200 は配信完了を意味しません

ActiveCampaign は、イベントを拒否するときもステータス200と {"success":0} を返します。当社はステータスだけでなくレスポンス本文を読み取るため、拒否は見えない成功ではなく、配信ログの失敗として表示されます。

5. Braze、Customer.io、Brevo

サーバーサイド経路の、さらに三つのプラットフォームです。そのうち二つでは、他と異なり、場所の指定が必要です。

指定するもの識別に使うもの
BrazeREST エンドポイントと API キーメールアドレス
Customer.ioサイト ID、API キー、利用地域お客様独自の顧客 ID
Brevoトラッカーキーのみメールアドレス

二つのサービスは特定の場所にあります

Braze の REST エンドポイントはインスタンスごとに決まっています。Customer.io には別々のホストを使う二つの地域があります。どちらもキーから推定できず、間違えると401が返り、キーの問題だと思って調べることになります。二つの入力欄が存在するのは、そのためだけです。

Customer.io だけはメールアドレスが不要です

お客様が割り当てたのと同じ ID で人を認識するため、メールアドレスを要求するのは不要な障壁になります。他の六つはメールアドレスで照合します。これらでは、契約番号で識別されたセッションからは何も送られません。それが正しい動作です。

新しいプロファイルは作りません

Braze の呼び出しには、次が含まれます: _update_existing_only。CRM 連携ブリッジと同じ判断です。ブラウザーのセッションは、誰がお客様であるかを確実に示すものではありません。匿名訪問者ごとにプロファイルが増えるライフサイクルプラットフォームは、連携がないより悪いものです。

Brevo は204を返します。Braze は201ですが注意が必要です

Brevo は本文を一切返しません。この場合は、2xx がすべてを示します。Braze は "message": "success" を返し、その横に errors 配列を含む場合があります。致命的な問題は message に、許容されたフィールドの欠落は errors だけに現れます。どちらか一方だけを読むと、いずれかの方向で誤って判断します。

記載されている商標はすべて各所有者に帰属します。MousePlayer とこれらのプロバイダーとの間に取引関係はありません。