メインコンテンツにスキップ

リードとユーザープロフィールの統合

リードとユーザープロフィールを手動および自動で統合し、ユーザーの情報を単一のプロフィールに紐づける方法。

対応者:Bobby Stapleton

既存のユーザーが例えばシークレットブラウザモード経由でMessengerで匿名チャットをすると、Intercomに新しいリードプロフィールが作成されます。これにより同一人物に対してリードとユーザープロフィールの両方が存在することになります。

Intercomでのリード管理は通常、個人がサインインせずにMessengerとやり取りを始めた時に始まります。これらのやり取りはメール認証や一貫したユーザーIDなどの識別子が欠けていることが多く、新しいリードプロフィールが作成される原因となります。

このような場合、リードプロフィールをユーザープロフィールと統合して、すべての情報を一箇所で追跡・保存できます。

注意: リードをユーザーに統合した後、フロントエンドは認証済みのuser_idと計算されたuser_hash(user_idのHMAC-SHA256でMessenger Secret Keyで署名)を使ってMessengerを再初期化する必要があります。これは強制されたIdentity Verificationに準拠するためです。これらの値はOTP認証応答で返し、フロントエンドが正しいユーザーとしてMessengerを起動できるようにします。


リードとユーザープロフィールの統合

リードは既存のユーザーアカウントに手動、自動、またはREST API経由で統合できます。リードをユーザーに統合すると、リードに関連付けられた情報はすべてユーザープロフィールに移されます。

統合できるプロフィールの種類とできない種類があります:

  • リードはユーザープロフィールに統合できます。

  • 2つのリードは統合できません。

  • 2人のユーザーは統合できません。

  • ユーザープロフィールをリードプロフィールに戻して統合することはできません。

注意: 2人のユーザーは統合できないため、会話履歴を一方のユーザーからもう一方に統合する必要がある場合は、以下のAPIの回避策を使用してください。

回避策:APIを使ってユーザー間の会話を移行する

2人のユーザープロフィールの統合はサポートされていないため、開発者はConversations APIを使って一方のユーザーからもう一方のユーザーへ会話履歴を手動で移行できます。手順は以下の通りです:

  1. 送信元ユーザーのすべての会話をList conversations APIで取得します。これは連絡先のIntercom Contact IDのみが必要です。

  2. 取得した会話を宛先ユーザーのプロフィールで再作成します。

  3. 重複した送信元ユーザーのレコードをアーカイブまたは削除して整理します。

注意: 会話をContact IDではなくUser IDでフィルタリングしたい場合は、Intercom-Versionヘッダーに2.5以下の値を含める必要があります。ユーザーによる会話一覧のサポートはAPIバージョン2.6で廃止され、現在のすべてのAPIバージョンで動作するSearch conversations APIに置き換えられました。

また、クッキーのクリア、不一致のユーザーIDの提供、メール通信のみで他の識別可能なデータをリンクしない場合なども重複プロフィールの原因となります。

2つのプロフィールを統合する方法はこちらです:

プロフィールを手動で統合する

手動統合をトリガーする方法は2つあります。✌️

まず、リードのメールアドレスを既存ユーザーのメールアドレスに変更する方法です。これはリードのプロフィールから行えます:

その後、ユーザーが次回ウェブサイトを訪問(または既にオンラインの場合はページを更新)すると、新しく更新されたリードと統合されます。


同じメールアドレスを持つユーザーが2人以上いる場合、最も最近アクティブなユーザーがリードと統合されます。

次に、CSVインポートでリードを取り込む方法です。

リードは既存ユーザーと同じメールアドレスを持っている必要があります。既にIntercomにリードが存在する場合、CSVインポートは既存のリードをユーザーに統合しません。CSVからインポートされたリードは新規リードの場合のみユーザーに統合されます。

Inboxから重複の可能性を手動で統合する

重複の可能性機能は、現在会話中の相手に重複したleadsまたはusersがいる場合、Inboxで警告します。会話相手がリードで検出された重複がユーザーの場合、Merge Lead into Userをクリックできます。これによりInboxの会話が新しく統合されたユーザーの詳細で更新され、過去の会話などを確認できます。仕組みはこちらでご覧ください here

クッキーに基づくプロフィールの自動統合

自動統合はユーザーの操作を必要としません。ログアウト状態でウェブサイトを訪問すると、個別識別のためにIntercom cookieが付与されます。会話を開始またはメッセージに返信すると、リードになります。

Intercom cookieが存在する状態で製品にログインまたはサインアップすると、リードプロフィールは自動的にユーザープロフィールと統合されます。

メールアドレスのみを基にしたプロフィールの自動統合

「未検証のLeadsをUsersに統合する」をセキュリティ設定で有効にできます。これにより、リードとユーザーの統合ロジックがメールアドレスのみで統合されるようになります。統合には同じデバイス、クッキー、セッションを共有する必要はありません。

重複を最小限に抑えるため、関連ページで識別設定を有効にしてください。特にログインデータを一貫して渡す必要があるシングルページアプリケーションで重要です。

これを有効にする場合は、事前にIdentity Verificationを有効にする必要があります。これによりユーザーのリクエストが本人からのものであることが保証されます。

自動統合は次回のUserのIntercomログイン時に行われます。

APIを使ったプロフィールの統合

REST APIを使ってリードをユーザーに変換することもできます。


プロフィール統合に関するよくある質問

統合に含まれるデータは何ですか?

  1. リードプロフィールの属性(既存のユーザープロフィールにその属性の値がない場合のみ)

  2. 会話(リードとユーザープロフィールに関連付けられたすべての会話が含まれます)

  3. イベント(最初と最後の発生日時およびイベント数;メタデータは含まれません)

なぜリードが統合されなかったのですか?

ほとんどの場合、リードとユーザープロフィールは即座に統合されます。しかし非同期処理のため、わずかな遅延が発生することがあります。例えば、ユーザーがログインし、クッキーとメールに基づいて統合が必要なリードが1つ以上ある場合、自動統合処理はそのユーザーの次回のping(ページ更新)時に開始されます。トラブルシューティングには、Intercomに渡すユーザーデータに正しい識別子(user_idemail)が含まれていることを確認してください。また、ユーザーのブラウザが必要なクッキーを保持しているかも確認してください。クッキーの期限切れや削除は統合失敗の原因となります。

REST API経由で作成されたリードの場合:

  • API経由でリードを作成し、同じメールアドレスで以前存在しなかったユーザーがアプリにログインしてpingを送信した場合、リードとユーザープロフィールは自動的に統合されません。リードとユーザーが同じanonymous_id(セッションCookieから取得)を持つ場合のみ非同期統合を行います。API経由で作成されたリードにはCookieがありません。代わりにAPIで手動統合が可能です。

  • API経由でリードを作成し、同じメールアドレスのユーザーが既に存在する場合、その既存ユーザーがアプリにログインしてpingを送信しても、リードとユーザーレコードは自動的に統合されません。

  • API経由でリードを作成し、API経由でユーザーを作成した場合、そのユーザーがアプリにログインしてpingを送信しても、リードプロフィールは自動的にユーザープロフィールに統合されません。

こちらの回答で解決しましたか?