XDM ExperienceEvent クラス
XDM ExperienceEvent は、標準のエクスペリエンスデータモデル(XDM)クラスです。 このクラスを使用すると、特定のイベントが発生したとき、または特定の条件セットに到達したときに、システムのタイムスタンプ付きスナップショットを作成できます。
エクスペリエンスイベントは、発生した事実(特定の時点や個人の ID など)の記録したものです。イベントは、明示的(直接観察可能な人間のアクション)または暗黙的(人間の直接のアクションなしに発生したもの)に設定でき、集計や解釈なしで記録されます。Platform エコシステムでのこのクラスの使用に関するハイレベルな情報については、XDM の概要を参照してください。
XDM ExperienceEvent クラス自体は、スキーマに対していくつかの時系列関連フィールドを提供します。 これらのフィールドのうち 2 つ(_id
と timestamp
)は、このクラスに基づくすべてのスキーマに対して 必須 ですが、残りはオプションです。 一部のフィールドの値は、データの取り込み時に自動入力されます。
_id
(必須)
_id
」フィールドは、Adobe Experience Platformに取り込まれる個々のイベントを一意に識別します。 このフィールドは、個々のイベントの一意性を追跡、データの重複を防ぎ、ダウンストリームのサービスでそのイベントを検索するために使用されます。重複イベントが検出された場合、Platform アプリケーションおよびサービスの重複処理の方法が異なる可能性があります。 例えば、同じ
_id
を持つイベントが既にプロファイルストアに存在する場合、プロファイルサービスの重複イベントはドロップされます。場合によ
_id
ては、 ユニバーサル固有識別子(UUID)または グローバル固有識別子(GUID)とすることができます。ソース接続からデータをストリーミングする場合、または Parquet ファイルから直接取り込む場合は、イベントを一意にするフィールドの特定の組み合わせを連結して、この値を生成する必要があります。 連結できるイベントの例としては、プライマリ ID、タイムスタンプ、イベントタイプなどがあります。 連結された値は、
uri-reference
形式の文字列にする(コロン文字は削除する)必要があります。 その後、連結された値は、SHA-256 または選択した別のアルゴリズムを使用してハッシュ化する必要があります。このフィールドは、個人に関連する ID を表すものではなく、データ記録そのものを表していることを見極めることが重要です。人物に関する ID データは、代わりに互換性のあるフィールドグループが提供する ID フィールドに降格させるべきです。
eventMergeId
eventType
このプロパティの標準値は、付録の節に記載されています(意図するユースケースの説明も含む)。このフィールドは拡張可能な列挙型で、つまり、独自のイベントタイプ文字列を使用して、追跡するイベントを分類することもできます。
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 を使用して手動で Platform にデータを取り込む場合、計算フィールドの作成方法に関する具体的な手順については、計算フィールドに関するガイドを参照してください。
ソース接続を使用してデータを Platform にストリーミングする場合は、代わりに計算フィールドを使用するようにソースを設定できます。 接続を設定する際に計算フィールドを実装する手順については、 特定のソースのドキュメント を参照してください。
互換性のあるスキーマフィールドグループ field-groups
アドビでは、 XDM ExperienceEvent クラスで使用するためのいくつかの標準フィールドグループを提供しています。 このクラスで一般的に使用されるフィールドグループは次のとおりです。
付録
次の節では、XDM ExperienceEvent クラスに関する追加情報を提供します。
eventType
の許容値 eventType
次の表に、 eventType
の許容値とその定義の概要を示します。
advertising.clicks
advertising.completes
advertising.conversions
advertising.federated
advertising.firstQuartiles
advertising.impressions
advertising.midpoints
advertising.starts
advertising.thirdQuartiles
advertising.timePlayed
application.close
application.launch
click
decisioning.propositionInteract
を使用してください。commerce.backofficeCreditMemoIssued
commerce.backofficeOrderCancelled
commerce.backofficeOrderItemsShipped
commerce.backofficeOrderPlaced
commerce.backofficeShipmentCompleted
commerce.checkouts
commerce.productListAdds
commerce.productListOpens
commerce.productListRemovals
commerce.productListReopens
commerce.productListViews
commerce.productViews
commerce.purchases
commerce.saveForLaters
decisioning.propositionDisplay
decisioning.propositionDismiss
decisioning.propositionFetch
decisioning.propositionInteract
decisioning.propositionSend
decisioning.propositionTrigger
delivery.feedback
directMarketing.emailBounced
directMarketing.emailBouncedSoft
directMarketing.emailClicked
directMarketing.emailDelivered
directMarketing.emailOpened
directMarketing.emailSent
directMarketing.emailUnsubscribed
display
decisioning.propositionDisplay
を使用してください。inappmessageTracking.dismiss
inappmessageTracking.display
inappmessageTracking.interact
leadOperation.callWebhook
leadOperation.changeCampaignStream
leadOperation.changeEngagementCampaignCadence
leadOperation.convertLead
leadOperation.interestingMoment
leadOperation.mergeLeads
leadOperation.newLead
leadOperation.scoreChanged
leadOperation.statusInCampaignProgressionChanged
listOperation.addToList
listOperation.removeFromList
media.adBreakComplete
media.adBreakStart
media.adComplete
media.adSkip
media.adStart
media.bitrateChange
media.bufferStart
media.bufferStart
イベントタイプは、バッファー処理の開始時に送信されます。 特定の bufferResume
イベントタイプはありません。bufferStart
イベントの後に play
イベントが送信された場合、バッファリングは再開されたと見なされます。media.chapterComplete
media.chapterSkip
media.chapterStart
media.downloaded
media.error
media.pauseStart
pauseStart
イベントが発生した際に追跡します。 このイベントは、ユーザーがメディア再生で一時停止を開始するとトリガーされます。 再開イベントタイプはありません。 リク pauseStart
ストの後に再生イベントを送信すると、再開が推論されます。media.ping
media.ping
イベントタイプは、進行中の再生ステータスを示すために使用されます。 メインコンテンツの場合、このイベントは再生中に 10 秒ごとに送信される必要があります。これは、再生が開始されてから 10 秒後に開始されます。 広告コンテンツの場合は、広告トラッキング中に 1 秒ごとに送信される必要があります。 ping イベントでは、リクエスト本文にパラメーターマップを含めないでください。media.play
media.play
イベントタイプは、プレーヤーが buffering,
paused
(ユーザーによって再開された場合)や error
(自動再生などのシナリオを含む)などの別の状態から playing
状態に移行する際に送信されます。 このイベントは、プレーヤーの on('Playing')
コールバックによってトリガーされます。media.sessionComplete
media.sessionEnd
media.sessionEnd
イベントタイプは、ユーザーが表示を放棄して戻る可能性が低いときに、セッションを直ちに閉じるように Media Analytics バックエンドに通知します。 このイベントが送信されない場合、セッションは、10 分間無操作状態が続いた後、または再生ヘッドを動かさずに 30 分後にタイムアウトします。 そのセッション ID を持つ後続のメディアコールは無視されます。media.sessionStart
media.sessionStart
イベントタイプは、セッション開始呼び出しで送信されます。 応答を受け取ると、セッション ID が Location ヘッダーから抽出され、収集サーバーに対する以降のすべてのイベント呼び出しに使用されます。media.statesUpdate
statesUpdate
イベントが発生した際に追跡します。 プレーヤーステートトラッキング機能は、オーディオストリームまたはビデオストリームに付加することができる。 標準の状態は、fullscreen
、mute
、closedCaptioning
、pictureInPicture
、inFocus
です。opportunityEvent.addToOpportunity
opportunityEvent.opportunityUpdated
opportunityEvent.removeFromOpportunity
personalization.request
decisioning.propositionFetch
を使用してください。pushTracking.applicationOpened
pushTracking.customAction
web.formFilledOut
web.webinteraction.linkClicks
web.webpagedetails.pageViews
location.entry
location.exit
producedBy
の推奨値 producedBy
producedBy
の許容値を次の表に示します。
self
system
salesRef
customerRep