Beispiele für Abfragen query-examples

Auf dieser Seite: Erkunden Sie einsatzbereite SQL-Abfragebeispiele für Journey Optimizer-Systemdatensätze, damit Sie E-Mail- und Push-Tracking, Nachrichten-Feedback, Journey-Schritte und Entscheidungsdaten für Reporting und Fehlerbehebung analysieren können.

Auf dieser Seite finden Sie die Liste der Adobe Journey Optimizer-Datensätze und der zugehörigen Anwendungsfälle:

Die vollständige Liste der Felder und Attribute für jedes Schema finden Sie im Journey Optimizer-Schemawörterbuch.

Siehe auch einige häufig verwendete Beispiele zum Abfragen von Journey-Schrittereignissen.

Auswählen des richtigen Datensatzes choose-the-correct-dataset

Bevor Sie eine Abfrage ausführen, überprüfen Sie, welcher Datensatz dem Aktionstyp entspricht, den Sie auf Ihrem Journey analysieren möchten.

  1. Um das Feedback zum Nachrichtenversand für native Journey Optimizer-Kanalaktionen (z. B. sent- oder bounce-Status) zu überprüfen, verwenden Sie den Nachrichten-Feedback-Ereignisdatensatz.
  2. Um E-Mail-Interaktionsereignisse wie Öffnungen und Klicks zu überprüfen, verwenden Sie den E-Mail-Tracking-Erlebnisereignis-Datensatz.
  3. Um zu überprüfen, ob Journey Optimizer eine benutzerdefinierte Aktion ausgeführt hat, und den Ausführungsstatus, die Latenz und Fehlerdetails zu überprüfen, verwenden Sie den Datensatz Journey-.
NOTE
Ein HTTP-Aufruf für eine erfolgreiche benutzerdefinierte Aktion bestätigt nur, dass der Aufruf abgeschlossen wurde. Sie bestätigt nicht, dass das externe System eine Nachricht gesendet hat. Um den nachgelagerten Versand zu bestätigen, überprüfen Sie die Protokolle oder Berichte des externen Systems. Erfahren Sie, wie Sie Fehler bei der Live-Journey-Ausführung beheben.

Wenn eine Abfrage „Tabelle nicht für Datensatz bereitgestellt“ zurückgibt, table-not-provisioned

Diese Meldung bedeutet nicht unbedingt, dass der Datensatz nicht bereitgestellt werden konnte. Bevor Sie sich an den Adobe-Support wenden, überprüfen Sie Folgendes:

  1. Aktivieren Sie im Arbeitsbereich Datensätze die Option Systemdatensätze anzeigen. Systemgenerierte Datensätze sind standardmäßig ausgeblendet. Erfahren Sie, wie Sie auf Datensätze zugreifen.
  2. Bestätigen Sie, dass der in Ihrer Abfrage verwendete genaue Tabellenname mit dem Tabellennamen übereinstimmt, der im Arbeitsbereich Datensätze für Ihre Sandbox angezeigt wird.
  3. Vergewissern Sie sich, dass der Journey-Aktionstyp mit dem abgefragten Datensatz übereinstimmt. Siehe Auswählen des richtigen Datensatzes.
  4. Warten Sie bei Datensätzen, die eine Batch-Aufnahme verwenden, z. B. dem Datensatz mit Nachrichten-Feedback-Ereignissen, bis zu zwei Stunden, bis Daten verfügbar sind.
  5. Fragen Sie für benutzerdefinierte Aktionen den Datensatz Journey-Schrittereignis ab, anstatt einen Nachrichten-Feedback-Ereignisdatensatz für den externen Versand zu erwarten.

Wenn der Datensatz Daten enthalten soll und die Tabelle nicht verfügbar ist, erfassen Sie den Sandbox-Namen, den Datensatznamen, die Abfrage-ID und den Zeitstempel, bevor Sie sich an den Adobe-Support wenden.

E-Mail-Tracking-Erlebnisereignis-Datensatz email-tracking-experience-event-dataset

Name in der Benutzeroberfläche: AJO-E-Mail-Tracking-Erlebnisereignis-Datensatz

Systemdatensatz für die Aufnahme von E-Mail-Tracking-Erlebnisereignissen aus Journey Optimizer.

Das zugehörige Schema ist das AJO Email Tracking Experience Event Schema.

Diese Abfrage zeigt die Anzahl der verschiedenen E-Mail-Interaktionen (Öffnungen, Klicks) für eine bestimmte Nachricht:

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

