追跡サービス
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
ヘッドレス サービスによって提供される追跡サービスは、クライアントサイドの動作に基づいて Sitecore 分析イベントをxDB にプッシュできるようにする分析追跡 REST API です。既定では、イベント、ゴール、成果、ページ/ルート ビューをサポートし、高度な分析ニーズを満たすために拡張することができます。
設定
追跡サービスはインストールされていますが、Sitecore ヘッドレス サービスのインストール時には既定で無効化されています。
Tracker を有効にするには、次の例のように設定パッチ ファイルの Sitecore.JSS.TrackerServiceEnabled
を true
に設定します。
<configuration>
<sitecore>
<settings>
<setting name="Sitecore.JSS.TrackerServiceEnabled" value="true" />
</settings>
</sitecore>
</configuration>
Tracker は他のサービスと同様に SSC API キーを使用します。API キーによって Tracker の CORS サポートが有効になります。各アプリに対して 1 つの API キーを使用することが望ましいですが、同じ API キーをすべてのサービスで使用することもできます。
イベントの追跡
/sitecore/api/jss/track/event?sc_apikey=[key]
エンドポイントを使用して、イベントを追跡できます。
エンドポイントは、JSON ペイロードを含む POST
要求を受け入れます。
次の表は、追跡できるイベントの種類と、追跡サービス エンドポイントに送信する必要があるペイロードを示しています。
イベント タイプ |
ペイロード |
---|---|
ゴール |
RequestResponse
|
成果 |
RequestResponse
|
ページ イベント |
RequestResponse
|
キャンペーン |
RequestResponse
|
イベント |
RequestResponse
|
JSS アプリケーションを開発する場合、JSS Tracking API を使用できます。
コンタクトと追跡データのインデックス作成と表示
追跡コードでプッシュされたデータは、Experience Profile で表示できます。
既定では、Sitecore は匿名コンタクト データのインデックスを作成しません。つまり、識別されていないユーザーのデータは Experience Profile に保存されません。テスト結果をより効率的に表示するには、匿名コンタクトのインデックス作成を有効にします。
本番環境での匿名コンタクトのインデックス作成は推奨しません。
Tracker Service は、標準でコンタクトの識別をサポートしていませんが、拡張することができます。
Sitecore は、ユーザー セッションが終了する前の追跡データの Experience Profile への保管またはインデックス作成を行いません。ユーザー セッションを終了するには、/sitecore/api/jss/track/flush
エンドポイントを呼び出します。
Tracker の拡張
トラッカーはデータ追跡のルートで、必要に応じて拡張できます。App_Config\Sitecore\JavaScriptServices\Sitecore.JavaScriptServices.Tracker.config
で定義された trackEvent
パイプラインは、受信した追跡要求を処理します。
設定パッチを使用して、新しいパイプライン プロセッサーまたは置き換えられたパイプライン プロセッサーを含めることができます。
プロセッサーは Sitecore.JavaScriptServices.Tracker.Pipelines.TrackEvent<T>
から派生させる必要があります (受信する JSON の逆シリアル化のため T
は C# 型です)。
パイプライン プロセッサー TrackEvent
メソッドは、以下を行う必要があります。
-
着信要求を処理できない場合は、受信要求を返します。他のアクションなしでパイプライン プロセッサーに戻ると、パイプラインが再開されます (次のプロセッサーに進みます)。
-
着信要求を処理できない場合は、
args.HasBeenTracked()
を呼び出し、パイプラインを停止します。別のアクションが処理されている可能性があるため、パイプラインを停止すると以降の処理が中止されます。 -
要求を処理できるがエラーが発生した場合、
args.ReportError()
を呼び出して戻します。