XDM ExperienceEvent クラス
XDM ExperienceEventは標準Experience Data Model (XDM) クラスです。 このクラスを使用すると、特定のイベントが発生した場合や、特定の条件セットに達した場合に、システムのタイムスタンプ付きスナップショットを作成できます。
エクスペリエンスイベントは、発生した事実(特定の時点や個人の ID など)の記録したものです。イベントは、明示的(直接観察可能な人間のアクション)または暗黙的(人間の直接のアクションなしに発生したもの)に設定でき、集計や解釈なしで記録されます。Experience Platform エコシステムにおけるこのクラスの使用に関する詳細については、XDMの概要を参照してください。
XDM ExperienceEvent クラス自体は、スキーマに対していくつかの時系列関連フィールドを提供します。 これらのフィールド (_idとtimestamp)のうち2つは、このクラスに基づくすべてのスキーマに 必須 ですが、残りはオプションです。 一部のフィールドの値は、データの取り込み時に自動的に入力されます。
_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 でイベントベースのエクスペリエンスデータモデル(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 クラスで使用するためのいくつかの標準フィールドグループを提供しています。 このクラスで一般的に使用されるフィールドグループは次のとおりです。
- Adobe Analytics ExperienceEvent Full Extension
- Adobe Advertising ExperienceEvent Full Extension
- Balance Transfers
- Campaign Marketing Details
- Card Actions
- Channel Details
- Commerce Details
- Deposit Details
- Device Trade-In Details
- Dining Reservation
- End User ID Details
- Environment Details
- Flight Reservation
- IAB TCF 2.0 Consent
- Lodging Reservation
- MediaAnalytics Interaction Details
- Quote Request Details
- Reservation Details
- Web Details
付録
次の節では、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は場所ヘッダーから抽出され、コレクションサーバーへのすべての後続のイベント呼び出しに使用されます。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