既存のユーザーがMessengerで匿名チャットを行った場合(例えばシークレットブラウザモード経由)、Intercomに新しいリードプロフィールが作成されます。これにより、同一人物に対してリードとユーザープロフィールの両方が存在することになります。
Intercomでは、leadはMessengerを通じて関与したが認証されていない未確認の連絡先を指します。userは識別されログイン済みの連絡先です。
この記事では、Inboxからリードをユーザーに手動で統合する方法、自動統合の設定方法、REST APIを使った統合のトリガー方法を説明します。また、統合が期待通りに行われない場合のトラブルシューティングも扱います。
このような場合、リードプロフィールをユーザープロフィールと統合し、すべての情報を一元管理できます。
リードとユーザープロフィールの統合方法
リードは手動、自動、またはREST APIを使って既存のユーザーアカウントに統合できます。リードをユーザーに統合すると、リードに関連付けられた情報がユーザープロフィールに移行されます。
重複プロフィールは、クッキーのクリア、不一致のuser ID、リンクされていないメールのみの通信など、いくつかの一般的なシナリオで発生します。別のシナリオとして、異なるuser_idで識別された場合、メールが一致していても新しいプロフィールが作成されます。
統合できるプロフィールとできないプロフィールの種類があります:
リードはユーザープロフィールに統合できます。
2つのリードは統合できません。
2つのユーザーは統合できません。
ユーザープロフィールをリードプロフィールに戻して統合することはできません。
注意: 2人のユーザーは統合できないため、会話履歴を一方のユーザーからもう一方に統合する必要がある場合は、以下のAPIの回避策を使用してください。
APIを使ったユーザー間の会話移行方法
注意: この回避策にはIntercom REST APIの開発者アクセスが必要です。
2つのユーザープロフィールの統合はサポートされていないため、開発者はConversations APIを使って一方のユーザーからもう一方のユーザーへ会話履歴を手動で移行できます。手順は以下の通りです:
List conversations APIを使って、ソースユーザーのすべての会話を取得します。これは連絡先のIntercom Contact IDのみが必要です。
取得した会話を宛先ユーザーのプロフィールで再作成します。
重複したソースユーザーレコードをアーカイブまたは削除して整理します。
注意: 会話をContact IDではなくUser IDでフィルタリングしたい場合は、Intercom-Versionヘッダーに2.5以下の値を含める必要があります。APIバージョン2.6でユーザーによる会話一覧のサポートは廃止され、現在のすべてのAPIバージョンで動作するSearch conversations APIに置き換えられました。
2つのプロフィールを統合する方法はこちら:
リードをユーザーに手動で統合する方法
手動統合をトリガーする方法は2つあります:
方法1: リードのメールアドレスを変更する。 リードのプロフィールを開き、Emailフィールドを見つけて既存のユーザーのメールアドレスに更新します。
リードプロフィールは、ユーザーが次回ウェブサイトを訪問またはページを更新した際に自動的に一致したユーザープロフィールに統合されます。
同じメールアドレスを持つユーザーが2人以上いる場合、最も最近アクティブなユーザーとリードが統合されます。
方法2: CSV(カンマ区切り値)でインポートする。 リードのデータを含むファイルをインポートします。
注意: 統合が行われるには、リードのメールアドレスが既存のユーザーのメールアドレスと同じである必要があります。また、既にIntercomに存在するリードはCSVインポートでユーザーに統合されません。CSVからインポートされたリードは、新規リードの場合のみユーザーに統合されます。
インポートが完了すると、統合条件を満たすリードは自動的に一致するユーザープロフィールに統合されます。統合はIntercomのユーザープロフィールで確認でき、リードの会話や属性が表示されます。
Inboxから重複の可能性があるものを手動で統合する方法
注意: このオプションはInboxアクセス権を持つチームメンバーなら誰でも利用可能です。重複ユーザープロフィールが検出されたリードとの会話を表示すると、統合オプションが表示されます。
重複の可能性機能は、現在会話中の相手に対して重複するleadsまたはusersがいる場合にInboxで警告します。会話相手がleadで検出された重複がuserの場合、Merge Lead into Userをクリックできます。統合内容のプレビューを確認してから確定できます。統合プレビューの読み方はこちら。統合後、リードプロフィールは削除され、ユーザープロフィールが残るレコードとなります。Inboxの会話は統合されたユーザープロフィールに表示されます。
自動クッキーによる統合の仕組み
自動統合はユーザーの操作を必要としません。ログアウト状態でウェブサイトを訪問すると、Intercom cookieが付与され、個別に識別されます。会話を開始またはメッセージに返信すると、leadになります。
Intercom cookieが存在する状態でログインまたはサインアップすると、リードプロフィールは自動的にユーザープロフィールと統合されます。
メールのみの自動統合を有効にする方法
注意: この設定を行うにはワークスペース管理者権限が必要です。
セキュリティ設定で「未検証のLeadsをUsersに統合する」を有効にできます。これにより、メールアドレスのみを基にリードとユーザーの統合が行われます。リードとユーザーは同じデバイス、クッキー、セッションを共有している必要はありません。この設定を有効にする前に、Messengerインストールのセキュリティ設定で「JSON Web Tokens (JWTs)でMessengerを保護する」がオンになっていることを確認してください。テストおよび本番環境でuser_hashを生成する際は正しいワークスペースシークレットを使用してください。
重複を最小限に抑えるため、関連ページで識別設定を有効にしてください。特にシングルページアプリケーションではログインデータを一貫して渡すことが重要です。さらに、顧客がアプリでメールを変更した際にIntercomのEmail属性を更新する統合を行い、別のプロフィール作成を防止してください。
これを有効にするには、事前にIdentity Verificationを有効にする必要があります。これにより、ユーザーのリクエストが本人からのものであることが保証されます。
注意: 自動統合はユーザーが次回Intercomにログインした際に行われます。
APIを使ったプロフィール統合方法
注意: このセクションはREST APIアクセス権を持つ開発者向けです。
REST APIを使ってleadをuserに変換することもできます。統合リクエストには以下のJSON構造を使用してください: { "from": "<leadのIntercom ID>", "into": "<userのIntercom ID>" }。統合成功後、leadは削除され、userが存続レコードとなります。
統合成功時には更新されたユーザー連絡先オブジェクトが返されます。Contacts APIを使ってユーザーを取得し、統合を確認できます。
注意: リードをユーザーに統合した後、フロントエンドは認証済みのuser_idと計算されたuser_hash(Messenger Secret Keyで署名されたHMAC-SHA256ハッシュ)でMessengerを再初期化する必要があります。これにより強制されたIdentity Verificationに準拠します。これらの値はワンタイムパスワード(OTP)検証応答で返し、フロントエンドが正しいユーザーとしてMessengerを起動できるようにします。
プロフィール統合に関するよくある質問
統合に含まれるデータは何ですか?
リードプロフィールの属性(既存のユーザープロフィールにその属性の値がない場合のみ)
会話(リードとユーザープロフィールに関連付けられたすべての会話が含まれます)
イベント(最初/最後の発生日時とイベント数;メタデータは含まれません)
特定のプロフィールペアに何が起こるか、どの値が残り、何件の会話、tickets、ノート、タグ、電話が移動するかを正確に確認するには、統合プレビューを使用してください。
なぜリードが統合されなかったのですか?
ほとんどの場合、リードとユーザープロフィールは即座に統合されます。しかし、これはバックグラウンドプロセス(即時ではない)であるため、わずかな遅延が発生することがあります。例えば、ユーザーがログインし、クッキーとメールに基づいて統合が必要とマークされた1つ以上のリードがある場合、自動統合プロセスはそのユーザーの次回のping(ページ更新)で開始されます。トラブルシューティングには、Intercomに渡されるユーザーデータに正しい識別子(user_idやemailなど)が含まれていることを確認してください。また、ユーザーのブラウザが必要なクッキーを保持していることも確認してください。クッキーの期限切れや削除は統合失敗の原因となります。
REST API経由で作成されたleadsはブラウザセッションクッキーを持たないため、クッキーに基づくleadsのように自動統合されません。以下のシナリオはすべて自動統合が行われません:
APIでleadを作成し、その後同じメールアドレスを持つユーザーが存在しなかった場合にアプリにログインしてpingを送信しても、leadとuserプロフィールは自動統合されません。Intercomはleadとuserが同じanonymous_id(ブラウザのセッションクッキーに保存される一意識別子)を持つ場合のみ非同期統合を行います。API経由で作成されたleadsはクッキーを持ちません。代わりにAPIで手動統合が可能です。
APIでleadを作成し、同じメールアドレスを持つuserが既に存在する場合、その既存のuserがアプリにログインしてpingを送信しても、leadとuserレコードは自動統合されません。
APIでleadを作成し、その後APIでuserを作成した場合、そのuserがアプリにログインしてpingを送信しても、leadプロフィールは自動的にuserプロフィールに統合されません。




