이 페이지에서: 전자 메일 및 푸시 추적, 메시지 피드백, 여정 단계, 보고 및 문제 해결을 위한 데이터 의사 결정을 분석할 수 있도록 Journey Optimizer 시스템 데이터 세트에 대해 바로 사용할 수 있는 SQL 쿼리 예제를 살펴봅니다.
이 페이지에서는 Adobe Journey Optimizer 데이터 세트 목록 및 관련 사용 사례를 확인할 수 있습니다.
각 스키마의 전체 필드와 속성 목록을 보려면 Journey Optimizer 스키마 사전을 찾아봅니다.
여정 단계 이벤트를 쿼리하기 위해 일반적으로 사용되는 예제를 참조하십시오.
올바른 데이터 세트 선택 choose-the-correct-dataset
쿼리를 실행하기 전에 여정에서 분석할 작업 유형과 일치하는 데이터 세트를 확인하십시오.
- 기본 Journey Optimizer 채널 작업(예:
sent또는bounce상태)에 대한 메시지 게재 피드백을 확인하려면 메시지 피드백 이벤트 데이터 세트를 사용하십시오. - 열기 및 클릭과 같은 전자 메일 상호 작용 이벤트를 확인하려면 전자 메일 추적 경험 이벤트 데이터 세트를 사용하세요.
- Journey Optimizer에서 사용자 지정 작업을 실행했는지 확인하고 실행 상태, 대기 시간 및 오류 세부 정보를 검사하려면 여정 단계 이벤트 데이터 집합을 사용하십시오.
쿼리가 "데이터 세트에 대해 프로비저닝되지 않은 테이블"을 반환하는 경우 table-not-provisioned
이 메시지는 데이터 세트가 프로비저닝에 실패했음을 의미하지는 않습니다. Adobe 지원에 문의하기 전에 다음을 확인하십시오.
- 데이터 세트 작업 영역에서 시스템 데이터 세트 표시를 사용하도록 설정합니다. 시스템에서 생성한 데이터 세트는 기본적으로 숨겨집니다. 데이터 세트에 액세스하는 방법을 알아보세요.
- 쿼리에 사용된 정확한 테이블 이름이 샌드박스의 데이터 세트 작업 영역에 표시된 테이블 이름과 일치하는지 확인합니다.
- 여정 작업 유형이 쿼리하는 데이터 세트와 일치하는지 확인합니다. 올바른 데이터 집합 선택을 참조하세요.
- 메시지 피드백 이벤트 데이터 세트와 같은 일괄 처리 수집을 사용하는 데이터 세트의 경우 데이터를 사용할 수 있도록 최대 2시간을 허용합니다.
- 사용자 지정 작업의 경우 외부 게재에 대한 메시지 피드백 이벤트 레코드를 예상하지 않고 여정 단계 이벤트 데이터 세트를 쿼리하십시오.
데이터 세트에 데이터가 포함되어야 하지만 테이블을 사용할 수 없는 경우 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 및 DM을 포함한 메시지 채널 전반에 대한 게재 피드백 분석을 지원합니다. 피드백 이벤트는 보고 및 대상자 만들기 사용 사례에 사용할 수 있습니다.
관련 스키마는 AJO 메시지 피드백 이벤트 스키마입니다.
필드, 필드 경로, 데이터 형식 및 설명의 전체 목록은 Adobe Journey Optimizer 스키마 참조를 참조하십시오.
테스트 및 비테스트 실행 분류 classify-test-executions
필드가 채워질 때 테스트 실행과 비테스트 실행을 구분하려면 isTestExecution 필드를 사용하십시오.
쿼리를 작성하기 전에 Adobe Journey Optimizer 스키마 참조를 사용하여 AJO 메시지 피드백 이벤트 스키마에 대한 현재 필드 경로, 데이터 형식 및 설명을 확인하십시오.
채워진 값을 다음과 같이 해석합니다.
truefalseNULL 또는 누락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
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 제외 목록에서 해당 주소를 제거합니다. 자세히 알아보기
푸시 추적 경험 이벤트 데이터 세트 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
여정 단계 이벤트를 쿼리하기 위해 일반적으로 사용되는 예제를 참조하십시오.
여정_step_events에서 삭제된 이벤트 유형 문제를 해결하는 방법을 알아봅니다.
Decisioning 이벤트 데이터 세트 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분 후에 항목이 표시될 수 있습니다.
보고서에서 특정 여정이 보낸 이메일을 전송한 작업에 따라 정렬하려는 경우 메시지 피드백 데이터 세트를 엔티티 데이터 세트와 결합할 수 있습니다. 사용할 필드는 _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
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
isTestExecutionfield. - Join the Entity Dataset with feedback and tracking datasets using
messageIDorcorrelationID. - 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), withNULLor 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.
- 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
NULLor missingisTestExecutionvalue tofalse, 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
sentorbounce) ≠ “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: How do I separate test executions from non-test executions? — Use the
isTestExecutionfield; treatNULLor missing values as unknown rather than converting them tofalse. - Q: How do I enrich feedback records with campaign, journey, and message metadata? — Join the Entity Dataset using
messageIDor_experience.decisioning.propositions.scopeDetails.correlationID.