私が開発しているサイトでは、ユーザーごとに最後にアクセスしたページを追跡する必要があります (ユーザーはサイトにログインします)。これを行う最善の方法は何ですか?すでにカスタム プロファイルを使用しているため、新しいフィールドの追加は簡単です。このサイトには多くのトラフィックがないため、このフィールドを更新しても問題はないと思います。より良いアイデアはありますか?Sitecore は、使用できるものを既に提供していますか?
2 に答える
私の最初の質問は次のとおりです。ユーザーが最後にアクセスしたページだけが必要なのはなぜですか? 何を特定しようとしていますか?
多くの場合、あなたはおそらく分析の道を歩み始めているか、マーケティングを推進しようとしているでしょう。
分析が目的の場合は、現在のユーザー名をイベント変数として使用して、Google 分析アカウントにイベントをポップアウトして、ユーザー別およびページ別の分析を確認できるようにすることができます。または、Sitecore OMS/DMS 機能を使用して、そのすべてのデータを追跡し、そこで分析を確認することもできます。
マーケティングの推進を検討している場合、特にパーソナライゼーションやエンゲージメント プランを開始したい場合は、OMS/DMS を使用することをお勧めします。OMS/DMS は、ユーザー アクティビティと、ユーザーがアクセスしたすべてのページを追跡しますが、ユーザー アカウントごとではありません。いくつかのカスタマイズにより、おそらくそのデータを追加できますが、それは情報を何に使用しようとしているかによって異なります. ユーザー名はあなたにとって重要ではないかもしれません。
ただし、ログイン後にユーザーをどのページに戻すかを知りたい場合は、それをセッションに保存するか、セッションが実行可能なオプションでない場合はポストパラメーターとして渡すことをお勧めします。
OMS にはデフォルトで「上位離脱ページ」レポートがありますが、これはユーザーではなくセッション全体で追跡されます。
優れた IIS ログ パーサーも、この情報を提供できるはずです。これも、セッション (または IP) ごとであり、ログインしているユーザーではありません。
本当にすべての終了ページを取得し、ログインしたユーザーによってフィルタしたい場合...私がすることは、新しいパイプライン プロセッサを httpRequestBegin に追加し、ItemResolver の後に配置することです。次に、Item.Paths.Path を保存します。既定の ASP.NET プロファイル ハンドラーを使用していて、かなりの量のトラフィックがある場合は、このデータをユーザー プロファイルに書き込まないことをお勧めします。これは非常に非効率的です。ここで独自の単純なストレージ ソリューションを展開するか、単にデータをログにダンプします。