連絡先の統合
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecoreバージョン10.1から、コンタクトのマージ ロジックが変更されました。プロファイルスコアは、最新のSourceInteractionStartDateTimeに基づいてソースからターゲットにマージされます。 「問い合わせ行動プロファイル」を参照してください。
client.MergeContacts()方法を使用して、既存のソース連絡先を既存のターゲット連絡先にマージします。連絡先の統合は、主にWeb Trackerで、進行中のセッションを持つ匿名の連絡先が自分自身を既知の連絡先として識別する場合に使用されます。
コンタクトは、Submit() / SubmitAsync() が呼び出された後にxConnectサービス レイヤーによってマージされます。
次の例は、マージ操作を実行する方法を示しています。
マーケティングオートメーションの登録は統合されません。ただし、マージする前に、すべてのプランからソース連絡先をパージできます。詳細については、「 マーケティングオートメーション運用API」を参照してください。
マージロジック
マージ プロセスは、2つの個別の呼び出しに分割されます。最初の呼び出しでは、次の処理が行われます。
-
すべての値ファセットは、ターゲット連絡先にファセットがすでに存在する 場合を除き 、ソース連絡先からターゲット連絡先にコピーされます。例えば、ターゲットコンタクトにすでにPersonalInformationファセットがある場合、ソースコンタクトのPersonalInformationファセットによって上書きされることはありません。
エクスペリエンス最適化のTestCombinationsファセットは異なる動作をします - 匿名のコンタクトがテストの組み合わせにさらされ、セッションの途中で自分自身を識別した場合、既知のコンタクトのテストの組み合わせファセットは上書きされます。
-
計算されたファセット・マージ・ハンドラーが実行されます。
-
匿名コンタクトの登録は放棄され、次のことを意味します。
-
AutomationPlanEnrollmentCacheファセットはマージされません
-
AutomationPlanExitファセットはマージされません
-
-
すべてのファセット値がソース連絡先から削除されます。
-
すべての既知の識別子は、ソース連絡先からターゲット連絡先に移動されます。匿名識別子は移動されません。識別子がわからない場合、ソースの連絡先は匿名になります。
-
インタラクションファセットを含むすべてのインタラクションは、ソースコンタクトからターゲットコンタクトにコピーされます。インタラクションはソースコンタクトから削除 されません 。
-
MergeInfoファセットは、次のプロパティ値を使用してソース連絡先に追加されます。
-
MergeDate - マージ操作の日時
-
Obsolete - となります true
-
SuccessorContactId - ターゲット連絡先のID
-
-
匿名識別子がターゲット連絡先に追加されます。識別子はソース連絡先のIDであり、ソースは Sitecore.XConnect.Constants.MergeIdentifierSource
-
ターゲットとソースの連絡先のファセットと識別子は、操作が正常に完了するとメモリ内で更新されます。
この時点で、すべての変更が保存され、リポジトリによってコピーされた新しいインタラクションにIDが割り当てられます。2番目の呼び出しでは、次の処理が行われます。
-
InteractionMergeInfoファセットは、ソースコンタクトに属するすべてのインタラクションに追加され、次の重要な情報が含まれます。
-
SuccessorInteractionId - このインタラクションを置き換えるインタラクションのID。
-
SuccessorContactId - 後継者の対話を所有する取引先担当者のID。
手記InteractionMergeInfoファセットは、Sitecore.XConnect.Collection.ContactMerge.Modelという名前の別のマージモデルの一部です。このモデルはコア モデルの一部ではなく、既定ではContent DeliveryやContent Managementなどのクライアントには存在しません。
-
9.0 Update 2以降でのマージ後のSearchとデータ抽出の動作
マージ後の廃止された (ソース) 連絡先には、次の内容が適用されます。
-
古いコンタクトはxDB Collectionデータベースから削除されません。ただし、古い連絡先には、連絡先ファセットや既知の識別子はありません。
-
インタラクションは、マージ中にソースコンタクトから削除されません。マージ後、xDB Collectionデータベースには同じインタラクションのコピーが2つ存在します。1セットのコピーはソース連絡先に属し、1セットのコピーはターゲット連絡先に属します。
データ抽出は次のように動作します。
-
連絡先データの抽出 では、古い連絡先が返されます。
-
連絡先データの抽出 では 、展開オプションが使用されている場合、廃止された連絡先のインタラクションが返されます。
-
インタラクションデータの抽出 では、同じインタラクションが2回返されることはありません。
-
インタラクションデータの抽出が開始された後にマージが発生した場合、ソースコンタクトのインタラクションのコピーが返されます。
-
インタラクションデータの抽出が開始される前にマージが発生した場合、ターゲットコンタクトのインタラクションのコピーが返されます。
-
-
コンタクトデータの抽出が進行中に2つのコンタクトがマージされた場合、マージが発生する前にソースコンタクトが返され、マージが発生した後にターゲットコンタクトが返されるリスクがあります。このシナリオでは、同じファセットデータが2回返されます。データ抽出が行われる前にコンタクトがマージされた場合、ターゲットコンタクトのみがファセットを持ちます。
Searchとインデックス作成は、次のように動作します。
-
廃止された連絡先は、匿名連絡先のインデックス作成が有効になっている場合にのみインデックス化されます。
-
古いコンタクトに属するインタラクションはインデックス化 されません 。インタラクションは、ソースコンタクトからターゲットコンタクトにコピーされます。ターゲットコンタクトのインタラクションのコピーはインデックス化されます。
-
Searchでは古い連絡先が返される場合があります - たとえば、最終更新日で検索すると、古い連絡先が返される場合があります。古いコンタクトを除外するには、MergeInfoファセットのObsoleteプロパティがfalseに設定されているコンタクトを検索します。
マージ エラー ログ
9.0 Update 2以降では、リポジトリ呼び出しの1つまたは両方が失敗した場合、マージ操作バッチ全体がxConnectログに書き込まれます。ログメッセージには、操作、タイプ、ステータス、および連絡先やインタラクションIDなどのデータのリストが含まれます。
プライバシー上の理由から、連絡先識別子はログに書き込まれません。
カスタムマージハンドラ
計算ファセットの マージハンドラは 、カスタムマージロジックが必要になる場合があるため、作成する必要があります。値ファセットは自動的にマージされます。ただし、値ファセットにカスタム・マージ・ロジックが必要な場合は、そのファセットのマージ・ハンドラーを作成できます。
ソースとターゲットの連絡先を取得する
ソース連絡先とターゲット連絡先は、ターゲット連絡先の識別子とソース連絡先のファセットによってリンクされます。ソースの連絡先は、マージ中に削除されません。
次の例は、ソース連絡先がマージされた連絡先を取得する方法を示しています。
次の例は、特定の連絡先のマージ操作でソース連絡先として以前に使用された連絡先を取得する方法を示しています。
制限事項と推奨されるプラクティス
連絡先のマージ操作には、次の制限が適用されます。
-
コンタクトがすでにソースとして使用されている場合 (つまり、匿名でMergeInfoファセットがある場合)、別のマージ操作でソースコンタクトとして使用することはできません。例外が発生します。
-
両方の連絡先をxConnectに保存する 必要があります - つまり、マージを試みる前にclient.SubmitAsync() を呼び出す必要があります。 AddContactとMergeを同じバッチに混在させることはできません。
-
マージを実行する同じバッチ内の ソース 連絡先に識別子を追加することはできません。ソース連絡先に識別子を追加する必要がある場合は、そのバッチを送信し、後続のバッチでマージを実行する必要があります。
-
既知の連絡先 (ソース) を匿名の連絡先 (ターゲット) にマージすることはできません - 既知の連絡先をターゲットにする必要があります。ただし、既知を既知に、匿名を匿名にマージすることはできます。
-
ターゲットの連絡先がすでに他の連絡先にマージされている場合、匿名の連絡先 (ソース) を匿名の連絡先 (ターゲット) にマージすることはできません。この操作を試みると、X-Connectは、匿名連絡先間の循環マージを防ぐために例外を返します。
連絡先のマージ操作は、バッチごとに1つの操作として実行することを強くお勧めします。このプロセスにより、マージ操作で使用される連絡先を取得または変更する他の操作がなくなります。また、連絡先間の循環マージにつながる可能性のある連絡先のマージAPIの不適切な使用も防止します。
マージされた連絡先の長いチェーンを作成するのに注意してください。これは、既知のものを既知のものに、または匿名を匿名に継続的にマージする場合に発生する可能性があります。