Diese Abfrage zeigt die Aufschlüsselung der Anzahl der verschiedenen E-Mail-Interaktionen (Öffnungen, Klicks) nach Nachricht für eine bestimmte Journey:

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;

Nachrichten-Feedback-Ereignisdatensatz message-feedback-event-dataset

Name in der Benutzeroberfläche: AJO-Nachrichten-Feedback-Ereignisdatensatz

Der AJO-Datensatz für Nachrichten-Feedback-Ereignisse speichert von Adobe Journey Optimizer generiertes Nachrichten-Versand-Feedback. Es unterstützt die Versand-Feedback-Analyse über alle Nachrichtenkanäle hinweg, einschließlich E-Mail, SMS/RCS/MMS und Briefpost. Feedback-Ereignisse können für Anwendungsfälle des Reportings und der Zielgruppenerstellung verwendet werden.

Das zugehörige Schema ist das AJO-Nachrichten-Feedback-Ereignis-Schema.

NOTE
Dieser Datensatz verwendet die Batch-Aufnahme. Rechnen Sie bei der Abfrage dieses Datensatzes oder seiner Verwendung für Berichtszwecke mit einer Datenlatenz von bis zu 2 Stunden.

Eine vollständige Liste der Felder, Feldpfade, Datentypen und Beschreibungen finden Sie in der Adobe Journey Optimizer-Schemareferenz.

NOTE
Kanalspezifische Kontextfelder werden nicht garantiert bei jedem Nachrichten-Feedback-Ereignis ausgefüllt. Die Verfügbarkeit der Felder kann vom Kanal, der Provider-Feedback-Payload, dem Ereignistyp und der Versandphase abhängen. Verwenden Sie die Ausführungskennungen der Nachricht, den Feedback-Status, Fehlerdetails, den Zeitstempel und Identitätsinformationen als primäre Korrelationsfelder.

Klassifizieren von Test- und Nicht-Testausführungen classify-test-executions

Verwenden Sie das Feld isTestExecution , um Testausführungen von Nicht-Testausführungen zu unterscheiden, wenn das Feld ausgefüllt ist.

Bevor Sie eine Abfrage erstellen, verwenden Sie die Adobe Journey OptimizerSchemareferenz, um den aktuellen Feldpfad, den aktuellen Datentyp und die aktuelle Beschreibung für das AJO-Nachrichten-Feedback-Ereignisschema zu bestätigen.

Interpretieren Sie ausgefüllte Werte wie folgt:

Wert
Interpretation
true
Die Nachricht war Teil einer Testausführung.
false
Die Nachricht war nicht Teil einer Testausführung.
NULL oder fehlt
Für das Feld wurde kein Wert aufgezeichnet. Behandeln Sie dies als unbekannt, sofern keine kanal- und zeitspezifische Zuordnung validiert wurde.

Konvertieren Sie NULL nicht automatisch in false und gehen Sie nicht davon aus, dass jeder Nullwert eine Produktionsausführung darstellt. Wenn eine Reporting-Implementierung validiert hat, dass Nullwerte Nicht-Test-Datensätze für einen bestimmten Kanal oder historischen Zeitraum darstellen, wenden Sie diese Zuordnung in einer nachgelagerten Reporting-Ansicht an und dokumentieren Sie die Regel explizit.

Einige historische oder kanalspezifische Einträge werden möglicherweise nicht in jedes Nachrichtenkontextfeld eingefügt. Sie sollten daher die Feldverfügbarkeit nach Kanal testen und NULL-Werte beibehalten, anstatt sie als leere Zeichenfolgen oder abgeleitete Werte zu behandeln.

Führen Sie diese Abfrage nur aus, nachdem Sie den isTestExecution Pfad in der Schemareferenz Adobe Journey Optimizer bestätigt haben:

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;

Diese Abfrage gruppiert die Nachrichten-Feedback-Datensätze nach Testausführungsindikator und Versand-Feedback-Status. Das Ergebnis behält null oder fehlende isTestExecution bei, sodass Datensätze ohne aufgezeichneten Testausführungswert separat überprüft werden können.

Diese Abfrage zeigt die Anzahl unterschiedlicher E-Mail-Feedback-Status (gesendet, gebounct usw.) für eine bestimmte Nachricht:

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;

Diese Abfrage zeigt die Aufschlüsselung der Anzahl unterschiedlicher E-Mail-Feedback-Status (gesendet, gebounct etc.) nach Nachricht für eine bestimmte Journey:

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;

