クエリの例 query-examples

このページ: Journey Optimizer システムデータセットに対する、すぐに使用できる SQL クエリの例について説明します。これにより、メールやプッシュのトラッキング、メッセージフィードバック、ジャーニーステップ、決定データを分析し、レポートやトラブルシューティングに役立てることができます。

このページでは、Adobe Journey Optimizer データセットと関連する使用例のリストを示します。

各スキーマのフィールドと属性の完全なリストを表示するには、Journey Optimizer スキーマ辞書を参照してください。

また、一般的に使用されるいくつかのジャーニーステップイベントのクエリを実行する例も参照してください。

適切なデータセットの選択 choose-the-correct-dataset

クエリを実行する前に、ジャーニーで分析するアクションのタイプと一致するデータセットを確認します。

  1. ネイティブ Journey Optimizer チャネルアクション (sentまたはbounce ステータスなど)のメッセージ配信フィードバックを確認するには、​ メッセージフィードバックイベントデータセット ​を使用します。
  2. 開封数やクリック数などの電子メールのインタラクションイベントを確認するには、電子メールトラッキングエクスペリエンスイベント データセット ​を使用します。
  3. Journey Optimizerがカスタムアクションを実行したことを確認し、その実行ステータス、待ち時間、エラーの詳細を調べるには、ジャーニーステップイベント ​ データセットを使用します。
NOTE
カスタムアクション HTTP呼び出しが成功すると、呼び出しが完了したことのみが確認されます。 外部システムがメッセージを配信したことを確認しません。 ダウンストリーム配信を確認するには、外部システムのログまたはレポートを確認します。 ライブジャーニーの実行を​ トラブルシューティングする方法について説明します。

クエリが「データセット用にプロビジョニングされていないテーブル」を返した場合 table-not-provisioned

このメッセージは、データセットのプロビジョニングに失敗したことを必ずしも意味しません。 Adobe サポートに連絡する前に、次の点を確認してください。

  1. データセットワークスペースで、システムデータセットを表示​を有効にします。 システム生成データセットは、デフォルトでは非表示になっています。 ​ データセット ​へのアクセス方法について説明します。
  2. クエリで使用するテーブル名が、サンドボックスのデータセットワークスペースに表示されるテーブル名と一致することを確認します。
  3. ジャーニーのアクションタイプが、クエリするデータセットと一致することを確認します。 「正しいデータセットを選択」を参照してください。
  4. メッセージフィードバックイベントデータセットなど、バッチ取り込みを使用するデータセットの場合、データが使用可能になるまでに最大2時間かかります。
  5. カスタムアクションの場合は、外部配信にメッセージフィードバックイベントレコードを想定するのではなく、ジャーニーステップイベント ​ データセットをクエリします。
NOTE
CJM同意サービスデータセット​および​ CJM プッシュプロファイルデータセット ​は、Journey Optimizerが同意およびプッシュプロファイルデータに使用するシステムデータセットです。 クエリサービスではクエリ可能なテーブルとして使用できないため、いずれかのデータセットのクエリでは、データセットに対してプロビジョニングされていない​テーブルを返すことができます。 これは想定されており、プロビジョニングの失敗を示すものではありません。

データセットにデータが含まれている必要があり、テーブルが使用できない場合は、Adobe サポートに連絡する前に、サンドボックス名、データセット名、クエリ ID、およびタイムスタンプを収集します。

メールトラッキングエクスペリエンスイベントデータセット email-tracking-experience-event-dataset

インターフェイスの名前:AJO メールトラッキングエクスペリエンスイベントのデータセット

Journey Optimizer からメールトラッキングエクスペリエンスイベントを取り込むためのシステムデータセット。

関連するスキーマは、AJO メールトラッキングエクスペリエンスイベントスキーマです。

このクエリは、特定のメッセージに対する様々なメールインタラクション数(開封数、クリック数)を表示します。

select
    _experience.customerJourneyManagement.messageInteraction.interactionType AS interactionType,
    count(1) eventCount
from ajo_email_tracking_experience_event_dataset
where
     _experience.customerJourneyManagement.messageExecution.messageExecutionID IN ('UMA-30647505')
group by
    _experience.customerJourneyManagement.messageInteraction.interactionType

このクエリは、特定のジャーニーに関してメッセージ別に、様々なメールのインタラクション(開封数、クリック数)のカウントの分類を表示します。

