この回答はIntercom Community forumからのものです。👌
同じメールアドレスを持つusersが重複しています。これはなぜ起こったのですか?どうすれば修正できますか?
Intercomのワークスペースに同じメールアドレスを持つ複数の顧客がいる場合、それぞれに異なるuser_IDを渡している可能性があります。さらに、複数のプロファイルが同じメールアドレスを使用している場合、Intercomは最新の更新があったユーザープロファイルに着信通信を関連付けることがあります。混乱を避けるために、各userは一貫してユニークなuser IDで識別されていることを確認してください。
対象者: Contactsにアクセスできるワークスペース管理者またはチームメンバー。APIベースの重複排除にはAPI認証情報が必要です。LeadsをUsersに統合するには、Intercom APIまたはInboxから直接行えます。
Intercomがusersを識別する方法
ユーザーにメールアドレスとuser_IDの両方を定義すると、Intercomはuser_IDをユニーク識別子として使用します。Intercomはまた、メールなしのプロファイルをマージするためにクッキーに基づく識別を使用することがあり、これによりデバイスの動作に基づいてVisitor/LeadとUserのプロファイルを自動的に統合します。既存のメールに対してuser_idを変更すると新しいUserプロファイルが作成され、重複が発生する可能性があるため避けてください。
CSVインポートによる重複
Intercomでは、Userはuser_idが設定された識別済みの連絡先であり、Leadは未識別の連絡先、つまりまだログインしていないサイト訪問者などです。
CSV(カンマ区切り値)インポート時に重複ユーザープロファイルが発生する一般的な原因は、既存のユーザープロファイルにuser_idが設定されていないのに、インポートするCSVにメールとuser_idの両方が含まれている場合です。Intercomは連絡先をIntercom ID、次にuser_id、最後にメールの順で識別するため、インポートにuser_idがある場合はメールでの照合にフォールバックしません。そのため新しい連絡先が作成され、重複が発生します。CSVでデータをインポートする際は、LeadのメールがUserのメールと一致していることを確認してください。Intercomは新しいLeadを既存のUserプロファイルに自動的にマージします。既にLeadが存在する場合は手動でのマージが必要です。
CSVインポート時の重複ユーザープロファイルを防ぐには、すべてのusersに対してuser_idの値が一貫して設定されていることを確認してからCSVインポートを実行してください。既存のuserでuser_idがない場合はAPIを使って更新してください。
重複を防ぐための主な戦略
「未検証のLeadsをUsersにマージ」を有効にして、識別されたセッション中に過去のLeadsをUsersに統合します。
電話ベースのチャネルでは、電話属性に基づいて連絡先をマージするために電話マッチングを有効にします。
システムからの単一で安定した
user_idを主要な識別子として使用し、メールと組み合わせてください。すべての統合(例:Messenger、API、CSVインポート)が同じ識別子を使用していることを確認してください。
例えば、メールアドレスがtest@example.comで、異なるuser_IDを持つ2人のusersがいる場合、Intercomはこれらの顧客を2つのユニークなusersとして認識します。
user_idが設定されているusersを確認するには、Contacts > People > All usersに移動し、フィルターUser ID has any valueを適用してください。フィルターされたビューは以下の例のように各userのuser_idを表示します。
現在、Intercomでは2人のUsersをマージすることはできません。LeadをUserにマージすることはできますが、2人のusersをマージすることはできません。LeadをUserにマージすると、Leadに関連付けられたデータはUserに引き継がれ、Leadプロファイル自体は削除されます。
LeadをUserにマージする手順
保持したいUserプロファイルを特定します。
「merge a lead and a user」APIエンドポイントを使うか、Inboxから手動でLeadをUserプロファイルに変換します。
重複がある場合は、追加のLeadsをUserプロファイルにマージします。
マージ後、Leadプロファイルは完全に削除されます。UserプロファイルはLeadに関連付けられていたすべての会話履歴とデータを保持します。
重複の特定方法
不要なusersをアーカイブして整理できます。ただし、どちらのレコードを保持するかをまず決める必要があります。方法は2つあります。
1. Rest APIを使う方法
以下のスクリプトを作成したいでしょう。
Usersの一覧を取得する
重複を見つける
削除したい重複に対してアーカイブリクエストを送る
2. CSVエクスポートを使う方法
もう一つの方法は連絡先をCSVでエクスポートすることです。エクスポート後、Google SheetsやExcelのCOUNTIFなどのスプレッドシート関数を使って重複したメールアドレスの行を特定します。あるいはGoogle Workspace Marketplaceの重複排除アドオンを使うこともできます。
削除したい重複ユーザープロファイルを特定したら、CSVインポートでタグ付けし、そのタグを元にContactsページからアーカイブしてください。
アーカイブされたusersはContactsリストからは非表示になりますが、完全に削除されるわけではありません。Contacts > People > All usersでアーカイブフィルターを外せばいつでも復元可能です。
ベストプラクティスと推奨事項
Intercomワークスペースで重複ユーザープロファイルを減らすために、以下のベストプラクティスに従ってください。
識別子の標準化: すべてのデータソースで一貫した
user_idとメールの値を使用してください。データの事前読み込み: インポートする連絡先に国際形式の電話番号などの属性を含めて、正確なマッチングを確保してください。
定期的な監視とクリーンアップ: 定期的にデータをエクスポートして重複を特定し、プロファイルを整理してください。
信頼できるシステムの採用: 一元管理システムを使ってユニーク識別子を発行し、すべてのデータソースを整合させてください。
会話を正しいuserプロファイルに移動するには?
Intercomのinbox内の会話が誤った(重複した)userプロファイルに関連付けられている場合、手動で再割り当てできます。
正しいuserを会話の参加者として追加します。
誤ったuserプロファイルを会話から削除します。
重複の整理方法については、Intercom Communityでスレッド全体をお読みください。
誰かがログインせずにあなたのサイトを訪問すると、Intercomはブラウザ生成IDを使って匿名の訪問者として追跡します。その訪問者がリードフォームを送信したり会話を開始した場合、IntercomはそのブラウザIDを識別子として使用し、Lead連絡先に昇格させます。
このIDは特定のブラウザとセッションに紐づいているため、異なるデバイスやブラウザから同じ人が訪問すると新しい連絡先として表示されます。検証済みのIDがない限り、Intercomは同一人物であることを認識できません。
推奨される解決策はJWT(JSON Web Token)を使ったIdentity Verificationです。 有効にすると、バックエンドがユーザーの実際のIDを含む暗号署名付きトークンをIntercomに送信します。Intercomはこれを権威ある識別子として扱い、デバイスやブラウザに関係なく同じ人を常に同じ連絡先として認識します。
Messenger経由で送信するデータのセキュリティについては、JWTで学べます。