Auf aggregierter Ebene Bericht auf Domain-Ebene (sortiert nach Top-Domains): Domain-Name, gesendete Nachricht, Bounces

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;

E-Mail-Sendungen täglich:

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;

Finden Sie heraus, ob eine bestimmte E-Mail-ID eine E-Mail erhalten hat oder nicht. Wenn nicht, was war dann der Fehler, die Bounce-Kategorie oder der Code:

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

Finden Sie die Liste aller individuellen E-Mail-IDs, die in den letzten x Stunden/Tagen einen bestimmten Fehler, eine Bounce-Kategorie oder einen Code hatten oder mit einer bestimmten Nachrichtenübermittlung verbunden waren:

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

Hard-Bounce-Rate auf aggregierter Ebene:

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' )

Ständige Fehler, gruppiert nach Bounce-Code:

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
In einigen Journeys ist die messageID möglicherweise nicht für jeden einzelnen Versand eindeutig. Wenn eine Journey dieselbe Aktion erneut an dasselbe Profil sendet, kann dieselbe messageID wiederverwendet werden. Um Ereignisse auf individueller Sendungsebene genau zu verfolgen oder zuzuordnen, kombinieren Sie daher die Felder journeyVersionID, journeyActionID und batchInstanceID (für Batch-Journeys) oder identityMap, um eine präzisere Eindeutigkeit zu erzielen.

Identifizieren Sie unter Quarantäne gestellte Adressen nach einem ISP-Ausfall isp-outage-query

Im Falle eines Ausfalls eines Internet Service Providers (ISP) müssen Sie die E-Mail-Adressen identifizieren, die für bestimmte Domains innerhalb eines bestimmten Zeitraums fälschlicherweise als Bounce (unter Quarantäne) eingestuft wurden. Um diese Adressen zu erhalten, verwenden Sie die folgende Abfrage:

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;

Das Datumsformat lautet dabei: YYYY-MM-DD HH:MM:SS.

Sobald Sie diese Adressen identifiziert haben, entfernen Sie sie aus der Unterdrückungsliste von Journey Optimizer. Weitere Informationen.

NOTE
Beachten Sie beim Referenzieren von identityMap im Nachrichten-Feedback-Ereignisdatensatz, dass sie nur die zur Laufzeit verwendete Identität widerspiegelt. Bei Push-Benachrichtigungen würde ein Ereignis des Typs „Senden“ nur auf der ECID basieren, die mit dem zum Senden dieser Benachrichtigung verwendeten Push-Token verknüpft ist, während ein Ereignis des Typs „Ausschluss“ auf einer benutzerdefinierten Identität basieren könnte. Wenn beispielsweise ein Profil ausgeschlossen wurde, weil kein Push-Token gefunden wurde, wird die auf der Journey- oder Aktionskampagnenebene verwendete Identität ausgewählt, um dieses Ereignis zu registrieren. Wenn Sie zusätzliche Namespaces (z. B. benutzerdefinierte IDs) benötigen, verbinden Sie diese Feedback-Einträge mit einem profilbezogenen Datensatz (z. B. des Typs „profile_snapshot“), um die vollständige Identitätsliste abzurufen.

Push-Tracking-Erlebnisereignis-Datensatz push-tracking-experience-event-dataset

Name in der Benutzeroberfläche: AJO Push Tracking Experience Event Dataset

Datensatz für die Aufnahme von Mobile-Tracking-Erlebnisereignissen für Push von Journey Optimizer.

Das zugehörige Schema ist das AJO-Push-Tracking-Erlebnisereignis-Schema.

Abfragebeispiel:

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-Schritt-Ereignis journey-step-event

Interner Name: Journey-Schritt-Ereignisse (Systemdatensatz)

Datensatz für die Aufnahme von Schritt-Ereignissen in der Journey.

Das zugehörige Schema ist das Journey-Schritt-Ereignis-Schema zur Journey Orchestration.

Diese Abfrage zeigt die Aufschlüsselung der Aktionserfolgszahlen nach Aktions-Label für eine bestimmte Journey:

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;

Diese Abfrage zeigt die Aufschlüsselung der eingegebenen Schrittzahlen nach nodeId und nodeLabel für eine bestimmte Journey. nodeId ist hier enthalten, da nodeLabel für verschiedene Journey-Knoten identisch sein kann.

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;

