XDM ExperienceEvent クラス
XDM ExperienceEvent は、標準のエクスペリエンスデータモデル(XDM)クラスです。 このクラスを使用すると、特定のイベントが発生したとき、または特定の条件セットに到達したときに、システムのタイムスタンプ付きスナップショットを作成できます。
エクスペリエンスイベントは、発生した事実(特定の時点や個人の ID など)の記録したものです。イベントは、明示的(直接観察可能な人間のアクション)または暗黙的(人間の直接のアクションなしに発生したもの)に設定でき、集計や解釈なしで記録されます。Experience Platform エコシステムでのこのクラスの使用に関するハイレベルな情報については、XDM の概要 を参照してください。
XDM ExperienceEvent クラス自体は、スキーマに対していくつかの時系列関連フィールドを提供します。 これらのフィールドのうち 2 つ(_id と timestamp)は、このクラスに基づくすべてのスキーマに対して 必須 ですが、残りはオプションです。 一部のフィールドの値は、データの取り込み時に自動入力されます。
_id(必須)
_id」フィールドは、Adobe Experience Platformに取り込まれる個々のイベントを一意に識別します。 このフィールドは、個々のイベントの一意性を追跡、データの重複を防ぎ、ダウンストリームのサービスでそのイベントを検索するために使用されます。重複イベントが検出された場合、Experience Platformのアプリケーションとサービスでは重複の処理が異なる可能性があります。 例えば、同じ
_id を持つイベントが既にプロファイルストアに存在する場合、プロファイルサービスの重複イベントはドロップされます。 ただし、これらのイベントは、引き続きデータレイクに記録されます。場合によ
_id ては、 ユニバーサル固有識別子(UUID) または グローバル固有識別子(GUID) とすることができます。ソース接続からデータをストリーミングする場合、または Parquet ファイルから直接取り込む場合は、イベントを一意にするフィールドの特定の組み合わせを連結して、この値を生成する必要があります。 連結できるイベントの例としては、プライマリ ID、タイムスタンプ、イベントタイプなどがあります。 連結された値は、
uri-reference 形式の文字列にする(コロン文字は削除する)必要があります。 その後、連結された値は、SHA-256 または選択した別のアルゴリズムを使用してハッシュ化する必要があります。このフィールドは、個人に関連する ID を表すものではなく、データ記録そのものを表していることを見極めることが重要です。人物に関する ID データは、代わりに互換性のあるフィールドグループが提供する ID フィールドに降格させるべきです。
eventMergeIdeventTypeこのプロパティの標準値は、付録の節に記載されています(意図するユースケースの説明も含む)。このフィールドは拡張可能な列挙型で、つまり、独自のイベントタイプ文字列を使用して、追跡するイベントを分類することもできます。
eventType では、アプリケーションでのヒットごとに 1 つのイベントのみを使用するように制限されているので、最も重要なイベントをシステムに伝えるには、計算フィールドを使用する必要があります。 詳しくは、計算フィールドのベストプラクティスの節を参照してください。producedByこのプロパティの推奨値の一部が、付録の節に記載されています。このフィールドは拡張可能な列挙型で、つまり、独自の文字列を使用して、異なるイベントプロデューサーを表すこともできます。
identityMapそのユースケースについては、スキーマ構成の基本 の ID マップの節を参照してください。
timestamp(必須)
イベントモデリングのベストプラクティス
以下の節で、Adobe Experience Platform でイベントベースの Experience Data Model(XDM)スキーマを設計する際のベストプラクティスについて説明します。
タイムスタンプ timestamps
イベントスキーマのルート timestamp フィールドは、イベント自体の観測 のみ を表すことができ、過去の日付にする必要があります。 ただし、このイベント 必須 は 1970 年以降に発生します。 セグメント化のユースケースで、使用するタイムスタンプが将来の日付になる可能性がある場合、これらの値はエクスペリエンスイベントスキーマの他の場所で制約を受ける必要があります。
例えば、旅行業界や接客業のビジネスがフライト予約イベントをモデリングしている場合、クラスレベルの timestampフィールドは、予約イベントが観測された時刻を表します。 旅行予約の開始日など、イベントに関連するその他のタイムスタンプは、標準フィールドグループまたはカスタムフィールドグループが提供する別のフィールドで取得する必要があります。
クラスレベルのタイムスタンプをイベントスキーマの他の関連する日時値から分離することで、エクスペリエンスアプリケーションでカスタマージャーニーをタイムスタンプで記録しながら、柔軟なセグメント化のユースケースを実装することができます。
計算フィールドの使用 calculated
エクスペリエンスアプリケーションにおける特定のインタラクションの結果、技術的に同じイベントタイムスタンプを共有する複数の関連イベントが発生する可能性があるので、それらのインタラクションを単一のイベントレコードとして表現できます。 例えば、顧客が web サイトで製品を閲覧すると、結果的に、可能性のある 2 つの eventType 値を持つイベントレコードになることがあります。「製品ビュー」イベント(commerce.productViews)または汎用的な「ページビュー」イベント(web.webpagedetails.pageViews)の 2 つです。 このような場合、1 回のヒットで複数のイベントがキャプチャされる際に、計算フィールドを使用して最も重要な属性をキャプチャすることができます。
Adobe Experience Platform Data Prep を使用して、XDM との間でデータのマッピング、変換および検証を行います。 サービスから提供されるマッピング機能を使用すると、複数のイベントレコードのデータを Experience Platform に取り込む際に、論理演算子を呼び出してデータの優先順位付け、変換および統合を行うことができます。上記の例では、「製品ビュー」と「ページビュー」の両方が発生した場合に「ページビュー」よりも「製品ビュー」を優先させる計算フィールドとして、eventType を指定することができます。
UI を使用して手動でExperience Platformにデータを取り込む場合、計算フィールドの作成方法に関する具体的な手順については、 計算フィールド に関するガイドを参照してください。
ソース接続を使用してデータをExperience Platformにストリーミングする場合は、代わりに計算フィールドを使用するようにソースを設定できます。 接続を設定する際に計算フィールドを実装する手順については、 特定のソースのドキュメント を参照してください。
互換性のあるスキーマフィールドグループ field-groups
アドビでは、 XDM ExperienceEvent クラスで使用するためのいくつかの標準フィールドグループを提供しています。 このクラスで一般的に使用されるフィールドグループは次のとおりです。
付録
次の節では、XDM ExperienceEvent クラスに関する追加情報を提供します。
eventType の許容値 eventType
次の表に、 eventType の許容値とその定義の概要を示します。
advertising.clicksadvertising.completesadvertising.conversionsadvertising.federatedadvertising.firstQuartilesadvertising.impressionsadvertising.midpointsadvertising.startsadvertising.thirdQuartilesadvertising.timePlayedapplication.closeapplication.launchclickdecisioning.propositionInteract を使用してください。commerce.backofficeCreditMemoIssuedcommerce.backofficeOrderCancelledcommerce.backofficeOrderItemsShippedcommerce.backofficeOrderPlacedcommerce.backofficeShipmentCompletedcommerce.checkoutscommerce.productListAddscommerce.productListOpenscommerce.productListRemovalscommerce.productListReopenscommerce.productListViewscommerce.productViewscommerce.purchasescommerce.saveForLatersdecisioning.propositionDisplaydecisioning.propositionDismissdecisioning.propositionFetchdecisioning.propositionInteractdecisioning.propositionSenddecisioning.propositionTriggerdelivery.feedbackdirectMarketing.emailBounceddirectMarketing.emailBouncedSoftdirectMarketing.emailClickeddirectMarketing.emailDelivereddirectMarketing.emailOpeneddirectMarketing.emailSentdirectMarketing.emailUnsubscribeddisplaydecisioning.propositionDisplay を使用してください。inappmessageTracking.dismissinappmessageTracking.displayinappmessageTracking.interactleadOperation.callWebhookleadOperation.changeCampaignStreamleadOperation.changeEngagementCampaignCadenceleadOperation.convertLeadleadOperation.interestingMomentleadOperation.mergeLeadsleadOperation.newLeadleadOperation.scoreChangedleadOperation.statusInCampaignProgressionChangedlistOperation.addToListlistOperation.removeFromListmedia.adBreakCompletemedia.adBreakStartmedia.adCompletemedia.adSkipmedia.adStartmedia.bitrateChangemedia.bufferStartmedia.bufferStart イベントタイプは、バッファー処理の開始時に送信されます。 特定の bufferResume イベントタイプはありません。play イベントの後に bufferStart イベントが送信された場合、バッファリングは再開されたと見なされます。media.chapterCompletemedia.chapterSkipmedia.chapterStartmedia.downloadedmedia.errormedia.pauseStartpauseStart イベントが発生した際に追跡します。 このイベントは、ユーザーがメディア再生で一時停止を開始するとトリガーされます。 再開イベントタイプはありません。 リク pauseStart ストの後に再生イベントを送信すると、再開が推論されます。media.pingmedia.ping イベントタイプは、進行中の再生ステータスを示すために使用されます。 メインコンテンツの場合、このイベントは再生中に 10 秒ごとに送信される必要があります。これは、再生が開始されてから 10 秒後に開始されます。 広告コンテンツの場合は、広告トラッキング中に 1 秒ごとに送信される必要があります。 ping イベントでは、リクエスト本文にパラメーターマップを含めないでください。media.playmedia.play イベントタイプは、プレーヤーが playing buffering, (ユーザーによって再開された場合)や paused (自動再生などのシナリオを含む)などの別の状態から error 状態に移行する際に送信されます。 このイベントは、プレーヤーの on('Playing') コールバックによってトリガーされます。media.sessionCompletemedia.sessionEndmedia.sessionEnd イベントタイプは、ユーザーが表示を放棄して戻る可能性が低いときに、セッションを直ちに閉じるように Media Analytics バックエンドに通知します。 このイベントが送信されない場合、セッションは、10 分間無操作状態が続いた後、または再生ヘッドを動かさずに 30 分後にタイムアウトします。 そのセッション ID を持つ後続のメディアコールは無視されます。media.sessionStartmedia.sessionStart イベントタイプは、セッション開始呼び出しで送信されます。 応答を受け取ると、セッション ID が Location ヘッダーから抽出され、収集サーバーに対する以降のすべてのイベント呼び出しに使用されます。media.statesUpdatestatesUpdate イベントが発生した際に追跡します。 プレーヤーステートトラッキング機能は、オーディオストリームまたはビデオストリームに付加することができる。 標準の状態は、fullscreen、mute、closedCaptioning、pictureInPicture、inFocus です。opportunityEvent.addToOpportunityopportunityEvent.opportunityUpdatedopportunityEvent.removeFromOpportunitypersonalization.requestdecisioning.propositionFetch を使用してください。pushTracking.applicationOpenedpushTracking.customActionweb.formFilledOutweb.webinteraction.linkClicksweb.webpagedetails.pageViewslocation.entrylocation.exitproducedBy の推奨値 producedBy
producedBy の許容値を次の表に示します。
selfsystemsalesRefcustomerRep