select
    _experience.customerJourneyManagement.messageExecution.messageExecutionID AS messageExecutionID,
    _experience.customerJourneyManagement.messageInteraction.interactionType AS interactionType,
    count(1) eventCount
from ajo_email_tracking_experience_event_dataset
where
     _experience.customerJourneyManagement.messageExecution.journeyVersionID IN ('0e86ac62-c315-48cc-ab4f-3f8b741ae667')
group by
    _experience.customerJourneyManagement.messageExecution.messageExecutionID,
    _experience.customerJourneyManagement.messageInteraction.interactionType
order by
    _experience.customerJourneyManagement.messageExecution.messageExecutionID,
    _experience.customerJourneyManagement.messageInteraction.interactionType
limit 100;

メッセージフィードバックイベントデータセット message-feedback-event-dataset

インターフェイスの名前:AJO メッセージフィードバックイベントのデータセット

AJO メッセージフィードバックイベントデータセットには、Adobe Journey Optimizerによって生成されたメッセージ配信フィードバックが格納されます。 電子メール、SMS/RCS/MMS、ダイレクトメールなど、メッセージチャネルをまたいだ配信フィードバック分析をサポートしています。 フィードバックイベントは、レポートやオーディエンス作成のユースケースに使用できます。

関連するスキーマはAJO Message Feedback Event スキーマです。

NOTE
  • Adobe Journey Optimizerでは、sentはメッセージ配信の成功に使用される値です。deliveredはメッセージフィードバックイベントデータセットでは使用されません。

  • このデータセットはバッチ取り込みを使用するため、データは最大2時間遅延する可能性があります。

  • チャネル固有のコンテキストフィールドは、すべてのイベントに入力される保証はありません。 メッセージ実行ID、フィードバックステータス、エラーの詳細、タイムスタンプ、ID情報をプライマリ相関フィールドとして使用します。

フィールド、フィールドパス、データタイプ、および説明の一覧については、Adobe Journey Optimizer スキーマリファレンス ​を参照してください。

テストと非テストの実行を分類 classify-test-executions

フィールドが入力されたときにテスト実行と非テスト実行を区別するには、isTestExecution フィールドを使用します。

クエリを作成する前に、Adobe Journey Optimizer Schema Referenceを使用して、AJO Message Feedback Event Schemaの現在のフィールドパス、データタイプ、説明を確認します。

入力された値を次のように解釈します。

値
解釈
true
メッセージはテスト実行の一部でした。
false
メッセージはテスト実行の一部ではありませんでした。
NULLまたは見つかりません
フィールドの値は記録されませんでした。 チャネル固有および時間固有のマッピングが検証されていない限り、これを不明として扱います。

NULLをfalseに自動的に変換しないでください。すべてのnull値が実稼動実行を表していると仮定しないでください。 レポートの実装で、特定のチャネルまたは履歴の期間のテスト以外のレコードをnull値で表すことが検証されている場合は、そのマッピングを下流のレポートビューに適用し、ルールを明示的に文書化します。

過去のレコードやチャネル固有のレコードの中には、メッセージコンテキストフィールドごとにデータが入力されるわけではありません。 したがって、空の文字列や推測値として扱うのではなく、チャネル別にフィールドの可用性をテストし、ヌルを保持する必要があります。

このクエリは、Adobe Journey Optimizer スキーマ参照でisTestExecution パスを確認した後にのみ実行します。

SELECT
  _experience.customerJourneyManagement.messageProfile.isTestExecution AS isTestExecution,
  _experience.customerJourneyManagement.messageDeliveryfeedback.feedbackStatus AS feedbackStatus,
  COUNT(*) AS eventCount
FROM ajo_message_feedback_event_dataset
GROUP BY
  _experience.customerJourneyManagement.messageProfile.isTestExecution,
  _experience.customerJourneyManagement.messageDeliveryfeedback.feedbackStatus
ORDER BY
  isTestExecution,
  feedbackStatus;

このクエリは、テスト実行インジケーターと配信フィードバックステータスによってメッセージフィードバックレコードをグループ化します。 結果はnullまたは欠落したisTestExecution値を保持するため、記録されたテスト実行値のないレコードを個別にレビューできます。

このクエリは、特定のメッセージに対する様々なメールフィードバックステータス(送信済み、バウンスなど)の数を表示します。

