カスタムイベントのトリガー
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
デフォルトでは、トラッカーからトリガーされたイベントは、Goal、Outcome、Eventなどの汎用の組み込みイベント モデルを使用してxConnectに保存されます。カスタム・イベント・モデルを使用するには、汎用イベントをカスタム・イベントに変換するイベント変換パイプライン・プロセッサーを作成する必要があります。たとえば、IDが {7D59A563-29A1-4C3D-8C15-35FA110B79E0} の汎用Eventは、特殊なSearchEventに変換できます。
トラッカーによってキャプチャされたカスタム イベント データを、特殊なモデルのプロパティにコピーすることもできます。たとえば、SearchEventクラスにはKeywordsプロパティがあります。このプロパティは、汎用EventモデルのDataフィールドの値をコピーすることによって設定されます。
カスタム・イベント・データのキャプチャ
カスタムデータをキャプチャするには、次のいずれかの方法を使用してイベントをトリガーする必要があります。
-
Sitecore.Analytics.Tracker.Current.CurrentPage.Register() ページイベントと目標用。
-
Sitecore.Analytics.Tracker.Current.CurrentPage.RegisterOutcome() 結果のために。
-
Sitecore.Analytics.Tracker.Current.Interaction.RegisterOutcome() インタラクションレベルでの結果 (9.0 Update-1のみ)。
カスタムデータをキャプチャする必要がない場合は、汎用イベントをトリガーするのと同じ方法でイベントをトリガー し、このセクションをスキップできます。
カスタム目標とイベントデータの取得
Sitecore.Analytics.Tracker.Current.CurrentPage.Register()メソッドを使用して、カスタムデータで目標をトリガーしたり、イベントをページングしたりします。
次の表では、カスタム データの格納に使用できるSitecore.Analytics.Model.PageEventDataクラスのプロパティについて説明します。イベントの変換中に、このデータをカスタムイベントにコピーできます。カスタム データの格納方法は、変換する前に決定する必要があります (たとえば、DownloadEventでは、ダウンロードされたメディア項目のIDをItemIdプロパティに格納することを想定しています。
|
財産 |
形容 |
|
ItemId |
イベントが発生したページ・アイテムのID、またはイベントが関連付けられたメディア・アイテム。 |
|
Text |
人間が読める形式のイベントの説明 - 例: 「インストール ガイドがダウンロードされました」 |
|
DataKey |
「データ」の内容を識別するキー(例:「campaignid」や「keywords」) |
|
Data |
イベントのトリガーの一部として収集されたデータ(キャンペーン イベントのキャンペーンIDや「スロー ページ」イベントのページ読み込み時間など)。 |
|
CustomValues |
任意の文字列/オブジェクトの組み合わせを格納します。 大事な このプロパティはxConnectに保存されることはなく、イベント変換パイプラインのカスタムxConnectイベント モデルにコピーされるデータを保存するためにのみ使用してください。 |
次の例は、カスタムデータを使用してゴールをトリガーする方法を示しています。
カスタム結果データのキャプチャ
Sitecore.Analytics.Tracker.Current.CurrentPage.RegisterOutcome()メソッドを使用して、カスタムデータで結果をトリガーします。Sitecore.Analytics.Data.OutcomeDataオブジェクトでは、CustomValuesプロパティ (タイプDictionary<string,object>) にのみカスタム データを保存できます。CustomValuesはxConnectに保存されず、セッション中またはイベント変換パイプラインのコンテキストでのみアクセスできます。
次の例は、現在のページのカスタムデータで結果をトリガーする方法を示しています。
9.0 Update-1以降では、現在のインタラクションのカスタムデータを使用して結果をトリガーすることもできます。
CustomValuesでイベント データをキャプチャするためのオプション
次の表は、セッション内のイベントのCustomValuesディクショナリにイベント データを格納する方法を示しています。
CustomValuesプロパティはxConnectに保存されません。カスタム・イベント・モデルごとに、CustomValuesからそのモデルにデータをコピーするコンバージョン・パイプラインを作成する必要があります。
|
方式 |
形容 |
|---|---|
|
単純な値を CustomValues |
キーに対して必要なカスタム値をCustomValuesディクショナリに格納します。 これは、セッションにカスタムデータを保存する最も簡単な方法であり、スペースを最小限にとどめます。 |
|
単純なクラスを CustomValues |
カスタムクラスのインスタンスをCustomValuesディクショナリのキーに対して格納します。 |
|
シリアル化されたxConnectイベント モデル全体を CustomValues |
イベント モデル全体 ( MyCustomGoalなど) をシリアル化して、シリアル化されたオブジェクトをカスタム値としてJSONして格納し、イベント変換パイプラインでオブジェクトを逆シリアル化して返すことができます。これを行うには、xConnectシリアル化ヘルパー を使用する必要があります。 大事な カスタムイベントクラスをSerializable属性で装飾し、カスタム値として保存することはできません - トラッカーはSystem.Runtime.Serialization.SerializationException例外をスローします。 シリアル化されたイベントのサイズに注意してください。セッションに大量のデータを格納すると、セッション状態プロバイダーのパフォーマンスに悪影響を与えるため、代わりに単純な値をCustomValuesディクショナリに格納することを好む場合があります。 |
xConnectイベントのCustomValuesプロパティ
Sitecore.XConnect.Eventクラスには、従来の理由からDictionary<string,string> 型のCustomValuesプロパティがあります。PageEventDataにstring値のみを保存する場合、またはOutcomeDataカスタム値を保存する場合は、イベント タイプを変更せずに、トラッカー イベントからxConnectイベントにカスタム値をコピーする変換プロセッサを技術的に作成できます。トラッカーは、各ディクショナリオブジェクトが文字列であることを保証することができないため、この変換を自動的に実行しません。
CustomValuesプロパティは文脈上の意味を欠いており、サードパーティのツールでデータを分析することを困難にします。カスタム データを含むすべてのイベントに対してカスタム タイプを作成し、xConnectイベント タイプに依存しないことをお勧めしますCustomValues。
セッション イベントからxConnectイベントへの変換
セッション イベントをカスタムxConnectイベントに変換するには、コンバージョン パイプライン プロセッサを作成する必要があります。各カスタムイベントには、独自のプロセッサがあります。各変換パイプライン プロセッサでは、次のことを行います。
-
xConnectイベントのインスタンス ( NewsletterGoalなど) を作成します。
-
セッション イベントからxConnectイベントに任意のカスタム データをコピーします (たとえば、pageData.CustomValues"NewsletterImageCategory" の値をaという名前のNewsletterGoalクラスのプロパティにコピーできますNewsletterImageCategory。
正確な手順は、xConnectイベント モデル、xConnect目標モデル、またはxConnect結果モデルのいずれに変換するかによって異なります。
ItemId、Text、DataKey、およびDataプロパティは、デフォルトで基本Sitecore.XConnect.Eventクラスに保存されます。データを別のプロパティにコピーする場合でも、これらのプロパティをクリアする必要はありません。