Diese Abfrage ruft ab, welche Knoten (nach nodeID und nodeName) in der Journey mit dem Versand einer Nachricht an ein Profil verknüpft sind. Dazu dienen die Profil-ID und der Ereignisdatensatz des Nachrichten-Feedbacks:

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

Siehe auch einige häufig verwendete Beispiele zum Abfragen von Journey-Schrittereignissen.

Erfahren Sie, wie Sie Fehler bei verworfenen Ereignistypen in journey_step_events beheben.

Entscheidungsfindungs-Ereignisdatensatz ode-decisionevents

Name in der Benutzeroberfläche: ODE DecisionEvents (Systemdatensatz)

Datensatz für die Aufnahme von Angebotsvorschlägen an die Benutzenden.

Das zugehörige Schema ist ODE DecisionEvents.

Diese Abfrage zeigt alle Angebote an, die am Vortag zurückgegeben wurden:

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;

Diese Abfrage zeigt die Anzahl der Angebote, die in den letzten 30 Tagen für eine bestimmte Aktivität/Entscheidung vorgeschlagen wurden, und die damit verbundene Angebotspriorität.

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;

Sekundärer Empfänger-Feedback-Ereignisdatensatz (BCC) bcc-feedback-event-dataset

Name in der Benutzeroberfläche: Ereignisdatensatz mit AJO-Feedback von sekundären Empfangenden (Systemdatensatz). Im Abfrage-Service kann die Datensatztabelle weiterhin den Namen ajo_bcc_feedback_event_dataset haben.

Datensatz für E-Mail-BCC-Nachrichten (sekundäre Empfangende), wenn die BCC-Archivierung aktiviert ist.

Abfrage aller BCC-Nachrichten innerhalb von 2 Tagen (für eine bestimmte Kampagne):

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;

Abfrage mit Feedback-Datensatz, um die Benutzenden anzuzeigen, die nicht (alle Bounces und Unterdrückungen) empfangen haben und die einen BCC-Eintrag für eine bestimmte Nachricht haben:

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

Entitätsdatensatz entity-dataset

Name in der Schnittstelle: ajo entity_dataset (Systemdatensatz)_

Datensatz zum Speichern von Entitätsmetadaten für Nachrichten, die an den Endbenutzer gesendet werden.

Das zugehörige Schema ist das AJO-Entitätsschema.

Mit diesem Datensatz erhalten Sie Zugriff auf von Marketing-Experten definierte Metadaten. So können Sie für bessere Insights bei der Berichterstellung sorgen, wenn Journey Optimizer-Datensätze zur Visualisierung von Berichten in externen Tools exportiert werden. Das wird mithilfe des Attributs „messageID“ erzielt, das bei der Zuordnung verschiedener Datensätze wie dem Nachrichten-Feedback-Datensatz und Erlebnisereignis-Tracking-Datensätzen hilft, sodass Details zu einem Nachrichtenversand vom Versand bis zum Tracking auf Profilebene verfügbar werden.

Wichtige Hinweise

  • Ein Eintrag für eine Nachricht wird erst nach der Veröffentlichung von Journey oder Kampagne erstellt.

  • Sie können den Eintrag 30 Minuten nach der Veröffentlichung der Kampagne/Journey sehen.

NOTE
Um dafür zu sorgen, dass auch in Zukunft die Kompatibilität gesichert ist, gibt es derzeit im Entitätsdatensatz zwei Einträge für jede Nachrichtenveröffentlichung. Dies wirkt sich nicht auf Ihre Fähigkeit aus, bei Bedarf Join-Abfragen für Datensätze zu verwenden, um die gewünschten Informationen abzurufen.

Wenn Sie die von einer bestimmten Journey gesendeten E-Mails in Ihren Berichten nach der Aktion sortieren möchten, die sie gesendet hat, können Sie den Nachrichten-Feedback-Datensatz mit dem Entitäts-Datensatz verbinden. Die zu verwendenden Felder sind _experience.decisioning.propositions.scopeDetails.correlationID und _id field in entity dataset.

Mit der folgenden Abfrage können Sie die zugehörige Nachrichtenvorlage für eine bestimmte Kampagne abrufen:

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

Mit der folgenden Abfrage können Sie die Journey-Details und den E-Mail-Betreff abrufen, die mit allen Feedback-Ereignissen verbunden sind:

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

Sie können Journey-Schrittereignisse, Nachrichten-Feedback und Tracking-Datensätze zuordnen, um die Statistiken für ein bestimmtes Profil zu erhalten:

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.
  • 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: 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