select
    _experience.customerJourneyManagement.messageDeliveryfeedback.feedbackStatus AS feedbackStatus,
    count(1) eventCount
from ajo_message_feedback_event_dataset
where
     _experience.customerJourneyManagement.messageExecution.messageExecutionID IN ('UMA-30647505')
group by
    _experience.customerJourneyManagement.messageDeliveryfeedback.feedbackStatus;

このクエリは、特定のジャーニーに関してメッセージ別に、様々なメールのフィードバックステータス(送信済み、バウンスなど)のカウントの分類を表示します。

select
    _experience.customerJourneyManagement.messageExecution.messageExecutionID AS messageExecutionID,
    _experience.customerJourneyManagement.messageDeliveryfeedback.feedbackStatus AS feedbackStatus,
    count(1) eventCount
from ajo_message_feedback_event_dataset
where
     _experience.customerJourneyManagement.messageExecution.journeyVersionID IN ('0e86ac62-c315-48cc-ab4f-3f8b741ae667')
group by
    _experience.customerJourneyManagement.messageExecution.messageExecutionID,
    _experience.customerJourneyManagement.messageDeliveryfeedback.feedbackStatus
order by
    _experience.customerJourneyManagement.messageExecution.messageExecutionID,
    _experience.customerJourneyManagement.messageDeliveryfeedback.feedbackStatus
limit 100;

集計レベルにおけるドメインレベルのレポート(トップドメイン順):ドメイン名、送信されたメッセージ、バウンス

SELECT split_part(_experience.customerJourneyManagement.emailChannelContext.address, '@', 2) AS recipientDomain, SUM( CASE WHEN _experience.customerJourneyManagement.messageDeliveryfeedback.feedbackStatus = 'sent' THEN 1 ELSE 0 END)AS sentCount , SUM( CASE WHEN _experience.customerJourneyManagement.messageDeliveryfeedback.feedbackStatus = 'bounce' THEN 1 ELSE 0 END )AS bounceCount FROM ajo_message_feedback_event_dataset WHERE _experience.customerjourneymanagement.messageprofile.channel._id = 'https://ns.adobe.com/xdm/channels/email' GROUP BY recipientDomain ORDER BY sentCount DESC;

毎日のメール送信:

SELECT date_trunc('day', TIMESTAMP) AS rolluptimestamp, SUM( CASE WHEN _experience.customerjourneymanagement.messagedeliveryfeedback.feedbackstatus = 'sent' THEN 1 ELSE 0 END) AS deliveredcount FROM ajo_message_feedback_event_dataset WHERE _experience.customerjourneymanagement.messageprofile.channel._id = 'https://ns.adobe.com/xdm/channels/email' GROUP BY date_trunc('day', TIMESTAMP) ORDER BY rolluptimestamp ASC;

特定のメール ID がメールを受け取ったかどうか、受け取っていない場合は、エラー、バウンスカテゴリ、コードを調べます。

SELECT _experience.customerjourneymanagement.messagedeliveryfeedback.feedbackstatus AS status, _experience.customerjourneymanagement.messagedeliveryfeedback.messagefailure.reason AS failurereason, _experience.customerjourneymanagement.messagedeliveryfeedback.messagefailure.type AS bouncetype FROM ajo_message_feedback_event_dataset WHERE _experience.customerjourneymanagement.messageprofile.channel._id = 'https://ns.adobe.com/xdm/channels/email' AND _experience.customerjourneymanagement.emailchannelcontext.address = 'user@domain.com' AND TIMESTAMP >= now() - INTERVAL '7' DAY ORDER BY status ASC

過去 x 時間/日間に、特定のエラー、バウンスカテゴリまたはコードを持つ、または特定のメッセージ配信に関連する、個々のメール ID のリストを見つけます。

SELECT _experience.customerjourneymanagement.emailchannelcontext.address AS emailid, _experience.customerjourneymanagement.messagedeliveryfeedback.feedbackstatus AS status, _experience.customerjourneymanagement.messagedeliveryfeedback.messagefailure.reason AS failurereason, _experience.customerjourneymanagement.messagedeliveryfeedback.messagefailure.type AS bouncetype FROM ajo_message_feedback_event_dataset WHERE _experience.customerjourneymanagement.messageprofile.channel._id = 'https://ns.adobe.com/xdm/channels/email' AND _experience.customerjourneymanagement.messagedeliveryfeedback.feedbackstatus != 'sent' AND TIMESTAMP >= now() - INTERVAL '10' HOUR AND _experience.customerjourneymanagement.messageexecution.messageexecutionid = 'BMA-45237824' ORDER BY emailid

