古いインタラクションで蓄積されたプロファイル値を元にパーソナライズを設定する


解説

Sitecore Experience Platform 8.1.0より前のリリースでは、コンテンツ プロファイリング データが、個別の訪問ベースで保存されます。このため、現在のインタラクションの間に蓄積されたプロファイル キーの値が、(同じ連絡先による)将来のインタラクションに使用されません。

その結果、プロファイルベースのパーソナライズが現在の訪問またはインタラクション中に蓄積されたプロファイル スコアのみを考慮し、同じ訪問者による以前の訪問やインタラクション中に収集されたスコアを無視します。

註: Sitecore 8.1において、連絡先の過去の行動を元にパーソナライズを行う能力を拡張するため、Key Behavior Cacheコンタクト行動プロファイル機能が追加されました。

解決策のコンセプト

過去のウェブサイトの訪問やインタラクションを元にしたパーソナライズを行えるようにするには、特定の連絡先による過去の訪問、またはインタラクションからのコンテンツ プロファイル情報を読み込む、カスタムのパーソナライズ条件を作成します。

「/sitecore/system/Settings/Rules/Definitions/Elements/Visit/Profile Value」条件で使用されているデフォルトのSitecore.Analytics.Rules.Conditions.ProfileConditionクラスを、カスタムの条件を開発する際の参考例としてご利用いただけます。

解決策(Sitecore 6.5 - 7.2)

現在の訪問者の過去の訪問に関する情報を読み込むには、Tracker.Visitor.LoadAllメソッドをご利用いただけます。

...
Sitecore.Analytics.Tracker.Visitor.LoadAll(VisitLoadOptions.Profiles, VisitorOptions.None);
...

このProfileConditionクラスを、貴社ソリューション向けの参考例としてご利用いただけます。

解決策(Sitecore 7.5 - 8.0.7)

LoadHistorycalData拡張メソッドに2つの引数(現在の訪問者と、連絡先の履歴内の読み込むべきインタラクションの数)を渡すことで、現在の訪問者の過去の訪問に関する情報を読み込むことができます。

...
var interactions = Sitecore.Analytics.Data.ContactRepositoryExtensions.LoadHistorycalData(Tracker.Current.Contact, 2));
...

このProfileConditionXDBクラスのメソッドを、貴社ソリューション向けの参考例としてご利用いただけます。

註:

このAPIを使用する前に、LoadHistorycalDataメソッドによりロード可能なインタラクションの最大値を、1以上に調整する必要があります。これは、Sitecore.Analytics.Tracking.configファイル内の以下の設定により設定していただけます。

<setting name="Analytics.ContactHistory.MaxInteractions" value="0" />