組み込みイベントのトリガー
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
このトピックでは、トラッカーからの標準イベントのGoalおよびOutcomeのトリガー方法を説明します。追加データを含む カスタムイベントもトリガー できます。
!注以下のコード例はC#(.NET)で書かれ、サーバーサイドのSitecore XP追跡APIを使用しています。これらの例はSitecoreサーバー(例えばコントローラ、パイプライン、イベントハンドラ、カスタムサービスなど)上で実行されなければなりません。これらのAPIはブラウザ側のJavaScriptから直接呼び出すことはできません。ブラウザJavaScriptからイベントをトリガーするには、以下の2つの方法のいずれかがあります。
JSS apps - JSS Tracking APIを使用して、クライアントから目標、成果、キャンペーン、イベント、ページビューを送信します。
従来の Sitecore MVC サイトでは、トラッカー APIを呼び出すサーバーエンドポイント(MVC、ウェブAPI、ハンドラー)を実装し、そのエンドポイントをJavaScriptから呼び出します(例えばfetchを使う)。
目標を発動する
Sitecore.Analytics.Tracker.Current.CurrentPage.RegisterGoal()メソッドを使って現在のページに対して目標を登録します。このメソッドは目標定義項目を必要とします。以下の例では目標IDを用いてSitecore.Analytics.Tracker.MarketingDefinitions.Goalsから定義項目を取得します。
var goalId = Guid.NewGuid(); // ID of goal var goalDefinition = Sitecore.Analytics.Tracker.MarketingDefinitions.GoalsgoalId;
Sitecore.Analytics.Tracker.Current.CurrentPage.RegisterGoal(goalDefinition);
セッション終了時に目標はSitecore.XConnect.Goalオブジェクトに変換されます。
結果を引き起こす
インタラクション全体に対して結果をトリガーすることも、特定のページに対しても可能です。結果はセッション終了時にオブジェクトSitecore.XConnect.Outcomeに変換されます。
相互作用の結果を促す
Tracker.Current.Interaction.RegisterOutcome()メソッドを使って、現在の相互作用に対して結果を登録します。このメソッドにはアウトカム定義項目が必要です。以下の例では、アウトカムIDを用いてSitecore.Analytics.Tracker.MarketingDefinitions.Outcomesから定義アイテムを取得します。
var outcomeDefinitionId = Guid.NewGuid(); // Replace with outcome definition ID
Tracker.Current.Interaction.RegisterOutcome(Tracker.MarketingDefinitions.OutcomesoutcomeDefinitionId, "DKK", 300.5m);
特定のページで結果をトリガーします
Sitecore.Analytics.Tracker.Current.CurrentPage.RegisterOutcome()メソッドを使って、現在のページに対して結果を登録します。このメソッドはアウトカム定義項目を必要とします。以下の例では、アウトカムIDを用いてSitecore.Analytics.Tracker.MarketingDefinitions.Outcomesから定義項目を取得します。
var outcomeDefinitionId = Guid.NewGuid(); // Replace with outcome definition ID
Tracker.Current.CurrentPage.RegisterOutcome(Tracker.MarketingDefinitions.OutcomesoutcomeDefinitionId, "DKK", 300.5m);
金銭的価値のない結果を引き起こす
示すように、金銭的価値が0.0mの結果をトリガーできます。ただし、currencyCodeパラメータはnullや空にはなりません。
var outcomeDefinitionId = Guid.NewGuid(); // Replace with outcome definition ID
Tracker.Current.CurrentPage.RegisterOutcome(Tracker.MarketingDefinitions.OutcomesoutcomeDefinitionId, "USD", 0.0m);
キャンペーンイベントを起動する
Sitecore.Analytics.Tracker.Current.CurrentPage.TriggerCampaign()メソッドを使って、現在のページに対してキャンペーンイベントを登録します。この方法にはキャンペーン定義項目が必要です。以下の例では、キャンペーンIDを使ってSitecore.Analytics.Tracker.MarketingDefinitions.Campaignsから定義項目を取得しています:
var campaignDefinitionId = Guid.NewGuid(); // Replace with real campaign DEFINITION ID
var definition = Sitecore.Analytics.Tracker.MarketingDefinitions.CampaignscampaignDefinitionId;
Sitecore.Analytics.Tracker.Current.CurrentPage.TriggerCampaign(definition);
キャンペーンはセッション終了時にSitecore.XConnect.Collection.Model.CampaignEventオブジェクトに変換されます。キャンペーンの定義IDはCampaignDefinitionIdプロパティで表されます。
ページイベントのトリガー
RegisterPageEvent()メソッドを使って、現在のページに対してページイベントを登録します。このメソッドはページイベント定義項目を必要とします。以下の例では、ページイベントIDを使ってSitecore.Analytics.Tracker.MarketingDefinitions.PageEventsから定義項目を取得します:
var pageEventId = Guid.NewGuid(); // ID of goal var pageEventDefinition = Sitecore.Analytics.Tracker.MarketingDefinitions.PageEventspageEventId;
Sitecore.Analytics.Tracker.Current.CurrentPage.RegisterPageEvent(pageEventDefinition);
!ヒント共通のページイベントIDはSitecore.Analytics.AnalyticsIdsで見つけることができます。例えばSitecore.Analytics.AnalyticsIds.FollowHitEvent。ページイベントはSitecoreツリー内のsitecore//system//Settings//Analytics//Page Eventsで定義されています。
トリガーサーチイベント
Searchイベントは専門的なページイベントであり、カスタムデータが必要です。 Sitecore.Analytics.Tracker.Current.CurrentPage.Register() メソッドを使って現在のページに対して検索イベントを登録します。 Dataプロパティを検索時に使用されたキーワードに設定します:
var searchEvent = Tracker.MarketingDefinitions.PageEventsAnalyticsIds.SearchEvent.Guid;
Sitecore.Analytics.Tracker.Current.CurrentPage.Register(new PageEventData(searchEvent.Alias, searchEvent.Id) { Data = "sitecore experience platform" });
このイベントはSitecore.XConnect.Collection.Model.SearchEventオブジェクトに変換されます。 DataプロパティはKeywordsプロパティにマッピングされます。
トリガーダウンロードイベント
ダウンロードイベントは専門的なページイベントであり、カスタムデータが必要です。 Sitecore.Analytics.Tracker.Current.CurrentPage.Register() メソッドを使って現在のページに対してダウンロードイベントを登録します。 ItemIdプロパティをダウンロードされたメディアアイテムのIDに設定します:
var mediaItemId = Guid.NewGuid(); // Replace with real media item ID var downloadDefinition = Tracker.MarketingDefinitions.PageEventsAnalyticsIds.DownloadEvent.Guid;
Sitecore.Analytics.Tracker.Current.CurrentPage.Register(new PageEventData(downloadDefinition.Alias, downloadDefinition.Id) { Text = "Sitecore installation guide", // Not mandatory ItemId = mediaItemId });
このイベントはSitecore.XConnect.Collection.Model.DownloadEventオブジェクトに変換されます。 ItemIdプロパティはマッチングItemIdにマッピングされ、オプションのTextプロパティはマッチプロパティTextマッピングされます。
イベント拡張
以下のシステムイベントは、専門的な拡張手法でトリガーできます。
- Sitecore.Analytics.Extensions.CampaignExtensions.TriggerCampaignFailed() (AnalyticsIds.CampaignRegistrationFailedEvent.Guid)
- Sitecore.Analytics.Extensions.ErrorExtensions.LongWait() (AnalyticsIds.LongRunningRequestEvent.Guid)
- Sitecore.Analytics.Extensions.ErrorExtensions.RegisterError() (AnalyticsIds.ErrorEvent.Guid)
- Sitecore.Analytics.Extensions.ErrorExtensions.RegisterPageError() (AnalyticsIds.PageErrorEvent.Guid)
- Sitecore.Analytics.Extensions.ErrorExtensions.RegisterPageNotFound() (AnalyticsIds.PageNotFoundEvent.Guid)
別名でイベントをトリガーする
イベントの エイリアスでトリガーできます。イベントの定義IDにアクセスできない場合のみ使用してください。この方法はパフォーマンスが劣ります。
// Option 1 - pass event alias into PageEventData Sitecore.Analytics.Tracker.Current.CurrentPage.Register(new PageEventData("Download") // Use only if ID of event is not available { Text = "Sitecore installation guide", });
// Option 2 - pass event alias into .Register() method; text parameter maps to 'Text' property on PageEventData Sitecore.Analytics.Tracker.Current.CurrentPage.Register("Download", "Installation guide downloaded");