集計レベルでのハードバウンス率:

select hardBounceCount, case when sentCount > 0 then(hardBounceCount/sentCount)*100.0 else 0 end as hardBounceRate from ( select SUM( CASE WHEN _experience.customerJourneyManagement.messageDeliveryfeedback.feedbackStatus = 'bounce' AND _experience.customerJourneyManagement.messageDeliveryfeedback.messageFailure.type = 'Hard' THEN 1 ELSE 0 END)AS hardBounceCount , SUM( CASE WHEN _experience.customerJourneyManagement.messageDeliveryfeedback.feedbackStatus = 'sent' THEN 1 ELSE 0 END )AS sentCount from ajo_message_feedback_event_dataset WHERE _experience.customerjourneymanagement.messageprofile.channel._id = 'https://ns.adobe.com/xdm/channels/email' )

バウンスコード別にグループ化された永続的なエラー:

SELECT _experience.customerjourneymanagement.messagedeliveryfeedback.messagefailure.reason AS failurereason, COUNT(*) AS hardbouncecount FROM ajo_message_feedback_event_dataset WHERE _experience.customerjourneymanagement.messagedeliveryfeedback.feedbackstatus = 'bounce' AND _experience.customerjourneymanagement.messagedeliveryfeedback.messagefailure.type = 'Hard' AND _experience.customerjourneymanagement.messageprofile.channel._id = 'https://ns.adobe.com/xdm/channels/email' GROUP BY failurereason
NOTE
一部のジャーニーでは、messageID は個々の配信ごとに一意ではない場合があります。 ジャーニーで同じアクションを同じプロファイルに再送信する場合は、同じ messageID を再利用できます。 したがって、個々の送信レベルでイベントを正確に追跡したり属性を設定したりするには、journeyVersionID、journeyActionID、batchInstanceID(バッチジャーニーの場合)または identityMap フィールドを組み合わせて、より正確な一意性を実現します。

ISP のサービス停止後に強制隔離されたアドレスの識別 isp-outage-query

インターネットサービスプロバイダー(ISP)のサービス停止が発生した場合は、特定のドメインに対してバウンス(強制隔離)と誤ってマークされたメールアドレスを、一定期間識別する必要があります。 これらのアドレスを取得するには、次のクエリを使用します。

SELECT
    _experience.customerJourneyManagement.emailChannelContext.address AS RecipientAddress,
    timestamp AS EventTime,
    _experience.customerJourneyManagement.messageDeliveryfeedback.messageFailure.reason AS "Invalid Recipient"
FROM ajo_message_feedback_event_dataset
WHERE
    eventtype = 'message.feedback' AND
    DATE(timestamp) BETWEEN '<start-date-time>' AND '<end-date-time>' AND
    _experience.customerjourneymanagement.messagedeliveryfeedback.feedbackstatus = 'bounce' AND
    _experience.customerJourneyManagement.emailChannelContext.address ILIKE '%domain.com%'
ORDER BY timestamp DESC;

日付の形式は、YYYY-MM-DD HH:MM:SS です。

識別したら、これらのアドレスを Journey Optimizer 抑制リストから削除します。 学習を増やす。

NOTE
メッセージフィードバックイベントデータセット内の identityMap を参照すると、実行時に使用される ID のみが反映されます。 プッシュ通知の場合、「送信」イベントは、この通知の送信に使用されるプッシュトークンにリンクされた ECID のみに依存しますが、「除外」イベントはカスタム ID に依存する可能性があります。 例えば、プッシュトークンが見つからなかったことにより、プロファイルが除外された場合、このイベントを登録するために、ジャーニーまたはアクションキャンペーンレベルで使用される ID が選択されます。 追加の名前空間(例:カスタム ID)が必要な場合は、これらのフィードバックレコードをプロファイル関連のデータセット(例:profile_snapshot)と結合して、完全な ID リストを取得します。

プッシュトラッキングエクスペリエンスイベントデータセット push-tracking-experience-event-dataset

インターフェイスの名前:AJO プッシュトラッキングエクスペリエンスイベントのデータセット

Journey Optimizer からプッシュ用のモバイルトラッキングエクスペリエンスイベントを取り込むためのデータセット。

