クエリの例 query-examples

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

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

各スキーマのフィールドと属性の一覧を表示するには、Adobe Journey Optimizer スキーマ リファレンス ​を参照してください。

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

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

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

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

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

このメッセージは、必ずしもデータセットのプロビジョニングが失敗したことを意味するわけではありません。 アドビサポートに連絡する前に、次の点を確認します。

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

データセットにデータを含める必要があり、テーブルが使用できないままの場合は、アドビサポートに連絡する前に、サンドボックス名、データセット名、クエリ 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 により生成されたメッセージ配信フィードバックが保存されます。 電子メール、モバイルメッセージ、ダイレクトメールなど、メッセージチャネルをまたいだ配信フィードバック分析をサポートしています。 フィードバックイベントは、レポートやオーディエンス作成のユースケースに使用できます。

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

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

  • このデータセットでは、バッチ取り込みが使用されるので、データは最大 2 時間遅延する場合があります。

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

フィールド、フィールドパス、データタイプ、説明の完全なリストについて詳しくは、Adobe Journey Optimizer スキーマリファレンスを参照してください。

テスト実行とテスト以外の実行の分類 classify-test-executions

isTestExecution フィールドに入力されている場合は、そのフィールドを使用して、テスト実行とテスト以外の実行を区別します。

クエリを作成する前に、Adobe Journey Optimizer スキーマリファレンスを参照して、AJO メッセージフィードバックイベントスキーマの現在のフィールドパス、データタイプ、説明を確認します。

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

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

NULL を false に自動的に変換しないでください。また、すべての null 値が本番環境での実行を表していると想定しないでください。 特定のチャネルや履歴期間に対して、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 interaction counts (opens, clicks) and see the push tracking query examples.
  • 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: mobile tracking experience events for push; 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): dataset for ingesting offer propositions to the users (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; data may be delayed by up to 2 hours.
  • 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 see them.
  • An Entity Dataset entry for a message is created only after the journey or campaign is published, and you may see the entry 30 minutes after the publication of the campaign or journey.
  • Do not automatically convert a NULL or missing isTestExecution value to false, and do not assume that every null value represents a production execution.
  • In some journeys, messageID may not be unique for each individual delivery; to track events at the individual send level, combine journeyVersionID, journeyActionID, and batchInstanceID (for batch journeys) or identityMap fields.
  • 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, latency, and error details)
  • 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 get marketer-defined metadata for messages in reporting? — Use the Entity Dataset, which uses the messageID attribute to stitch datasets such as the Message Feedback Dataset and Experience Event Tracking Datasets; to sort emails sent by a journey by action, join the Message Feedback dataset with the Entity dataset using _experience.decisioning.propositions.scopeDetails.correlationID and the _id field in the Entity dataset.
recommendation-more-help
journey-optimizer-help