1. xConnectモデル

イベント

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

イベントとは、Webページの表示や実店舗での購入など、インタラクションのコンテキスト内で発生する重要なものです。

イベントは最終的にSitecore.XConnect.Eventクラスを継承し、InteractionクラスのEventsコレクションによって表されます。インタラクションには少なくとも1つのイベントが必要です。すべてのイベントは、イベント・モデル、イベント定義ID、およびタイム・スタンプを使用してトリガーされます。次の例は、xConnectクライアントAPIを使用してインタラクションにGoalSearchEventを追加する方法を示しています。

using Sitecore.XConnect;
using Sitecore.XConnect.Collection.Model;
using System;

namespace Documentation
{
    public class AddMultipleEvents
    {
        public async void ExampleAsync()
        {
            using (Sitecore.XConnect.Client.XConnectClient client = Sitecore.XConnect.Client.Configuration.SitecoreXConnectClientConfiguration.GetClient())
            {
                try
                {
                    var newContact = new Sitecore.XConnect.Contact();
                    client.AddContact(newContact);

                    Guid channelId = Guid.Parse("dee6a101-a5d7-4111-9dd0-c3ac18d78295");

                    var interaction = new Sitecore.XConnect.Interaction(newContact, InteractionInitiator.Brand, channelId, "Mozilla/5.0 (Nintendo Switch; ShareApplet) AppleWebKit/601.6 (KHTML, like Gecko) NF/4.0.0.5.9 NintendoBrowser/5.1.0.13341");

                    // Search event has built-in definition GUID as there is
                    // only one search event
                    SearchEvent searchEvent = new SearchEvent(DateTime.UtcNow)
                    {
                        Keywords = "sitecore" // Event-specific property
                    };

                    // Goal instantiated with goal definition GUID as there are
                    // multiple goals
                    Guid goalId = Guid.Parse("2ee6a101-45d7-a111-9dd0-c3ac18d78295");
                    Goal goal = new Goal(goalId, DateTime.UtcNow);

                    interaction.Events.Add(searchEvent);
                    interaction.Events.Add(goal);

                    client.AddInteraction(interaction);

                    await client.SubmitAsync();
                }
                catch (XdbExecutionException ex)
                {
                    // Handle exception
                }
            }
        }
    }
}

xConnectクライアントAPIを使用してイベントを操作する方法については、次のトピックを参照してください。

イベント定義

イベントがトリガーされると、イベント定義IDがコンストラクターに渡されます。イベント定義IDは、レポーティング コンテキストでイベントにコンテキストに応じた意味を与えるSitecoreのアイテムから取得されます。イベント定義は、イベント名、説明、分類などのプロパティを定義するマーケターによって管理されます。次の表に、使用可能なイベントのタイプとSitecoreツリー内の場所を示します。

定義

使用されるイベントモデル

パス

目標

Goal

/sitecore/システム/マーケティング コントロール パネル/ゴール

結果

Outcome

/sitecore/システム/マーケティングコントロールパネル/アウトカム

汎用イベント

EventPageViewEvent (システム) MVTestTriggered (システム) PersonalizationEvent (システム)

ChangeProfileScoresEvent

/sitecore/システム/マーケティングコントロールパネル/イベント

ページイベント

EventDownloadEvent SearchEvent CampaignEvent

/sitecore/システム/設定/分析/ページ イベント

大事な

正しいモデルで正しいイベント定義IDが使用されていることを確認するのは、ユーザーの責任です。結果定義IDでGoalモデルを使用することもできますが、レポート作成データに悪影響を及ぼします。

定義が固定されたイベント

次のイベントには固定の定義アイテムがあり、これはイベント モデルとSitecoreの定義アイテムとの間に1対1の関係があることを意味します。

  • PageViewEvent:Event

  • CampaignEvent:Event

  • DownloadEvent:Event

  • SearchEvent:Event

次の例では、SearchEventは、基本Eventモデルに渡される固定EventDefinitionIdを定義します。異なる定義IDを渡すことができるパブリック コンストラクタはありません。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Sitecore.XConnect.Collection.Model
{
    public class SearchEvent : Event
    {
        public static readonly Guid EventDefinitionId = new Guid("0C179613-2073-41AB-992E-027D03D523BF");
        public string Keywords { get; set; }

        public SearchEvent(DateTime timestamp) : base(EventDefinitionId, timestamp)
        {
        }
    }
}

固定定義アイテムを使用してイベントを作成する方法の例については、カスタム結果 を参照してください。

イベントモデル

イベント・モデルは、イベントがトリガーされたときに収集される内容を決定します。たとえば、SearchEventモデルは、Keywordsプロパティとして使用された検索語を表します。xConnectには、次の既定のイベント モデルが付属しています。

  • Event

  • Goal:Event

  • Outcome:Event

  • CampaignEvent:Event

  • DownloadEvent:Event

  • SearchEvent:Event

  • PageViewEvent:Event (システムイベント)

  • PersonalizationEvent:Event (システムイベント)

  • MVTestTriggered (システムイベント)

  • ChangeProfileScoresEvent

メモ

すべての目標、成果、ページ イベントにモデルがあるわけではありません。基本GoalOutcome、またはEventクラスを使用して、特殊なモデルがないイベントをトリガーします。

イベント・モデルを使用する際には、以下の推奨プラクティスに留意してください。

  • 目標と結果は、GoalモデルとOutcomeモデル、または継承タイプを使用してトリガーする必要があります。

  • イベント定義IDが特殊なモデル ( SearchEventなど) に関連付けられている場合は、その定義を別のモデルとID使用しないでください。

  • カスタム データを取得したり、特定のコンストラクタ パラメータを適用したりする場合は、独自のイベント モデルを作成する必要があります。イベントモデルは、EventGoal、またはOutcomeを継承できます。

可能な限り、わかりやすい名前のカスタム・イベント・モデルを使用します (特に、インタラクション・データをサード・パーティーにエクスポートする予定の場合)。たとえば、CarPurchaseOutcomeOutcomeよりも文脈上の意味を持ちます。

大事な

EventクラスのDataDataKeyText、およびCustomValuesの各プロパティに依存して、カスタム データを格納しないでください。これらのプロパティは、従来の目的でのみ使用できます。

イベント属性

イベントまたは個々のイベント プロパティは、次の属性で装飾できます。

  • DONOTINDEX: この属性で修飾されたイベントまたはイベント プロパティはインデックス化されないため、検索できません。これは、バイナリデータなど、検索に関心のないデータに使用します。

トリガー イベント

トラッカーのコンテキストでは、トラッカー APIを使用してイベントをトリガーする必要があります。セッション終了時には、イベント データはxConnectイベント モデルにマッピングされ、インタラクションとしてxConnectに送信されます。その他のコンテキストでは、xConnectクライアントAPIを直接使用します。トリガーイベントの詳細については、次のトピックを参照してください。

この記事を改善するための提案がある場合は、 お知らせください!