関連するスキーマは、AJO プッシュトラッキングエクスペリエンスイベントスキーマです。

クエリの例:

select _experience.customerJourneyManagement.pushChannelContext.platform, sum(pushNotificationTracking.customAction.value)  from ajo_push_tracking_experience_event_dataset
group by _experience.customerJourneyManagement.pushChannelContext.platform

select  _experience.customerJourneyManagement.pushChannelContext.platform, SUM (_experience.customerJourneyManagement.messageInteraction.offers.offerCount) from ajo_email_tracking_experience_event_dataset
  group by _experience.customerJourneyManagement.pushChannelContext.platform

ジャーニーステップイベント journey-step-event

内部名:ジャーニーステップイベント(システムデータセット)

ジャーニーでステップイベントを取り込むデータセット。

関連するスキーマは、Journey Orchestration のジャーニーのイベントステップイベントです。

このクエリは、特定のジャーニーのアクションラベル別に、アクション成功数の分類を表示します。

select
    _experience.journeyOrchestration.stepEvents.actionName AS actionLabel,
    count(1) actionSuccessCount
from journey_step_events
where
     _experience.journeyOrchestration.stepEvents.journeyVersionID IN ('0e86ac62-c315-48cc-ab4f-3f8b741ae667')
     AND _experience.journeyOrchestration.stepEvents.actionID IS NOT NULL
     AND _experience.journeyOrchestration.stepEvents.actionType IS NOT NULL
     AND _experience.journeyOrchestration.stepEvents.actionExecutionErrorCode IS NULL
group by
    _experience.journeyOrchestration.stepEvents.actionName;

このクエリは、特定のジャーニーの nodeId および nodeLabel ごとに、エントリしたステップ数の分類を表示します。 異なるジャーニーノードに対して nodeLabel を同じにできるので、nodeId はここに含まれます。

select
    _experience.journeyOrchestration.stepEvents.nodeID AS nodeID,
    _experience.journeyOrchestration.stepEvents.nodeName AS nodeLabel,
    count(1) stepEnteredCount
from journey_step_events
where
     _experience.journeyOrchestration.stepEvents.journeyVersionID IN ('0e86ac62-c315-48cc-ab4f-3f8b741ae667')
     AND _experience.journeyOrchestration.stepEvents.journeyNodeProcessed = TRUE
     AND _experience.journeyOrchestration.stepEvents.eventID IS DISTINCT FROM 'createInstance'
group by
    _experience.journeyOrchestration.stepEvents.nodeID,
    _experience.journeyOrchestration.stepEvents.nodeName;

このクエリは、プロファイル ID とメッセージフィードバックイベントデータセットを使用して、プロファイルへのメッセージの配信に関連付けられているジャーニー内のノード(nodeID と nodeName 別)を取得します。

select
    _experience.journeyorchestration.stepevents.nodeID, JSE._experience.journeyorchestration.stepevents.nodeName
from journey_step_events JSE
where
    _experience.journeyOrchestration.stepEvents.actionID
    in

    (
    select
        _experience.customerJourneyManagement.messageExecution.journeyActionID
    from  ajo_message_feedback_event_dataset
    where
        _experience.customerJourneyManagement.messageProfile.messageProfileID = '<PROFILE ID>'
    group by
        _experience.customerJourneyManagement.messageExecution.journeyActionID
    )

group by
    _experience.journeyorchestration.stepevents.nodeID, JSE._experience.journeyorchestration.stepevents.nodeName

また、一般的に使用されるいくつかのジャーニーステップイベントのクエリを実行する例も参照してください。

詳しくは、journey_step_events で破棄されたイベントタイプのトラブルシューティングを参照してください。

決定イベントデータセット ode-decisionevents

インターフェイスの名前:ODE DecisionEvents (システムデータセット)

オファーの提案をユーザーに取り込むデータセット。

関連するスキーマは、ODE DecisionEvents です。

このクエリでは、前日に返されたすべてのオファーを表示します。

SELECT date_format(Decision.Timestamp, 'MM/dd/yyyy') as Date
,HOUR(Decision.timestamp) as Hour
,COUNT(*)  as Count
FROM ode_decisionevents_b699fa78_efec_41b1_99fa_78efecc1b1ef_decision AS Decision
WHERE date_format(Decision.timestamp, 'MM/dd/yyyy') = date_format(CURRENT_DATE, 'MM/dd/yyyy') and Decision._experience.decisioning.propositionDetails.activity[0].id = 'xcore:offer-activity:13ab41890a335ad6'
GROUP BY date_format(Decision.Timestamp, 'MM/dd/yyyy')
,HOUR(Decision.timestamp)
ORDER BY 1, 2 DESC;

