既存のユーザーが例えばシークレットブラウズなどで匿名でMessengerにチャットすると、Intercomではそのために新しいリードプロフィールが作成されます。これにより、同一人物のためにリードとユーザーの両方のプロフィールが存在することになります。
Intercomでのリード管理は通常、ユーザーがサインインせずにMessengerとやり取りを始めたときに始まります。これらのやり取りはメール認証や一貫したユーザーIDのような識別子を欠くことが多く、新しいリードプロフィールが作成される原因となります。この記事ではInboxからの手動マージ、自動マージ、開発者向けのAPIを使ったマージを説明します。
このような場合、リードプロフィールをuserプロフィールとマージして、すべての情報を一箇所で追跡・保存できるようにできます。
リードとユーザープロフィールのマージ
リードは手動、自動、またはREST API経由で既存のuserアカウントにマージできます。リードをuserにマージすると、そのリードに関連付けられた情報はuserプロフィールに転送されます。
マージできる(およびできない)プロフィールの種類は次のとおりです:
リードはuserプロフィールにマージできます。
2つのleadsはマージできません。
2人のusersはマージできません。
userプロフィールをリードプロフィールに戻してマージすることはできません。
注意:2人のusersをマージできないため、あるユーザーから別のユーザーへ会話履歴を統合する必要がある場合は、以下のAPIの回避策を使用する必要があります。
回避策:API経由でユーザー間の会話を移行する
2つのuserプロフィールをマージすることはサポートされていないため、開発者はConversations APIを使用してあるユーザーから別のユーザーへ会話履歴を手動で移行できます。手順は次のとおりです:
送信元ユーザーの全会話をList conversations APIを使って取得します — これには連絡先のIntercom Contact IDのみが必要です。
それらの会話を宛先ユーザーのプロフィールの下で再作成します。
重複した送信元ユーザーのレコードをアーカイブまたは削除してクリーンアップします。
注意:会話をContact IDではなくUser IDでフィルタリングしたい場合は、Intercom-Versionヘッダーに値2.5以下を含める必要があります。ユーザー別の会話一覧はAPIバージョン2.6で非推奨となり、代わりに現行のすべてのAPIバージョンで動作するSearch conversations APIが推奨されます。
また、クッキーの消去、矛盾したユーザーIDの提供、あるいは他の識別可能なデータとリンクせずにメールのみでやり取りするなどの状況も、重複プロフィールの原因となることがあります。
2つのプロフィールをマージする方法は次のとおりです:
リードを手動でuserにマージする方法
手動マージをトリガーする方法は2つあります。✌️
まず、リードのメールアドレスを既存のuserのメールアドレスと一致するように変更します。これはリードのプロフィールから行えます:
次回ユーザーがあなたのウェブサイトを訪問するか(既にオンラインの場合はページをリフレッシュすると)、更新されたリードとマージされます。
そのメールアドレスを持つユーザーが2人以上いる場合、最も最近アクティブだったユーザーがリードとマージされます。
次に、CSVインポートでリードをインポートする方法です。
注意:マージが発生するには、リードが既存のuserと同じメールアドレスを持っている必要があります。また、すでにIntercomに存在するリードはCSVのインポートでuserにマージされません。CSVからインポートされたリードは、新規のリードである場合にのみuserにマージされます。
Inboxから重複の可能性を手動でマージする
潜在的な重複機能は、現在会話中の相手に対して重複するリードやusersがいる場合にInboxで警告します。会話がリードとのもので、検出された重複がuserである場合、Merge Lead into Userをクリックできます。確認する前にマージが何を変更するかのプレビューが表示されます。マージプレビューの読み方を学ぶ
クッキーに基づく自動マージの仕組み
自動マージはあなたの操作を必要としません。ユーザーがログアウト状態であなたのサイトを訪れると、一意に識別するためにIntercom cookieが付与されます。会話を開始するかメッセージに返信すると、それがリードになります。
Intercom cookieが存在する状態でユーザーがログインまたはサインアップすると、リードプロフィールは自動的にuserプロフィールとマージされます。
メールのみの自動マージを有効にする方法
Security Settingsで「Merging of unverified Leads into Users」を有効にできます。これにより、リードとuserのマージロジックはメールアドレスのみを基準にリードをuserにマージするようになります。マージを行うためにリードとuserが同じデバイス、クッキー、またはセッションを共有する必要はなくなります。
重複を最小限にするには、関連するページで識別設定を有効にしてください。これは、ログイン済みデータを一貫して渡す必要があるシングルページアプリケーションで特に重要です。
これを有効にする場合は、事前にIdentity Verificationを有効にする必要があります。これは、ユーザーからのリクエストがそのユーザー本人からのものであることを確認します。
注意:自動マージは次回ユーザーがIntercomにログインしたときに行われます。
APIを使用してプロフィールをマージする方法
REST APIを使用してリードをuserに変換することもできます。
注意:リードをuserにマージした後、フロントエンドは検証済みのuser_idと計算されたuser_hash(user_idのHMAC-SHA256、Messenger Secret Keyで署名)でMessengerを再初期化して、Identity Verificationの要件を満たす必要があります。これらの値をOTP検証レスポンスで返し、フロントエンドが正しいユーザーとしてMessengerを起動できるようにしてください。
プロフィールマージに関するよくある質問
マージに含まれるデータは?
リードプロフィールの属性(既存のuserプロフィールにその属性の値がない場合のみ)
会話(リードおよびuserプロフィールに関連するすべての会話が含まれます)
イベント(最初/最後の発生とイベントカウント;メタデータは含まれません)
特定のプロフィールのペアで何が起こるか(どの値が保持され、何件の会話、tickets、ノート、タグ、電話が移動するか)を正確に確認するには、マージプレビューを使用してください。
なぜリードがマージされなかったのか?
ほとんどの場合、リードとuserのプロフィールはすぐにマージされます。しかし非同期プロセスであるため、小さな遅延が発生することがあります。例えば、ユーザーがログインし、クッキーとメールに基づいてマージが必要とマークされた1つ以上のリードがある場合、自動マージプロセスはそのユーザーの次回のping(ページ更新)で開始されます。これをトラブルシューティングするには、Intercomに渡されるユーザーデータにuser_idやemailなどの正しい識別子が含まれていることを確認してください。また、ユーザーのブラウザが必要なクッキーを保持していることも確認してください。クッキーの有効期限切れや削除はマージの失敗原因となる可能性があります。
IntercomのREST API経由で作成されたleadsについて:
APIでleadを作成し、その後同じメールアドレスで以前存在しなかったuserがping(アプリにログインして)を送ると、リードとuserのプロフィールは自動的にマージされません。Intercomはリードとuserがセッションcookieから取得される同じanonymous_idを持つ場合にのみ非同期マージを行います。API経由で作成されたleadsにはクッキーがありません。代わりにAPIで手動でマージできます。
APIでleadを作成し、同じメールアドレスのuserが既に存在する場合、その既存のuserがping(アプリにログインして)を送ったとき、リードとuserのレコードは自動的にマージされません。
APIでleadを作成し、その後APIでuserを作成した場合、このuserがping(アプリにログインして)を送っても、リードプロフィールは自動的にuserプロフィールにマージされません。