このクエリは、特定のアクティビティ/決定において、過去 30 日間にオファーが提案された回数と関連するオファーの優先度を表示します。

select proposedOffers.id,proposedOffers.name, po._experience.decisioning.ranking.priority, count(proposedOffers.id) as ProposedCount from (
select explode(propositionexplode.selections) AS proposedOffers from
(select explode(_experience.decisioning.propositionDetails) AS propositionexplode,timestamp FROM ode_decisionevents_itca_decisioning_20230925_235340_379  where date_format(timestamp, 'MM/dd/yyyy') >= date_format(DATE_ADD(CURRENT_DATE, -30), 'MM/dd/yyyy') and _experience.decisioning.propositionDetails.activity[0].id = 'xcore:offer-activity:12ae6f35a055c6f0')) a, decision_object_repository_personalized_offers po where proposedOffers.id LIKE 'xcore:personalized-offer%' and po._id=proposedOffers.id
group by proposedOffers.id, proposedOffers.name, po._experience.decisioning.ranking.priority;

セカンダリ受信者フィードバックイベントデータセット(BCC) bcc-feedback-event-dataset

インターフェイスの名前:AJO セカンダリ受信者フィードバックイベントデータセット(システムデータセット)。 クエリサービスでは、データセットテーブルの名前は ajo_bcc_feedback_event_dataset のままである場合があります。

BCC アーカイブが有効な場合のメール BCC(セカンダリ受信者)メッセージのデータセット。

2 日以内のすべての BCC メッセージに対するクエリ(特定のキャンペーンの場合):

SELECT bcc.*
FROM ajo_bcc_feedback_event_dataset AS bcc
WHERE
    bcc._experience.customerJourneyManagement.messageExecution.messageExecutionID = '<message-execution-id>' AND
    bcc.timestamp >= now() - INTERVAL '2' day;

フィードバックデータセットを含むクエリで、受信しなかったユーザー(すべてのバウンスと抑制)と、特定のメッセージに対して BCC エントリを持つユーザーを表示します。

SELECT
    distinct bcc._experience.customerJourneyManagement.secondaryRecipientDetail.originalRecipientAddress AS OriginalRecipientAddress
FROM ajo_bcc_feedback_event_dataset  AS bcc
WHERE
    bcc.timestamp > now() - INTERVAL '2' DAY AND     bcc._experience.customerJourneyManagement.messageExecution.messageExecutionID  = '<message-execution-id>' AND      bcc._experience.customerJourneyManagement.secondaryRecipientDetail.originalRecipientAddress != '' AND
    (
            bcc._experience.customerJourneyManagement.secondaryRecipientDetail.originalRecipientAddress NOT IN (
        SELECT distinct mfe._experience.customerJourneyManagement.emailChannelContext.address
        FROM ajo_message_feedback_event_dataset AS mfe
        WHERE
            mfe.timestamp > now() - INTERVAL '2' DAY AND
            mfe._experience.customerJourneyManagement.messageExecution.messageExecutionID  = '<message-execution-id>' AND
            mfe._experience.customerjourneymanagement.messagedeliveryfeedback.feedbackstatus = 'sent'
        )
    OR     bcc._experience.customerJourneyManagement.secondaryRecipientDetail.originalRecipientAddress IN (
        SELECT distinct mfe._experience.customerJourneyManagement.emailChannelContext.address
        FROM ajo_message_feedback_event_dataset AS mfe
        WHERE
        mfe.timestamp > now() - INTERVAL '2' DAY AND
            mfe._experience.customerJourneyManagement.messageExecution.messageExecutionID  = '<message-execution-id>' AND
            mfe._experience.customerJourneyManagement.messageDeliveryfeedback.messageFailure.category = 'async' AND
            mfe._experience.customerjourneymanagement.messagedeliveryfeedback.feedbackstatus

エンティティデータセット entity-dataset

インターフェイスでの名前:ajo entity_dataset(システムデータセット)_

エンドユーザーに送信されるメッセージのエンティティメタデータを保存するデータセット。

関連するスキーマは AJO エンティティスキーマです。

このデータセットを使用すると、マーケターが定義したメタデータにアクセスし、外部ツールでレポート視覚化するために Journey Optimizer がデータセットをエクスポートした際に、レポートに関するより優れたインサイトを得ることができます。 messageID 属性を使用することで、メッセージフィードバックデータセットやエクスペリエンスイベントトラッキングデータセットなどの様々なデータセットをつなぎ合わせて、プロファイルレベルでの送信からトラッキングまでのメッセージ配信の詳細を取得することができます。

重要な注意事項

  • メッセージのエントリは、ジャーニーまたはキャンペーンが公開された後にのみ作成されます。

  • キャンペーン/ジャーニーが公開されてから 30 分後にエントリが表示される場合があります。

NOTE
将来の互換性に備え、当面の間、エンティティデータセット内の各メッセージの公開には 2 つのエントリが存在します。 このことは、必要に応じてデータセット間で結合クエリを使用して目的の情報を取得する機能には影響しません。

レポートで、特定のジャーニーで送信されたメールを送信元のアクションに従って並べ替える場合は、 メッセージフィードバックデータセットをエンティティデータセットと結合できます。 使用するフィールドは _experience.decisioning.propositions.scopeDetails.correlationID と _id field in entity dataset です。

特定のキャンペーンに関連するメッセージテンプレートを取得するのに役立つクエリは次のとおりです。

SELECT
  AE._experience.customerJourneyManagement.entities.channelDetails.template
from
  ajo_entity_dataset AE
    WHERE AE._experience.customerJourneyManagement.entities.campaign.campaignVersionID = 'd7a01136-b113-4ef2-8f59-b6001f7eef6e'

すべてのフィードバックイベントに関連付けられているジャーニー詳細とメール件名を取得するのに役立つクエリは次のとおりです。

SELECT
  AE._experience.customerJourneyManagement.entities.journey.journeyActionName,
  AE._experience.customerJourneyManagement.entities.journey.journeyActionID,
  AE._experience.customerJourneyManagement.entities.journey.journeyVersionID,
  AE._experience.customerJourneyManagement.entities.channelDetails.email.subject
from
  ajo_entity_dataset AE
  INNER JOIN ajo_message_feedback_event_dataset MF ON AE._experience.customerJourneyManagement.entities.channelDetails.messageID = MF._experience.customerJourneyManagement.messageExecution.messageID
WHERE
  AE._experience.customerJourneyManagement.entities.channelDetails.channel._id = 'https://ns.adobe.com/xdm/channels/email'
  AND MF._experience.customerJourneyManagement.messageDeliveryfeedback.feedbackStatus = 'sent'
  AND AE._experience.customerJourneyManagement.entities.journey.journeyVersionID IS NOT NULL

ジャーニーステップイベント、メッセージフィードバックおよびトラッキングデータセットをスティッチして、特定のプロファイルの統計を取得できます。

SELECT
  AE._experience.customerJourneyManagement.entities.journey.journeyActionName,
  AE._experience.customerJourneyManagement.entities.journey.journeyActionID,
  AE._experience.customerJourneyManagement.entities.journey.journeyVersionID,
  AE._experience.customerJourneyManagement.entities.channelDetails.email.subject,
    JE._EXPERIENCE.JOURNEYORCHESTRATION.STEPEVENTS.PROFILEID,
    JE._EXPERIENCE.JOURNEYORCHESTRATION.STEPEVENTS.NODENAME
from
  ajo_entity_dataset AE
  INNER JOIN ajo_message_feedback_event_dataset MF
    ON AE._experience.customerJourneyManagement.entities.channelDetails.messageID = MF._experience.customerJourneyManagement.messageExecution.messageID
    INNER JOIN journey_step_events JE
    ON AE._experience.customerJourneyManagement.entities.journey.journeyActionID = JE._experience.journeyOrchestration.stepEvents.actionID
WHERE
  AE._experience.customerJourneyManagement.entities.channelDetails.channel._id = 'https://ns.adobe.com/xdm/channels/email'
  AND MF._experience.customerJourneyManagement.messageDeliveryfeedback.feedbackStatus = 'sent'
  AND AE._experience.customerJourneyManagement.entities.journey.journeyVersionID IS NOT NULL
AI Knowledge Reference

This section contains structured knowledge intended to support interpretation, retrieval, and question answering related to this topic.

For complete understanding, this information should be combined with the documentation on this page. Neither source is intended to stand alone; the page describes the feature, while this section provides additional context that helps disambiguate terminology, intent, applicability, and constraints.

  • TL;DR: This page provides ready-to-use SQL query examples for Journey Optimizer system datasets so you can analyze email and push tracking, message feedback, journey step, decisioning, BCC, and entity data for reporting and troubleshooting.

Intents:

  • Choose the correct system dataset for a given analysis (message feedback versus email tracking versus journey step).
  • Query email and push interaction counts (opens, clicks).
  • Query message delivery feedback statuses (sent, bounce) and bounce categories.
  • Distinguish test executions from non-test executions using the isTestExecution field.
  • Join the Entity Dataset with feedback and tracking datasets using messageID or correlationID.
  • Troubleshoot the “Table not provisioned for dataset” message.

Glossary:

  • AJO Email Tracking Experience Event Dataset: system dataset for email tracking events; queried as ajo_email_tracking_experience_event_dataset (product-specific)
  • AJO Message Feedback Event Dataset: message delivery feedback across channels (Email, SMS/RCS/MMS, Direct Mail); queried as ajo_message_feedback_event_dataset; uses batch ingestion (product-specific)
  • AJO Push Tracking Experience Event Dataset: push interaction events; queried as ajo_push_tracking_experience_event_dataset (product-specific)
  • Journey Step Event: journey step events; queried as journey_step_events (product-specific)
  • Decisioning Event Dataset (ODE DecisionEvents): offer proposition events (product-specific)
  • Secondary Recipient Feedback Event Dataset (BCC): email BCC events when BCC archiving is enabled; table may still be named ajo_bcc_feedback_event_dataset (product-specific)
  • Entity Dataset: stores entity metadata for messages; queried as ajo_entity_dataset (product-specific)
  • isTestExecution: field distinguishing test executions (true) from non-test executions (false), with NULL or missing treated as unknown (product-specific)

Guardrails:

  • The AJO Message Feedback Event Dataset uses batch ingestion; expect a data latency of up to 2 hours (expected latency, batch ingestion — not a configurable limit) when querying it or using it for reporting.
  • If a query returns “Table not provisioned for dataset”, for batch-ingested datasets allow up to two hours for data to become available before contacting Adobe Support.
  • The CJM Consent Service Dataset and CJM Push Profile Dataset are system datasets used by Journey Optimizer for consent and push profile data. They are not available as queryable tables in Query Service, so a “Table not provisioned for dataset” response is expected when querying them.
  • System datasets are hidden by default; enable Show system datasets in the Datasets workspace to query them.
  • An Entity Dataset entry for a message is created only after the journey or campaign is published, and may appear about 30 minutes after publication (observed delay).
  • Do not automatically convert a NULL or missing isTestExecution value to false, and do not assume null represents a production execution.
  • A successful custom action HTTP call confirms only that the call completed, not that the external system delivered a message.

Terminology:

  • Canonical name: Journey Step Event — table: journey_step_events
  • Do not confuse: “AJO Message Feedback Event Dataset” (delivery feedback such as sent or bounce) ≠ “AJO Email Tracking Experience Event Dataset” (interaction events such as opens and clicks) ≠ “Journey Step Event” (custom action execution status and errors)
  • Do not confuse: “isTestExecution = NULL” (unknown) ≠ “isTestExecution = false” (non-test execution)

FAQ:

  • Q: Which dataset do I query for opens and clicks? — The AJO Email Tracking Experience Event Dataset.
  • Q: Which dataset do I query for sent and bounce delivery status? — The AJO Message Feedback Event Dataset.
  • Q: Why does my query return “Table not provisioned for dataset”? — It does not necessarily mean provisioning failed; enable Show system datasets, confirm the table name matches the Datasets workspace, and for batch datasets allow up to two hours for data to become available.
  • Q: Why does a query for the CJM Consent Service Dataset or CJM Push Profile Dataset return “Table not provisioned for dataset”? — These system datasets are not available as queryable tables in Query Service, so the response is expected.
  • Q: How do I separate test executions from non-test executions? — Use the isTestExecution field; treat NULL or missing values as unknown rather than converting them to false.
  • Q: How do I enrich feedback records with campaign, journey, and message metadata? — Join the Entity Dataset using messageID or _experience.decisioning.propositions.scopeDetails.correlationID.
recommendation-more-help
journey-optimizer-help