Adobe Data Distiller Guide
  • Adobe Data Distiller Guide
  • What is Data Distiller?
  • UNIT 1: GETTING STARTED
    • PREP 100: Why was Data Distiller Built?
    • PREP 200: Data Distiller Use Case & Capability Matrix Guide
    • PREP 300: Adobe Experience Platform & Data Distiller Primers
    • PREP 301: Leveraging Data Loops for Real-Time Personalization
    • PREP 302: Key Topics Overview: Architecture, MDM, Personas
    • PREP 303: What is Data Distiller Business Intelligence?
    • PREP 304: The Human Element in Customer Experience Management
    • PREP 305: Driving Transformation in Customer Experience: Leadership Lessons Inspired by Lee Iacocca
    • PREP 400: DBVisualizer SQL Editor Setup for Data Distiller
  • PREP 500: Ingesting CSV Data into Adobe Experience Platform
  • PREP 501: Ingesting JSON Test Data into Adobe Experience Platform
  • PREP 600: Rules vs. AI with Data Distiller: When to Apply, When to Rely, Let ROI Decide
  • Prep 601: Breaking Down B2B Data Silos: Transform Marketing, Sales & Customer Success into a Revenue
  • Unit 2: DATA DISTILLER DATA EXPLORATION
    • EXPLORE 100: Data Lake Overview
    • EXPLORE 101: Exploring Ingested Batches in a Dataset with Data Distiller
    • EXPLORE 200: Exploring Behavioral Data with Data Distiller - A Case Study with Adobe Analytics Data
    • EXPLORE 201: Exploring Web Analytics Data with Data Distiller
    • EXPLORE 202: Exploring Product Analytics with Data Distiller
    • EXPLORE 300: Exploring Adobe Journey Optimizer System Datasets with Data Distiller
    • EXPLORE 400: Exploring Offer Decisioning Datasets with Data Distiller
    • EXPLORE 500: Incremental Data Extraction with Data Distiller Cursors
  • UNIT 3: DATA DISTILLER ETL (EXTRACT, TRANSFORM, LOAD)
    • ETL 200: Chaining of Data Distiller Jobs
    • ETL 300: Incremental Processing Using Checkpoint Tables in Data Distiller
    • [DRAFT]ETL 400: Attribute-Level Change Detection in Profile Snapshot Data
  • UNIT 4: DATA DISTILLER DATA ENRICHMENT
    • ENRICH 100: Real-Time Customer Profile Overview
    • ENRICH 101: Behavior-Based Personalization with Data Distiller: A Movie Genre Case Study
    • ENRICH 200: Decile-Based Audiences with Data Distiller
    • ENRICH 300: Recency, Frequency, Monetary (RFM) Modeling for Personalization with Data Distiller
    • ENRICH 400: Net Promoter Scores (NPS) for Enhanced Customer Satisfaction with Data Distiller
  • Unit 5: DATA DISTILLER IDENTITY RESOLUTION
    • IDR 100: Identity Graph Overview
    • IDR 200: Extracting Identity Graph from Profile Attribute Snapshot Data with Data Distiller
    • IDR 300: Understanding and Mitigating Profile Collapse in Identity Resolution with Data Distiller
    • IDR 301: Using Levenshtein Distance for Fuzzy Matching in Identity Resolution with Data Distiller
    • IDR 302: Algorithmic Approaches to B2B Contacts - Unifying and Standardizing Across Sales Orgs
  • Unit 6: DATA DISTILLER AUDIENCES
    • DDA 100: Audiences Overview
    • DDA 200: Build Data Distiller Audiences on Data Lake Using SQL
    • DDA 300: Audience Overlaps with Data Distiller
  • Unit 7: DATA DISTILLER BUSINESS INTELLIGENCE
    • BI 100: Data Distiller Business Intelligence: A Complete Feature Overview
    • BI 200: Create Your First Data Model in the Data Distiller Warehouse for Dashboarding
    • BI 300: Dashboard Authoring with Data Distiller Query Pro Mode
    • BI 400: Subscription Analytics for Growth-Focused Products using Data Distiller
    • BI 500: Optimizing Omnichannel Marketing Spend Using Marginal Return Analysis
  • Unit 8: DATA DISTILLER STATISTICS & MACHINE LEARNING
    • STATSML 100: Python & JupyterLab Setup for Data Distiller
    • STATSML 101: Learn Basic Python Online
    • STATSML 200: Unlock Dataset Metadata Insights via Adobe Experience Platform APIs and Python
    • STATSML 201: Securing Data Distiller Access with Robust IP Whitelisting
    • STATSML 300: AI & Machine Learning: Basic Concepts for Data Distiller Users
    • STATSML 301: A Concept Course on Language Models
    • STATSML 302: A Concept Course on Feature Engineering Techniques for Machine Learning
    • STATSML 400: Data Distiller Basic Statistics Functions
    • STATSML 500: Generative SQL with Microsoft GitHub Copilot, Visual Studio Code and Data Distiller
    • STATSML 600: Data Distiller Advanced Statistics & Machine Learning Models
    • STATSML 601: Building a Period-to-Period Customer Retention Model Using Logistics Regression
    • STATSML 602: Techniques for Bot Detection in Data Distiller
    • STATSML 603: Predicting Customer Conversion Scores Using Random Forest in Data Distiller
    • STATSML 604: Car Loan Propensity Prediction using Logistic Regression
    • STATSML 700: Sentiment-Aware Product Review Search with Retrieval Augmented Generation (RAG)
    • STATSML 800: Turbocharging Insights with Data Distiller: A Hypercube Approach to Big Data Analytics
  • UNIT 9: DATA DISTILLER ACTIVATION & DATA EXPORT
    • ACT 100: Dataset Activation with Data Distiller
    • ACT 200: Dataset Activation: Anonymization, Masking & Differential Privacy Techniques
    • ACT 300: Functions and Techniques for Handling Sensitive Data with Data Distiller
    • ACT 400: AES Data Encryption & Decryption with Data Distiller
  • UNIT 9: DATA DISTILLER FUNCTIONS & EXTENSIONS
    • FUNC 300: Privacy Functions in Data Distiller
    • FUNC 400: Statistics Functions in Data Distiller
    • FUNC 500: Lambda Functions in Data Distiller: Exploring Similarity Joins
    • FUNC 600: Advanced Statistics & Machine Learning Functions
  • About the Authors
Powered by GitBook
On this page
  • Prerequisites
  • Overview
  • How the Datasets Work Together in Adobe Journey Optimizer (AJO)
  • Bringing It All Together: End-to-End Experience Monitoring in AJO
  • How to Use the Datasets Together:
  • Schema Dictionary for AJO System Datasets
  • AJO Entity Record Schema Dataset
  • Journey Step Event Dataset
  • AJO Message Feedback Datasets
  • AJO Email BCC Feedback Event Dataset
  • AJO Email Tracking Experience Event Dataset
  • AJO Push Tracking Experience Event Dataset
  • Push
  • SMS
  • Offer Decisions Events Dataset
  • Relationship Between ODE and AJO Entity Dataset:
  • Why Track All Proposition Offers and the Algorithm Used?
  • Sample Queries
  1. Unit 2: DATA DISTILLER DATA EXPLORATION

EXPLORE 300: Exploring Adobe Journey Optimizer System Datasets with Data Distiller

Unleashing Insights from Adobe Journey Optimizer Datasets with Data Distiller

Last updated 7 months ago

Prerequisites

You need a basic understanding of how to write nested queries and working with nested data.

You should get familiar with navigating around with web data:

Overview

To generate a holistic view of how different datasets contribute to serving an experience via Adobe Journey Optimizer (AJO), I will now walk through each dataset in the correct order of importance and process flow. These datasets include:

  1. AJO Entity Record Schema Dataset with the dataset name: ajo_event_dataset

  2. Journey Step Events Dataset with the dataset name:journey_step_events

  3. AJO Message Feedback Events Dataset with the dataset namee: ajo_message_feedback_event_dataset

  4. BCC Feedback Events Dataset with the dataset name: ajo_bcc_feedback_event_dataset

  5. AJO Email & Push Tracking Datasets with the dataset names: ajo_email_tracking_experience_event_dataset, ajo_push_tracking_experience_event_dataset

  6. Offer Decisioning Events Dataset with the dataset name: ode_decisionevents_{key specific to your environment}.

The chapter contains additional 4 Offer Decisioning datasets that give you deeper information about the offers and the decisioning logic.

How the Datasets Work Together in Adobe Journey Optimizer (AJO)

In Adobe Journey Optimizer, each dataset serves a specific role in orchestrating, delivering, and optimizing customer experiences. When combined, these datasets provide a comprehensive understanding of how customer journeys are executed, how messages are delivered and engaged with, and how offers are decided and optimized.

Here’s how each dataset is related, presented in the correct order of importance and process flow:

1. AJO Entity Record Schema Dataset: The Core Foundation

  • Purpose: The AJO Entity Record Schema Dataset is the central dataset that logs and tracks the metadata for all journeys. It captures crucial information about the campaign, messages, journey actions, and message triggers. It forms the basis for connecting all other datasets in the system.

  • Role in the Process:

    • Journey Orchestration: This dataset logs the entire structure of the journey, including message triggers, campaign actions, journey steps, and decisions.

    • It includes identifiers like Message IDs, Campaign IDs, and Journey Action IDs, which link to the Message Feedback, Tracking, and ODE datasets.

    • Without this dataset, none of the other datasets would have the necessary context to operate. It establishes the backbone of the journey and ensures that all steps are executed as per the designed journey.

2. Journey Step Events Dataset: Tracking Journey Progression

  • Purpose: The Journey Step Events Dataset provides detailed insights into each step within the journey. It logs step-level events, including step completions, errors, timeouts, and transitions. This dataset ensures visibility into how users progress through the journey and helps diagnose any issues.

  • Role in the Process:

    • Step-Level Monitoring: This dataset records each step a user takes, whether that step is completed successfully, if there are errors, or if a journey action times out.

    • Action Execution: It tracks the execution of actions (such as sending an email or showing an offer) and logs the results of those actions.

    • Error Handling: Any errors encountered during journey execution are logged, helping you resolve issues at specific steps.

    • Relation to Other Datasets: The Journey Step Events Dataset links to the AJO Entity Record Schema and the ODE Dataset to ensure that each decision or action triggered within the journey is properly tracked and logged.

3. AJO Message Feedback Events Dataset: Delivery Tracking

  • Purpose: The Message Feedback Events Dataset focuses on delivery feedback for emails, SMS, and push notifications. It logs the delivery status, including whether the message was delivered, bounced, or required retries.

  • Role in the Process:

    • Delivery Status Monitoring: After a message is triggered by a journey step (as logged in the Journey Step Events Dataset), the Message Feedback Events Dataset tracks whether the message was delivered successfully or encountered a failure.

    • Bounce & Failure Tracking: It logs details such as bounce reasons, invalid emails, or retries, providing insight into delivery issues and helping you troubleshoot any problems with sending.

    • Relation to Other Datasets: The Message Feedback Dataset ties back to the AJO Entity Record Schema via the Message ID, ensuring that the status of every message triggered by the journey is accounted for.

4. BCC Feedback Events Dataset: Tracking Secondary Recipients

  • Purpose: The BCC Feedback Events Dataset tracks the delivery status of emails sent to BCC (Blind Carbon Copy) or CC recipients. This dataset is important for ensuring compliance and tracking delivery to these secondary recipients.

  • Role in the Process:

    • Secondary Delivery Monitoring: For messages sent to BCC or CC recipients (often for compliance or archiving purposes), this dataset logs the delivery status and captures whether these secondary emails were successfully delivered or excluded.

    • Exclusion Handling: It tracks exclusions due to compliance rules or typology filters and provides insight into why certain emails were excluded.

    • Relation to Other Datasets: Like the Message Feedback Events Dataset, it ties back to the AJO Entity Record Schema to track secondary recipients, ensuring full coverage of all recipients in the system.

5. AJO Email & Push Tracking Datasets: User Engagement

  • Purpose: The Tracking Datasets for email and push notifications log user engagement with delivered messages, including metrics such as opens, clicks, and unsubscribes. This dataset helps measure the effectiveness of the messages after they are successfully delivered.

  • Role in the Process:

    • Engagement Monitoring: Once a message is delivered (tracked via the Message Feedback Dataset), the Tracking Datasets log how users interact with that message—whether they open it, click on a link, or unsubscribe.

    • Performance Reporting: These datasets provide insights into how well messages perform in terms of user engagement and can be used to optimize future campaigns based on click-through rates and engagement metrics.

    • Relation to Other Datasets: The Tracking Datasets link back to the Message Feedback Dataset and the AJO Entity Record Schema via the Message ID, ensuring that you have a full picture of the message’s journey from delivery to engagement.

6. Offer Decisioning Events Dataset: Optimizing Decision-Making

  • Purpose: The Offer Decisioning Events Dataset tracks decision points within the journey where offers are presented to users. It logs which offers were shown, how users interacted with them (e.g., clicks or conversions). It logs decisions made during the journey based on rules, algorithms, or fallback options.

  • Role in the Process:

    • Decision Tracking: When a decision point in the journey is reached, this dataset logs which offer was selected and whether the user engaged with it.

    • Optimization of Decision Strategies: By tracking offer performance, you can analyze which offers perform best, optimize decision strategies, and refine the algorithms used to present offers.

    • Relation to Other Datasets: The Offer Decisioning Events Dataset connects with the Journey Step Events Dataset to log when a decision point was triggered and which offer was selected. It is also tied to the AJO Entity Record Schema to ensure that decisions made within the journey are fully tracked.

Bringing It All Together: End-to-End Experience Monitoring in AJO

  1. Journey Setup and Execution (AJO Entity Record Schema Dataset & Journey Step Events Dataset):

    • The AJO Entity Record Schema Dataset forms the foundation for the entire journey, logging messages, actions, and decisions taken within the journey.

    • The Journey Step Events Dataset tracks each step in the journey, ensuring that actions like sending a message or making a decision are logged and monitored for performance and errors.

  2. Message Delivery (Message Feedback Events Dataset & BCC Feedback Events Dataset):

    • After a message is triggered in the journey, the Message Feedback Events Dataset tracks whether the message was successfully delivered or bounced.

    • The BCC Feedback Events Dataset tracks the status of BCC and CC recipients, ensuring that secondary recipients are handled properly and that compliance requirements are met.

  3. User Engagement (AJO Email & Push Tracking Datasets):

    • Once a message is delivered, the Tracking Datasets capture user engagement, including opens, clicks, and unsubscribes. This data provides insights into the effectiveness of messages in driving user behavior.

  4. Offer Decisioning and Optimization (Offer Decisioning Events Dataset):

    • Throughout the journey, decisions are made regarding which offers to present to users. The Offer Decisioning Events Dataset logs these decisions, tracks offer engagement, and helps you optimize your decision-making strategies.

How to Use the Datasets Together:

  • Monitor Journey Progress: Use the AJO Entity Record Schema Dataset and Journey Step Events Dataset to monitor the overall progress and structure of the customer journey. These datasets help you track which steps were taken and whether any issues occurred.

  • Ensure Message Delivery: Leverage the Message Feedback Events Dataset and BCC Feedback Events Dataset to track whether messages triggered by the journey were successfully delivered, and identify any bounces or failures.

  • Analyze Engagement: After messages are delivered, use the Tracking Datasets to analyze user engagement and optimize future campaigns based on how users interacted with the message.

  • Optimize Offer Decisions: Use the Offer Decisioning Events Dataset to analyze which offers were presented to users

Schema Dictionary for AJO System Datasets

AJO Entity Record Schema Dataset

First, execute the following query in the Data Distiller Query Pro Mode Editor:

SELECT 
   table_name, 
   column_name, 
   data_type 
FROM 
   information_schema.columns
where table_name = 'ajo_entity_dataset'

The result will be:

Now execute:

SELECT to_json(_experience) FROM ajo_entity_dataset LIMIT 500;

The result will be:

The AJO Entity Record Schema is designed to store metadata related to messages sent to end-users within Adobe Journey Optimizer (AJO). It captures essential data related to campaigns, journeys, channels (email, SMS, push notifications), and experiments. This schema is integral for tracking and analyzing campaign performance, engagement, conversions, and message delivery across various channels. Think of this dataset acting as timestamped lookup dataset for all the otyher datasets that contain tracking and feedback information on the messages that was sent out. The lookup data is timestamp as the metadata can change as a function of time with users making changes to the various configurations.

You cannot use event-specific identifiers like _id and timestamp, as they are tied to the logging of individual events. Therefore, your best option is to link the message IDs together. The messageID attribute in every record in this dataset is absolutely critical because it helps to stitch various datasets such as Message Feedback Dataset and Experience Event Tracking Datasets to get details of a message delivery from sending to tracking at a profile level. An entry for a message is created only after journey or campaign is published. You may see the entry/update 30 minutes after the publication of the campaign/journey.

Since the AJO Entity Record Schema is the central lookup for all the other datasets, this field in the dataset ajo_entity_dataset

_experience.customerJourneyManagement.entities.channelDetails.messageID
Name of Dataset
Field to Join On

All Tracking & Feedback Datasets

_experience.customerJourneyManagement.messageExecution.messageID

Journey Step Events Dataset

_experience.journeyOrchestration.stepEvents.actionID

Offer Decisioning Events Dataset

_experience.decisioning.propositions.items.scopeDetails.placement.id

Here are the key fields that you need to be aware of:

Field Name
Field Path
Description
Use Case

AJO Campaign ID

_experience.customerJourneyManagement.entities.campaign.campaignID

Unique identifier for the campaign that triggered the message execution.

Used to track campaign-level performance and engagement.

Campaign Action ID

_experience.customerJourneyManagement.entities.campaign.campaignActionID

Action ID of the campaign that triggered this message execution.

Used to trace specific actions within campaigns and optimize messaging strategies.

Campaign Version ID

_experience.customerJourneyManagement.entities.campaign.campaignVersionID

Immutable version of the campaign, representing a specific version after republishing.

Supports A/B testing and performance tracking across different versions of campaigns.

Campaign Name

_experience.customerJourneyManagement.entities.campaign.name

Name of the campaign that sent the message.

Useful for campaign reporting and analyzing which campaigns perform best.

Channel/Message Entity

_experience.customerJourneyManagement.entities.channelDetails.channel

Defines the experience channel for the message (email, push, etc.).

Used to differentiate between messages sent across different channels.

Email Subject

_experience.customerJourneyManagement.entities.channelDetails.email.subject

Subject of the email message (non-personalized).

Useful for tracking subject line performance and testing variants.

Message ID

_experience.customerJourneyManagement.entities.channelDetails.messageID

Unique ID representing the message sent to the end user.

Allows message-level tracking for performance and engagement reporting.

Message Publication ID

_experience.customerJourneyManagement.entities.channelDetails.messagePublicationID

ID representing a frozen/published version of the message.

Supports message version control and tracking over time.

Push Title

_experience.customerJourneyManagement.entities.channelDetails.push.title

Title of the push notification (non-personalized).

Used for performance reporting on push notifications, especially when testing different push titles.

Experiment ID

_experience.customerJourneyManagement.entities.experiment.experimentId

ID used to track a specific experiment or A/B test.

Helps analyze which message variants perform better during A/B testing.

Journey Action ID

_experience.customerJourneyManagement.entities.journey.journeyActionID

Represents the action within a journey that triggered the message.

Important for journey-based reporting and understanding which actions drive the most engagement.

Journey Name

_experience.customerJourneyManagement.entities.journey.journeyName

Name of the journey that the message is part of.

Helps in journey-level reporting and identifying high-performing journeys.

Journey Node Name

_experience.customerJourneyManagement.entities.journey.journeyNodeName

Represents the name of the specific node in the journey canvas where the message was triggered.

Supports granular reporting within journeys, allowing insights into specific journey nodes.

Journey Version ID

_experience.customerJourneyManagement.entities.journey.journeyVersionID

Frozen version of the journey for tracking historical journey changes.

Useful for comparing the performance of different journey versions.

Treatment Name

_experience.customerJourneyManagement.entities.experiment.treatmentName

Name of the treatment or variant in an A/B test.

Supports A/B testing analysis by tracking the performance of different variants.

Message Publication Time

_experience.customerJourneyManagement.entities.channelDetails.messagePublishedAt

The timestamp of when the message was published.

Important for time-based reporting and determining the impact of send times on engagement.

Base Message ID

_experience.customerJourneyManagement.entities.channelDetails.baseMessageID

Represents the base message ID from which the published message is derived.

Used to track the origin of derived messages in case of cloning or re-publishing.

Tags

_experience.customerJourneyManagement.entities.tags.values

Array of tags corresponding to the message, journey, or campaign.

Useful for categorization and filtering in reporting based on campaign attributes or tags.

Namespace

_experience.customerJourneyManagement.emailChannelContext.namespace

Namespace associated with the email address in consent preferences.

Tracks preferences and compliance based on email namespaces.

Outbound IP

_experience.customerJourneyManagement.emailChannelContext.outboundIP

Outbound IP address used to deliver the message.

Helps diagnose delivery issues by tracking the outbound IP address.

Landing Page URL

_experience.customerJourneyManagement.messageInteraction.landingpage.landingPageURL

URL of the landing page associated with the message interaction.

Tracks the effectiveness of landing pages associated with message interactions.

Open Count

_experience.customerJourneyManagement.messageInteraction.openCount

Count of times the email was opened by the recipient.

Tracks user engagement with the message by counting the number of opens.

Click Count

_experience.customerJourneyManagement.messageInteraction.clickCount

Count of times links within the message were clicked.

Measures click-through rates by tracking link clicks within the message.

Offer Name

_experience.customerJourneyManagement.messageInteraction.offers.offerName

Name of the offer presented in the email or message.

Tracks engagement with specific offers included in the message.

Delivery Status

_experience.customerJourneyManagement.messageInteraction.deliveryStatus

Indicates the delivery status (delivered, failed).

Tracks the delivery status to analyze delivery success or failure rates.

Bounce Type

_experience.customerJourneyManagement.messageInteraction.bounceType

Type of email bounce (soft, hard).

Helps understand the reason for delivery failure through bounce type analysis.

Interaction Type

_experience.customerJourneyManagement.messageInteraction.interactionType

Type of user interaction with the message (open, click, etc.).

Tracks the type of interaction the user had with the message (e.g., clicks, opens).

Tracker URL Label

_experience.customerJourneyManagement.messageInteraction.label

Human-readable label for the URL or link in the message.

Provides insights into which specific URLs or links drove engagement.

Proposition ID

_experience.customerJourneyManagement.messageInteraction.offers.propositionID

ID of the proposition or offer made to the user in the message.

Tracks the effectiveness of specific propositions or offers.

Interaction Outcome

_experience.decisioning.propositions.items.interactionOutcome

Tracks the outcome of the interaction (purchase, sign-up, etc.).

Helps measure the outcome of message interactions and conversions.

Is Test Execution

_experience.customerJourneyManagement.messageProfile.isTestExecution

Indicates whether the message was sent as a test execution.

Filters test messages out of reporting to avoid skewing performance data.

Is Send Time Optimized

_experience.customerJourneyManagement.messageProfile.isSendTimeOptimized

Indicates whether send-time optimization was applied to the message.

Tracks the effectiveness of send-time optimization strategies.

Identity Map

identityMap.additionalProperties.items.id

Unique identifier for the user’s identity.

Links the message to the user’s identity for personalized insights.

Identity Type

identityMap.additionalProperties.items.type

Type of identity (email, phone, etc.).

Identifies the type of identity associated with the user.

Profile ID

_experience.customerJourneyManagement.messageInteraction.profileID

Unique identifier for the user profile associated with the interaction.

Links the interaction to a specific user profile for personalized tracking.

Primary

identityMap.additionalProperties.items.primary

Indicates whether this is the primary identity for the user.

Identifies whether the tracked identity is the user's primary identifier.

Timestamp

timestamp

Timestamp of when the message interaction occurred.

Helps track when specific interactions with the message occurred.

Journey Step Event Dataset

You should be able to execute the following code:

SELECT * FROM journey_step_events LIMIT 500;

The Journey Step Event Dataset in Adobe Journey Optimizer captures and logs all journey step experience events as part of Journey Orchestration. These events are essential for reporting and analytics in systems like Customer Journey Analytics. The dataset helps track each step within a journey and its performance, providing insights into how users progress through their customer journey, how actions are executed, and what the results of those actions are. This dataset is especially useful for understanding step-level events within journeys, such as errors, transitions, and completions.

Key Use Cases for the Journey Step Event Dataset:

  1. Journey Reporting and Analysis: Provides visibility into the execution and performance of individual steps within journeys, such as transitions between steps, completion rates, and timeouts.

  2. Error Tracking and Resolution: Logs errors and failure codes associated with journey steps, helping diagnose and resolve issues that affect customer experience.

  3. Journey Optimization: Tracks how users move through the journey, allowing marketers to optimize step transitions, messaging timing, and action results for better engagement.

  4. Profile Segmentation and Interaction: Captures profile identifiers and segment qualifications, which are essential for targeting and personalizing the user journey.

Here are the key fields and the unique ones are in orange:

Field Name
Field Path (Dot Notation)
Description
Use Case for Reporting and Analysis

_id

_experience.journeyOrchestration.stepEvents.stepID

Unique identifier for each journey step event.

Used for tracking individual steps within journeys.

Journey ID

_experience.journeyOrchestration.journey.ID

Identifier for the overall journey.

Useful for tracking the performance of specific journeys.

Journey Name

_experience.journeyOrchestration.journey.name

Name of the journey.

Provides context about which journey is being executed and reported.

Version ID

_experience.journeyOrchestration.journey.versionID

Version identifier of the journey.

Allows tracking of different versions of the same journey for A/B testing or optimization.

Step ID

_experience.journeyOrchestration.stepEvents.stepID

Unique identifier for the step within the journey.

Important for understanding which steps users are progressing through or encountering issues with.

Step Name

_experience.journeyOrchestration.stepEvents.stepName

Name of the step as defined in the Journey Canvas.

Used to identify the specific step for reporting and debugging.

Step Status

_experience.journeyOrchestration.stepEvents.stepStatus

Current status of the step (e.g., error, completed, timed out).

Helps in analyzing step outcomes and identifying bottlenecks in the journey.

Processing Time

_experience.journeyOrchestration.stepEvents.processingTime

Time taken to process the step in milliseconds.

Useful for optimizing journey performance by tracking how long each step takes to complete.

Profile ID

_experience.journeyOrchestration.stepEvents.profileID

Identifier for the profile involved in the journey.

Key for reporting on the profile-level engagement and personalization within the journey.

Segment Qualification Status

_experience.journeyOrchestration.stepEvents.segmentQualificationStatus

Indicates whether the profile is qualified for the segment (e.g., in-segment or exited).

Helps in segment-based journey analysis and targeting.

Interaction Type

_experience.journeyOrchestration.stepEvents.interactionType

Type of interaction (e.g., marketing, transactional).

Critical for differentiating between types of interactions and analyzing their effectiveness.

Action Type

_experience.journeyOrchestration.stepEvents.actionType

Type of action triggered (e.g., email, SMS, custom HTTP).

Important for reporting which channel or action was invoked during the journey.

Reaction Action ID

_experience.journeyOrchestration.stepEvents.reactionActionID

Identifier of the action to which the user reacted (e.g., click, open).

Helps track and analyze user interactions with journey actions.

Step Execution Time

_experience.journeyOrchestration.stepEvents.actionExecutionTime

Time taken to execute the action during the step.

Useful for optimizing the execution time of actions within steps.

Event Type

eventType

The primary event type associated with this record.

Used for categorizing the type of event (e.g., error, step completion).

Timestamp

timestamp

The time when the step event occurred.

Important for time-based reporting and understanding journey progress over time.

The Segment ID field is found in the Journey Step Events Dataset.

  • The field path for Segment ID is _experience.journeyOrchestration.stepEvents.segmentExportJob.exportSegmentID.

  • This field captures the segment identifier when a segment export job is triggered during the journey orchestration process.

This is critical for understanding which segment was used during a particular step of the journey, especially in journeys that are triggered by audience segments. This information allows you to link specific segment behaviors with journey events, providing detailed insights into how segment membership affects journey progression and outcomes.

AJO Message Feedback Datasets

Focus: Primarily focused on feedback from ISPs or service providers after an attempt to deliver a message (email, SMS, or push).

First, go ahead and execute this:

SELECT * FROM ajo_message_feedback_event_dataset LIMIT 500;

The AJO Message Feedback Event Dataset is a dataset designed to log and track the delivery of messages within Adobe Journey Optimizer (AJO). It provides comprehensive feedback on message delivery attempts across multiple channels such as email, push notifications, and SMS:

  • Logs detailed delivery information, including bounces, retry attempts, failure reasons, and status (delivered, failed, etc.).

  • Provides diagnostic feedback on why a message succeeded or failed, helping improve deliverability.

  • Focuses on the message journey from the system to the recipient’s inbox or device.

  • Captures feedback regarding message delivery failure (e.g., async bounce, sync bounce, invalid email address).

Key Use Cases:

  • Delivery Status Reporting: Detailed insights into delivery success and failure.

  • Bounce and Retry Analysis: Helps diagnose why messages failed and how many retry attempts were made.

  • Compliance and Monitoring: Tracks outbound IP addresses, bounce types, and reasons for failures.

Aspect
Message Feedback Datasets
Tracking Datasets

Primary Focus

Feedback from delivery systems (bounce, retry, failure reasons)

User engagement after message delivery (opens, clicks, interactions)

Delivery Status

Captures whether the message was delivered or bounced

Does not focus on delivery status; assumes message was delivered

Failure Reasons

Provides detailed reasons for delivery failures (e.g., hard bounce)

Not applicable

Interaction Data

No engagement data; focused only on delivery

Captures user interactions such as opens, clicks, and conversions

Bounce and Retry Analysis

Provides insights into delivery retries and reasons for failures

Not applicable

Unsubscribe Tracking

Does not track unsubscription events

Tracks when users unsubscribe from future communications

Message Engagement

No tracking of engagement

Logs user interactions with message content and calls-to-action

Use Case

Used to improve deliverability, reduce bounces, and troubleshoot issues

Used to optimize content based on engagement and user behavior

Here are the fields that are most critical here. Note that the unique fields are in orange:

Field Name
Field Path (Dot Notation)
Description
Use Case for Reporting and Analysis

message_id

_experience.customerJourneyManagement.messageExecution.messageID

Unique identifier for the message.

Essential for tracking individual messages for performance and issue diagnosis.

Address

_experience.customerJourneyManagement.emailChannelContext.address

The email address or phone number to which the message was sent.

Used to identify the recipient and track message delivery for personalized reporting.

IP Address

_experience.customerJourneyManagement.emailChannelContext.outboundIP

Outbound IP address used for message delivery.

Helps in monitoring compliance and diagnosing deliverability issues based on IP reputation.

Delivery Status

_experience.customerJourneyManagement.messageDeliveryfeedback.feedbackStatus

Status of the message delivery attempt (e.g., delivered, failed, pending).

Key for understanding overall delivery performance and diagnosing issues with undelivered messages.

Failure Category

_experience.customerJourneyManagement.messageDeliveryfeedback.messageFailure.category

Classifies whether the failure was a sync or async bounce (email-specific).

Useful for categorizing bounce types and diagnosing whether failures were temporary or permanent.

Failure Reason

_experience.customerJourneyManagement.messageDeliveryfeedback.messageFailure.reason

Provides the detailed reason for the failure (e.g., invalid email, mailbox full).

Important for identifying common delivery issues and improving deliverability in future campaigns.

Retry Count

_experience.customerJourneyManagement.messageDeliveryfeedback.retryCount

Number of retry attempts before success or permanent failure.

Helps in analyzing retry behavior and determining the efficiency of retry policies in case of failed deliveries.

Campaign ID

_experience.customerJourneyManagement.messageExecution.campaignID

Unique ID of the campaign that triggered the message.

Critical for linking the message back to its originating campaign for performance comparison and reporting.

Journey Action ID

_experience.customerJourneyManagement.messageExecution.journeyActionID

The action in the journey that triggered the message.

Tracks which journey actions led to message delivery, useful for journey-based reporting and optimization.

Message Type

_experience.customerJourneyManagement.messageExecution.messageType

Type of the message (e.g., transactional, marketing).

Enables segmentation and reporting based on message type for targeted performance analysis.

Is Send Time Optimized

_experience.customerJourneyManagement.messageProfile.isSendTimeOptimized

Indicates whether the message was optimized for the best send time.

Key for measuring the effectiveness of send-time optimization strategies in improving delivery rates.

Is Test Execution

_experience.customerJourneyManagement.messageProfile.isTestExecution

Indicates whether the message was part of a test execution.

Helps to filter test messages from production messages to avoid skewing performance data.

Offer ID

_experience.customerJourneyManagement.messageDeliveryfeedback.offers.offerID

Unique identifier for the offer presented in the message.

Used to track the success of specific offers by analyzing engagement and conversion rates.

Proposition Time

_experience.customerJourneyManagement.messageDeliveryfeedback.offers.propositionTime

Time when the offer proposition was generated.

Useful for analyzing the timing of offers and how it affects engagement or conversions.

Interaction Outcome

_experience.decisioning.propositions.items.interactionOutcome

Tracks the result of interactions with the message (e.g., clicked a link, made a purchase).

Measures the success of a message in driving user behavior, critical for ROI and conversion analysis.

Why These Fields Are Important:

  • Delivery Status & Failure Reason: These fields are crucial for understanding message delivery success and failure, as well as diagnosing the reasons behind message bounces and undelivered emails.

  • Retry Count: Helps analyze retry behavior and can reveal patterns in which retry attempts are successful and which are not.

  • Offer & Proposition Data: Offer engagement tracking is essential to understanding how users interact with promotional content, enabling teams to optimize future campaigns based on conversion data.

  • Journey Action ID: This links the message feedback back to the customer journey, providing insights into the effectiveness of different journey steps in triggering user engagement.

  • Interaction Outcome: This field provides key insights into how recipients are interacting with the message, allowing for better tracking of conversion rates and user behavior following message delivery.

AJO Email BCC Feedback Event Dataset

First, execute the query:

SELECT * FROM ajo_bcc_feedback_event_dataset LIMIT 500;

The AJO Email BCC Feedback Event Dataset is specifically designed to track and log the delivery status of BCC (Blind Carbon Copy) emails. It is used primarily for reporting purposes to understand how BCC emails are handled, delivered, and processed, focusing on feedback such as exclusions, failures, and delivery outcomes.

Key Differences Between the BCC Feedback Event Dataset and the Message Feedback Event Dataset

  1. BCC-specific Tracking: The BCC dataset is specifically focused on BCC and CC recipients, whereas the Message Feedback dataset logs information for all messages across email, SMS, and push channels. It includes fields for tracking the original recipient and the secondary recipient type (e.g., BCC, CC, Archival).

  2. Exclusion Data: The BCC dataset contains fields like Exclusion Code and Exclusion Reason, which provide specific reasons for message exclusions, such as compliance or typology rules, which may not be as granular in the Message Feedback dataset.

  3. Field Overlap: Both datasets share fields related to message delivery feedback, such as Delivery Status, Failure Category, Failure Reason, and Offer Information.

  4. Use Case: The BCC Feedback Dataset is more narrowly focused on tracking BCC and CC email handling and is highly specialized for reporting purposes about those secondary recipients. The Message Feedback Dataset offers a broader scope, focusing on all message types across multiple channels (email, SMS, push), providing a wider range of delivery feedback, retries, and engagement.

Here are the key fields. Unique fields are marked in orange

Field Name
Field Path (Dot Notation)
Description
Use Case

message_id

_experience.customerJourneyManagement.messageExecution.messageID

Unique identifier for the message.

Used to track individual messages for performance and issue diagnosis.

Address

_experience.customerJourneyManagement.emailChannelContext.address

Email address of the original recipient.

Tracks the recipient of the message, useful for reporting and personalization.

IP Address

_experience.customerJourneyManagement.emailChannelContext.outboundIP

Outbound IP address used for message delivery.

Helps monitor compliance and deliverability issues.

Delivery Status

_experience.customerJourneyManagement.messageDeliveryfeedback.feedbackStatus

Status of the message delivery (e.g., delivered, failed).

Used to understand delivery performance and detect failures.

Exclude Code

_experience.customerJourneyManagement.messageDeliveryfeedback.messageExclusion.code

Top-level exclusion reason (e.g., typology rule, mandatory parameter missing).

Critical for compliance reporting and understanding why messages were excluded.

Exclude Reason

_experience.customerJourneyManagement.messageDeliveryfeedback.messageExclusion.reason

Detailed exclusion reason (e.g., specific typology rule ID).

Helps in diagnosing specific reasons why a message was excluded.

Failure Category

_experience.customerJourneyManagement.messageDeliveryfeedback.messageFailure.category

Classifies whether the failure was a sync or async bounce.

Provides a detailed breakdown of bounce types for diagnostic purposes.

Failure Reason

_experience.customerJourneyManagement.messageDeliveryfeedback.messageFailure.reason

Specific reason for message failure (e.g., invalid email).

Helps improve deliverability by identifying common failure reasons.

Offer ID

_experience.customerJourneyManagement.messageDeliveryfeedback.offers.offerID

Unique ID of the offer in the message.

Tracks the success of specific offers sent via BCC emails.

Retry Count

_experience.customerJourneyManagement.messageDeliveryfeedback.retryCount

Number of retry attempts made before the message was delivered or failed.

Useful for analyzing retries and delivery success rates.

Original Recipient Address

_experience.customerJourneyManagement.secondaryRecipientDetail.originalRecipientAddress

Address of the original recipient for whom the BCC or CC copy was sent.

Essential for tracking how secondary recipients receive the message.

Secondary Recipient Type

_experience.customerJourneyManagement.secondaryRecipientDetail.type

Type of secondary recipient (e.g., BCC, CC, Archival).

Important for distinguishing between BCC, CC, and archival recipients.

Why These Fields Are Important:

  • Delivery Status & Exclusion Data: These fields are key for understanding delivery performance and exclusion reasons, particularly when messages are filtered out by typology rules or compliance filters.

  • Secondary Recipient Data: Unique to the BCC dataset, fields like Original Recipient Address and Secondary Recipient Type help track how secondary recipients (BCC, CC) are handled, which is critical for understanding email distribution and compliance.

  • Offer & Proposition Data: These fields help measure the effectiveness of offers and promotions sent to BCC recipients, providing insights into engagement and offer performance.

AJO Email Tracking Experience Event Dataset

Focus: Concentrates on user interactions with delivered messages (email, SMS, push notifications)

Just type this query in the Data Distiller Query Pro Mode Editor:

SELECT * FROM ajo_email_tracking_experience_event_dataset LIMIT 500;

The results from above should be a great starting point for you to dig deeper into this dataset. The AJO Email Tracking Experience Event Dataset is designed to capture and log detailed interaction data related to email campaigns sent via the Adobe Journey Optimizer (AJO). This dataset tracks various user actions upon receiving emails, providing essential insights for performance reporting, segmentation, and optimization of email marketing campaigns:

  1. Capturing User Interactions: The dataset records detailed information about how users interact with email campaigns, including:

    • Opens: Whether and how many times a recipient opened an email.

    • Clicks: Whether the recipient clicked on any links within the email.

    • Unsubscribes: Whether the user unsubscribed from future emails.

    • Bounces: Whether the email failed to be delivered (soft or hard bounce).

    • Deliveries: Logs whether the email was successfully delivered.

  2. Email Performance Metrics: The dataset supports analysis of email performance with the following key metrics:

    • Open Rates: The percentage of recipients who opened the email, useful for assessing the effectiveness of subject lines.

    • Click-Through Rates (CTR): The percentage of recipients who clicked on links within the email, indicating the relevance of the content or call-to-action (CTA).

    • Unsubscribe Rates: Tracks how many users opted out of future emails, helping to manage list hygiene and content relevance.

    • Bounce Rates: Identifies emails that were not delivered due to issues like invalid email addresses (hard bounces) or temporary issues (soft bounces).

  3. Link and Offer Tracking: The dataset allows for detailed reporting on link and offer engagement, capturing:

    • Tracker URLs: Tracks the specific URLs that users clicked within the email.

    • Offer Interactions: Logs interactions with special offers or promotions included in the email, helping to measure the effectiveness of discounts, sales, or calls-to-action.

    • Landing Pages: Tracks if users landed on specific pages after clicking links, allowing for detailed conversion analysis.

  4. Campaign and Journey Metadata: The dataset contains critical metadata regarding the email campaigns and journeys, including:

    • Campaign IDs: Unique identifiers for each campaign, enabling tracking of email performance across different campaigns.

    • Journey Action IDs: Tracks which specific journey actions triggered the email, useful for analyzing the effectiveness of different touchpoints.

    • Campaign Versioning: Enables the comparison of different versions of a campaign or journey to identify which versions are more effective.

  5. Segmentation and Personalization: The dataset is enabled for profile integration, meaning it can be used for segmentation and personalized marketing:

    • Segment Creation: Build segments based on user behavior, such as frequent openers, non-clickers, or users who unsubscribed.

    • Personalization Insights: Analyze how different audience segments interact with emails, helping to tailor future campaigns for improved engagement.

  6. Detailed Reporting for Compliance and Preference Management: The dataset helps track consent and compliance-related interactions, such as:

    • Email Preferences: Tracks user consent and opt-in preferences (e.g., GDPR compliance).

    • Unsubscribes: Provides information about users who opted out of future communications, ensuring adherence to privacy regulations.

  7. A/B Testing and Optimization: The dataset supports A/B testing by tracking different email variants (e.g., subject lines, content, offers), allowing you to:

    • Test different variants: Measure how different content versions, send times, or calls-to-action perform to optimize future emails.

    • Send Time Optimization: Track whether send-time optimization strategies were applied, helping you to analyze the performance impact of different send times.

Reporting Use Cases:

  • Performance Monitoring: Gain insight into how well email campaigns perform based on metrics such as opens, clicks, and conversions.

  • Engagement Insights: Analyze how recipients interact with emails, including the most clicked links, offers, and CTAs.

  • Conversion Tracking: Measure how well emails drive conversions, such as sales, sign-ups, or engagement with landing pages.

  • A/B Testing: Compare the performance of different email versions to identify the most effective strategies.

  • Deliverability and Bounce Analysis: Understand which emails failed to deliver and why, to optimize delivery rates and maintain list hygiene.

  • Unsubscribe Management: Track and reduce unsubscribe rates by improving content relevance and targeting strategies.

Here are the fields that you will need. Fields marked in orange are unique to SMS notifications:

Field Name
Full Path
Description
Use Case

emailAddress

_experience.customerJourneyManagement.emailChannelContext.address

The email address of the recipient.

Key for identifying recipients of emails; useful for segmentation and reporting.

namespace

_experience.customerJourneyManagement.emailChannelContext.namespace

Namespace associated with the email address (e.g., domain or region).

Useful for tracking compliance and preferences related to email domains or regions.

deliveryStatus

_experience.customerJourneyManagement.messageInteraction.deliveryStatus

The status of the email delivery (e.g., delivered, failed).

Measures delivery success and failures, providing insights into deliverability and list hygiene.

bounceType

_experience.customerJourneyManagement.messageInteraction.bounceType

Type of email bounce (e.g., soft, hard).

Helps identify and diagnose reasons for delivery failures (e.g., permanent vs temporary).

openCount

_experience.customerJourneyManagement.messageInteraction.openCount

The number of times the recipient opened the email.

Measures user engagement by tracking how many times the email was opened.

clickCount

_experience.customerJourneyManagement.messageInteraction.clickCount

Number of times the recipient clicked on links within the email.

Tracks user engagement with links in the email, critical for reporting on conversions.

unsubscribe

_experience.customerJourneyManagement.messageInteraction.unsubscribe

Indicates whether the recipient unsubscribed from future emails.

Measures opt-out behavior to optimize future email content and targeting strategies.

trackerURL

_experience.customerJourneyManagement.messageInteraction.urlID

The unique URL included in the email and clicked by the user.

Tracks which specific URLs were clicked within the email for engagement analysis.

offerID

_experience.customerJourneyManagement.messageInteraction.offers.offerID

The unique identifier for any offer or promotion included in the email.

Tracks engagement with specific offers and promotions included in the email.

landingPageID

_experience.customerJourneyManagement.messageInteraction.landingPage.landingPageID

Unique identifier for the landing page visited after clicking a link in the email.

Tracks conversions by following email-driven traffic to landing pages.

landingPageName

_experience.customerJourneyManagement.messageInteraction.landingPage.landingPageName

The name of the landing page associated with the email link.

Provides insights into which landing pages perform best in driving conversions from email campaigns.

campaignID

_experience.customerJourneyManagement.messageExecution.campaignID

Unique identifier for the campaign responsible for sending the email.

Useful for tracking campaign performance across different email versions and audience segments.

messageID

_experience.customerJourneyManagement.messageExecution.messageID

Unique identifier for the email message sent to the recipient.

Tracks the individual performance of each email sent as part of the campaign.

journeyActionID

_experience.customerJourneyManagement.messageExecution.journeyActionID

Unique identifier for the journey action that triggered the email message.

Tracks which journey action led to the email being sent, supporting journey optimization.

messageType

_experience.customerJourneyManagement.messageExecution.messageType

The type of email message (e.g., promotional, transactional).

Allows segmentation and reporting based on email message types (promotional vs transactional).

timestamp

timestamp

The time when the email was sent or delivered.

Enables time-based reporting for analyzing trends and performance by time of day.

isTestExecution

_experience.customerJourneyManagement.messageProfile.isTestExecution

Indicates whether the email was part of a test execution.

Helps exclude test emails from reporting to ensure accuracy in performance metrics.

isSendTimeOptimized

_experience.customerJourneyManagement.messageProfile.isSendTimeOptimized

Indicates whether send-time optimization was applied for the email.

Tracks whether send-time optimization improved engagement and conversion rates.

interactionOutcome

_experience.decisioning.propositions.items.interactionOutcome

Tracks the interaction outcome following email engagement (e.g., conversion, purchase).

Measures conversion rates and other outcomes after engagement with the email.

propositionTime

_experience.customerJourneyManagement.messageInteraction.propositionTime

The timestamp when an offer or proposition was generated for the email.

Tracks the timing of offers and their effectiveness in driving user engagement.

Key Interaction Types:

  • Opens: Tracked through openCount and eventType for open events.

  • Clicks: Measured using clickCount, trackerURL, and trackerURLLabel to see which links were clicked.

  • Unsubscribes: The unsubscribed field records if a user opts out after receiving an email.

  • Bounces: Captured through deliveryStatus and bounceType, detailing whether emails were delivered or bounced.

  • Landing Page Engagement: landingPageID and landingPageName track which landing pages users visited after clicking links.

AJO Push Tracking Experience Event Dataset

Focus: Concentrates on user interactions with delivered messages (email, SMS, push notifications)

To explore this dataset, just type ad execute this in the Data Distiller Query Pro Mode Editor:

SELECT * FROM ajo_push_tracking_experience_event_dataset LIMIT 500;

The AJO Push Tracking Experience Event Dataset is designed to capture and log interaction events related to push notifications (including SMS) sent via the Adobe Journey Optimizer (AJO). This dataset stores detailed information about user interactions with push notifications, providing essential insights for reporting, segmentation, and performance analysis:

  1. Capturing User Interactions: The dataset records various actions users take in response to push notifications, such as:

    • Receives: Whether the push notification was delivered to the user’s device.

    • Opens: Whether the user opened the app or interacted with the notification.

    • Clicks: Whether the user clicked any custom actions within the notification.

    • Dismisses: Whether the user dismissed the notification without engaging.

    • Launches: Whether the push notification successfully launched the app.

  2. Push Notification Metadata: The dataset contains metadata about the push notifications, including:

    • Push Provider Information: Identifies which push provider (e.g., APNS for iOS, FCM for Android) was used to deliver the notification.

    • Push Provider Message ID: Unique identifier assigned to the notification by the provider.

    • Custom Actions: Logs any custom actions (e.g., buttons) included in the push notification and records user interactions with them.

  3. Tracking User Engagement: Information in the dataset supports the measurement of key performance indicators such as:

    • Open rates: The percentage of users who open or interact with push notifications.

    • Engagement rates: Based on custom action clicks or other interactions within the notification.

    • Conversion: If push notifications prompt specific user actions, such as purchases or sign-ups within the app.

  4. Segmentation and Profiling: The dataset is enabled for profile integration, meaning it can be used to build audience segments based on user interaction data. For example:

    • Segment users who frequently open push notifications.

    • Target users who never engage with notifications.

    • Measure user engagement with specific campaigns to refine marketing strategies.

  5. Supporting Campaign Analysis: It includes detailed information about the campaigns and journeys that trigger push notifications, such as:

    • Campaign IDs: Track push notification performance by campaign.

    • Journey Action IDs: Helps identify which journey action led to the notification being sent.

    • Journey Versioning: Enables performance comparison between different versions of journeys or campaigns.

  6. Geolocation and Contextual Data: For use cases involving location-based push notifications, the dataset can capture contextual data such as:

    • Geo-location data: Logs when notifications are triggered by location-based events (e.g., entering a specific geographical area).

    • Points of Interest (POIs): Logs interaction with POIs when they are used to trigger notifications.

Reporting Use Cases:

  • Performance Monitoring: Understand how different push notifications perform across various campaigns and journeys.

  • Engagement Insights: Track how users interact with notifications, including opens, custom action clicks, and app launches.

  • Conversion Tracking: Measure how effective push notifications are at driving conversions, such as app launches or purchases.

  • A/B Testing: Compare different versions of push notifications to see which variants (message types, delivery times, custom actions) perform better.

Push

Here are the fields that you will need. Fields marked in orange are unique to push notifications:

Field Name
Full Path
Description
Use Case

deviceToken

_experience.customerJourneyManagement.pushChannelContext.deviceToken

The unique token or ID of the recipient’s device.

Key for targeting push notifications to specific devices and tracking device-level engagement.

pushProvider

_experience.customerJourneyManagement.pushChannelContext.pushProvider

The service provider used to deliver the notification (e.g., APNS, FCM).

Useful for reporting performance by provider and diagnosing delivery issues related to specific push services.

pushProviderMessageID

_experience.customerJourneyManagement.pushNotificationTracking.pushProviderMessageID

Unique ID assigned to the message by the push provider.

Helps in troubleshooting issues with message delivery and correlating logs with the provider’s system.

deliveryStatus

_experience.customerJourneyManagement.messageInteraction.deliveryStatus

The status of the push notification delivery (e.g., delivered, failed).

Measures delivery success and failures, providing insights into message reachability.

bounceType

_experience.customerJourneyManagement.messageInteraction.bounceType

Type of push notification bounce (e.g., hard, soft).

Helps identify and diagnose reasons for delivery failures (e.g., permanent vs temporary).

openCount

_experience.customerJourneyManagement.messageInteraction.openCount

The number of times the recipient opened the push notification.

Measures engagement by tracking how many times a user opens the push notification.

clickCount

_experience.customerJourneyManagement.messageInteraction.clickCount

Number of times the recipient clicked on any URLs or buttons within the notification.

Tracks user engagement with links or buttons in the notification, critical for conversion reporting.

unsubscribe

_experience.customerJourneyManagement.messageInteraction.unsubscribe

Indicates whether the recipient unsubscribed from push notifications.

Measures opt-out behavior, aiding in list hygiene and content relevance optimization.

trackerURL

_experience.customerJourneyManagement.messageInteraction.urlID

The unique URL included in the push notification and clicked by the user.

Tracks user interaction with specific URLs in push notifications, supporting engagement analysis.

richMedia

_experience.customerJourneyManagement.pushNotificationTracking.richMedia

Contains data on any rich media (e.g., images, videos) included in the push notification.

Tracks engagement with rich media content (images, videos), helping assess the effectiveness of multimedia notifications.

customAction

_experience.customerJourneyManagement.pushNotificationTracking.customAction

Details of any custom actions (e.g., buttons) included in the notification.

Allows tracking of specific in-notification interactions, helping assess user engagement with interactive content.

customActionID

_experience.customerJourneyManagement.pushNotificationTracking.customAction.actionID

The unique ID of the custom action (e.g., button) clicked by the recipient.

Enables detailed reporting on user interaction with different actions presented within the push notification.

isLaunch

_experience.customerJourneyManagement.pushNotificationTracking.isLaunch

Indicates whether the push notification successfully launched the app.

Critical for measuring how effective notifications are at driving app usage.

campaignID

_experience.customerJourneyManagement.messageExecution.campaignID

Unique identifier of the campaign responsible for sending the push notification.

Useful for tracking overall campaign performance and engagement metrics.

messageID

_experience.customerJourneyManagement.messageExecution.messageID

Unique identifier for the push notification message sent to the recipient.

Allows for detailed tracking and reporting of individual push notification performance.

journeyActionID

_experience.customerJourneyManagement.messageExecution.journeyActionID

Unique identifier for the journey action that triggered the push notification.

Tracks performance of specific journey actions that triggered the push notification, for journey optimization.

messageType

_experience.customerJourneyManagement.messageExecution.messageType

The type of push notification message (e.g., promotional, transactional).

Allows segmentation and reporting based on push message types (promotional vs transactional).

timestamp

timestamp

The time when the push notification was sent or delivered.

Enables time-based reporting, identifying trends over time and performance by time of day.

isTestExecution

_experience.customerJourneyManagement.messageProfile.isTestExecution

Indicates whether the push notification was part of a test execution.

Helps exclude test notifications from reporting, ensuring accurate performance metrics.

interactionOutcome

_experience.decisioning.propositions.items.interactionOutcome

Tracks the interaction outcome following push notification engagement (e.g., conversion, purchase).

Measures the effectiveness of push notifications in driving conversions or other outcomes.

offerID

_experience.customerJourneyManagement.messageInteraction.offers.offerID

The unique identifier for any offer or promotion included in the push notification.

Tracks engagement with specific offers, helping optimize promotions within push notification campaigns.

landingPageID

_experience.customerJourneyManagement.messageInteraction.landingPage.landingPageID

Unique identifier for the landing page visited after clicking a link in the push notification.

Measures the effectiveness of push-driven traffic to landing pages, supporting conversion analysis.

landingPageName

_experience.customerJourneyManagement.messageInteraction.landingPage.landingPageName

The name of the landing page associated with the push notification link.

Provides insights into which landing pages perform best in driving conversions from push notifications.

propositionTime

_experience.customerJourneyManagement.messageInteraction.propositionTime

The timestamp when an offer or proposition was generated for the push notification.

Helps analyze the timing of offers and their effectiveness in driving engagement or conversion.

SMS

Here are the fields that you will need. Fields marked in orange are unique to SMS notifications:

Field Name
Full Path
Description
Use Case

smsAddress

_experience.customerJourneyManagement.smsChannelContext.address

The phone number to which the SMS was sent.

Identifies the recipient of the SMS for segmentation and reporting on message effectiveness.

namespace

_experience.customerJourneyManagement.smsChannelContext.namespace

Namespace associated with the recipient’s phone number (e.g., carrier or region).

Tracks the region or carrier for compliance and performance analysis across carriers.

deliveryStatus

_experience.customerJourneyManagement.messageInteraction.deliveryStatus

The status of the SMS delivery (e.g., delivered, failed).

Measures delivery success and failures, providing insights into message reachability.

bounceType

_experience.customerJourneyManagement.messageInteraction.bounceType

Type of SMS bounce (e.g., hard, soft).

Helps identify and diagnose reasons for delivery failures (e.g., permanent vs temporary).

openCount

_experience.customerJourneyManagement.messageInteraction.openCount

The number of times the recipient opened an SMS (if trackable).

Measures engagement by tracking SMS openings (if applicable with smart messaging).

clickCount

_experience.customerJourneyManagement.messageInteraction.clickCount

Number of times the recipient clicked on any URLs within the SMS message.

Tracks user engagement with links in SMS, critical for conversion and interaction reporting.

unsubscribe

_experience.customerJourneyManagement.messageInteraction.unsubscribe

Indicates whether the recipient unsubscribed from SMS communications.

Measures opt-out behavior, aiding in list hygiene and content relevance optimization.

trackerURL

_experience.customerJourneyManagement.messageInteraction.urlID

The unique URL that was included in the SMS message and clicked by the user.

Tracks user interaction with specific URLs in SMS, supporting engagement and conversion analysis.

messageContent

_experience.customerJourneyManagement.messageExecution.messageContent

The content of the SMS message that was sent.

Analyzes the effectiveness of different SMS content in driving user engagement.

shortCode

_experience.customerJourneyManagement.smsChannelContext.shortCode

The short code or long code from which the SMS was sent.

Allows reporting on performance across different SMS short codes, useful in multi-code campaigns.

carrier

_experience.customerJourneyManagement.smsChannelContext.carrier

The cellular carrier associated with the recipient’s phone number.

Helps analyze SMS delivery performance across different carriers.

journeyActionID

_experience.customerJourneyManagement.messageExecution.journeyActionID

Unique identifier for the journey action that triggered the SMS message.

Tracks performance of specific journey actions that triggered the SMS, for journey optimization.

messageID

_experience.customerJourneyManagement.messageExecution.messageID

Unique identifier for the SMS message sent to the recipient.

Allows for detailed tracking and reporting of individual SMS message performance.

campaignID

_experience.customerJourneyManagement.messageExecution.campaignID

Unique identifier of the campaign responsible for sending the SMS message.

Provides insights into overall campaign effectiveness and engagement metrics.

messageType

_experience.customerJourneyManagement.messageExecution.messageType

The type of SMS message (e.g., promotional, transactional).

Allows segmentation and reporting based on SMS message types (promotional vs transactional).

timestamp

timestamp

The time when the SMS was sent or delivered.

Enables time-based reporting, identifying trends over time and performance by time of day.

isTestExecution

_experience.customerJourneyManagement.messageProfile.isTestExecution

Indicates whether the SMS was part of a test execution.

Helps exclude test messages from reporting, ensuring accurate performance metrics.

interactionOutcome

_experience.decisioning.propositions.items.interactionOutcome

Tracks the interaction outcome following SMS engagement.

Measures the effectiveness of SMS in driving conversions or other outcomes.

offerID

_experience.customerJourneyManagement.messageInteraction.offers.offerID

The unique identifier for any offer or promotion included in the SMS message.

Tracks engagement with specific offers, helping optimize promotions within SMS campaigns.

landingPageID

_experience.customerJourneyManagement.messageInteraction.landingPage.landingPageID

Unique identifier for the landing page that the recipient visited after clicking a link in the SMS.

Measures the effectiveness of SMS-driven traffic to landing pages, supporting conversion analysis.

landingPageName

_experience.customerJourneyManagement.messageInteraction.landingPage.landingPageName

The name of the landing page associated with the SMS link.

Provides insights into which landing pages perform best in driving conversions from SMS campaigns.

propositionTime

_experience.customerJourneyManagement.messageInteraction.propositionTime

The timestamp when an offer or proposition was generated for the SMS.

Helps analyze the timing of offers and their effectiveness in driving engagement or conversion.

optOutKeywords

_experience.customerJourneyManagement.messageInteraction.optOutKeywords

Keywords used by the recipient to opt out of future SMS messages (e.g., STOP, UNSUBSCRIBE).

Tracks user-initiated opt-outs to manage compliance and improve future targeting.

Offer Decisions Events Dataset

First, you need to execute the following by locating the dataset that has ode_decisionevents in its name:

SELECT * FROM ode_decisionevents_{key specific to your environment};

A proposition offer is a specific type of personalized offer or recommendation presented to a customer during their journey in Adobe Journey Optimizer (AJO) or Adobe Experience Platform (AEP). It can be anything from a product recommendation, discount, or special promotion that is generated based on a user’s behavior, preferences, or profile data. The proposition offer is intended to drive engagement, conversion, or retention by aligning with the user’s interests and needs. A decision is the process by which the system determines what action or offer to present to a user based on a set of rules, algorithms, or predefined criteria. It is a critical part of personalized customer experiences, ensuring that the right content, offers, or communications are delivered to the user at the most opportune moment in their journey.

The ODE DecisionEvents Dataset tracks decision events and proposition outcomes in Adobe Journey Optimizer. It focuses on offer propositions made to users, tracking how decisions are made within the system and how users interact with those propositions. This dataset is used to understand the performance of decisions, offers, and how users respond to them. It is crucial for reporting and analysis around decision-making processes, offer performance, and user engagement with propositions.

Key Use Cases for the ODE DecisionEvents Dataset:

  1. Offer Performance Tracking: Track how users engage with offers, including clicks, views, and conversions, to optimize offer strategies.

  2. Decision-Making Analysis: Analyze how decisions are made based on rules, algorithms, or strategies, and measure the performance of decision options.

  3. Customer Experience Personalization: Monitor how personalized offers and experiences are delivered based on user profiles and journey interactions.

  4. Optimization of Decision Strategies: Improve decision-making processes by analyzing the performance of proposition strategies, algorithms, and fallback options.

  5. Experience Outcome Measurement: Capture outcomes based on decision events, including success, failure, or other actions that reflect user engagement with propositions.

Field Name
Field Path (Dot Notation)
Description
Use Case for Reporting and Analysis

_id

_experience.decisioning.propositionDetails.items.id

Unique identifier for the decision event or offer proposition.

Used to track individual decision events and propositions.

Batch Identifier

_experience.decisioning.batchID

Identifier for batch-mode decision events.

Useful for tracking decisions made in batch processing versus individual profiles.

Experience Reference

_experience.decisioning.experienceID

Identifier for the proposition's content experience.

Important for tracking and comparing content experiences across propositions.

Proposition Details

_experience.decisioning.propositionDetails

Details about the proposition decision, including all offers presented to the user.

Captures the full context of the decision made and the offers shown to the user.

Activity Identifier

_experience.decisioning.propositionDetails.items.activity.id

Unique identifier for the decision activity.

Helps track the specific decision activity that led to the offer proposition.

Offer ID

_experience.decisioning.propositionDetails.items.id

Unique identifier for the specific offer presented.

Key for tracking offer performance and engagement rates.

Fallback Option

_experience.decisioning.propositionDetails.items.fallback

Fallback option used when no other regular options qualified.

Tracks when fallback strategies are used, indicating potential gaps in targeting or personalization strategies.

Decision Option Characteristics

_experience.decisioning.propositionDetails.items.characteristics

Additional properties or attributes related to the decision option.

Used to optimize the performance of different options and measure their impact.

Selected Experience Option

_experience.decisioning.propositions.items.scopeDetails.experience

The experience selected as part of the decision scope.

Tracks which experience option was ultimately selected for the user.

Placement Identifier

_experience.decisioning.propositionDetails.items.placement.id

Unique identifier for the decision placement (e.g., where the offer was shown).

Critical for measuring performance based on where the proposition was presented (e.g., email, web).

Algorithm Identifier

_experience.decisioning.propositions.items.scopeDetails.strategies.items.algorithmID

Identifier of the algorithm used to make the decision, if applicable.

Important for measuring the effectiveness of different decision-making algorithms.

Decision Outcome

_experience.decisioning.propositions.items.scopeDetails.interactionMeasurements.items.outcome

Outcome of the decision-making event (e.g., user clicked, user converted).

Key for measuring the effectiveness of decisions and offers based on user engagement.

Timestamp

timestamp

Time when the decision or offer proposition event occurred.

Essential for time-based reporting and analyzing trends over time.

Event Type

eventType

The primary event type for this time-series record.

Useful for categorizing different types of events in decision-making, such as offers presented, clicks, or views.

Identifier

identityMap.additionalProperties.items.id

Identity of the consumer in the related namespace.

Used to identify and link user-specific events, providing a unified view of user interactions across channels.

Primary

identityMap.additionalProperties.items.primary

Indicates this identity is the preferred identity. Used to help systems better organize how identities are queried.

Helps in prioritizing primary identities for reporting, ensuring consistency in user-based tracking and attribution.

Relationship Between ODE and AJO Entity Dataset:

  1. Linking via Journey Structure:

    • The AJO Entity Dataset tracks the entire structure of a journey, including journey steps, messages, and decision points.

    • Decision points in the journey are where the ODE Dataset comes into play. When a decision needs to be made, such as which offer to present to the user, the decision event is logged in the ODE Dataset.

    • The AJO Entity Dataset would include references to these decision events, ensuring that every decision made in the journey is tracked.

  2. Offer Propositions and Decision Tracking:

    • Offer decisions made during a journey are recorded in the ODE Dataset, which tracks proposition offers and their outcomes (e.g., which offer was selected and how the user interacted with it).

    • These decisions are triggered as part of a journey step in the AJO Entity Dataset, where a decision point is encountered. The AJO Entity Dataset logs the context around why a decision was needed, such as user segment data or behavior during the journey.

  3. Common Identifiers:

    • Both datasets share common identifiers such as Journey IDs, Message IDs, and Decision IDs that link the decision events in the ODE Dataset back to the specific journey steps in the AJO Entity Dataset.

    • For example, a Journey ID in the AJO Entity Dataset would link to a decision event in the ODE Dataset, showing how a decision was made within that journey and what offer was presented to the user.

  4. Decision Outcomes and Journey Actions:

    • Once an offer decision is made (logged in the ODE Dataset), the outcome of that decision (e.g., user accepts or ignores the offer) is tracked as part of the user’s journey.

    • The AJO Entity Dataset would log the overall journey progress, while the ODE Dataset provides the specific outcome of the offer decision and whether the user engaged with it. This provides a full picture of how decisions affect the user’s journey.

  5. Optimization and Personalization:

    • The ODE Dataset feeds back into the AJO Entity Dataset by providing insights into which offers work best for certain segments of users. This data can be used to optimize future decisions within the journey.

    • For example, if the ODE Dataset shows that certain offers are leading to high engagement rates for a specific segment, the AJO Entity Dataset can trigger those offers more frequently during similar journey steps.

Why Track All Proposition Offers and the Algorithm Used?

1. Optimize Offer Strategy and Personalization

  • Offer propositions are often personalized based on a user’s profile, behavior, or journey step. Tracking all proposition offers allows marketers to analyze which offers resonate most with specific segments of their audience.

  • Algorithms play a central role in deciding which offer or experience is presented to the user. By tracking the algorithms used, you can evaluate how effective each decision-making method is in delivering the right offers.

  • Example: If you are running a personalized journey with different product recommendations, tracking which offers are being presented (and the underlying decision logic) lets you fine-tune those recommendations based on engagement outcomes.

2. Measure Offer Performance and User Engagement

  • Tracking all offer propositions allows you to measure how well different offers perform in terms of engagement. For example, tracking metrics like click-through rates (CTRs), conversions, or acceptances of offers provides insights into which offers are driving desired behaviors.

  • By monitoring the proposition outcomes, you gain insight into how different types of users respond to various offers. This helps in identifying trends, such as which offers lead to higher engagement with a certain demographic or segment.

  • Example: Suppose you are running a campaign with multiple offers (e.g., discount codes, product recommendations). Tracking which offer users engage with (e.g., accepting a discount code vs. ignoring a recommendation) helps you adjust the future decision-making process to favor more successful offers.

3. Test and Improve Decision-Making Algorithms

  • Algorithms determine which offers are presented to a user. Different algorithms may prioritize different factors (e.g., recency of interaction, likelihood of conversion). Tracking which algorithm was used for each decision allows you to evaluate the effectiveness of various decision-making strategies.

  • Why it matters: Not all algorithms will work equally well for all users. For example, an algorithm based on past behavior might work better for returning customers, while a rules-based algorithm might perform better for new users. By tracking the algorithm's performance, you can refine the decision-making process and tailor it to specific contexts.

  • Example: You may use one algorithm to optimize for maximizing engagement and another for driving conversions. By tracking how each algorithm performs under different conditions, you can choose the best one for each scenario.

4. Understand Fallbacks and Avoid Missed Opportunities

  • Sometimes, none of the primary offers may meet the decision criteria, so a fallback offer is presented to avoid presenting no offer at all. Tracking the fallback mechanism ensures you understand when your primary offers are insufficient and that you don’t miss opportunities to engage users.

  • Example: If you find that fallback offers are being used frequently, it may indicate that your decision-making process needs optimization. Maybe your primary offers aren’t relevant enough, or the targeting rules are too restrictive. By tracking the use of fallback options, you can adjust your strategy to improve primary offer performance.

5. Support A/B Testing and Iteration

  • Tracking all offer propositions and the algorithm used allows for A/B testing of different decision strategies. By analyzing which offers (and which decision algorithms) yield the best engagement or conversion results, you can iteratively refine and improve the customer journey.

  • Example: Suppose you're testing two different algorithms—one that prioritizes discounts and another that prioritizes recommendations. By tracking the propositions and outcomes, you can determine which approach leads to better results for specific segments, then optimize your future campaigns accordingly.

6. Improve Customer Experience

  • By tracking proposition outcomes, you ensure that users receive the most relevant and timely offers. This helps maintain a consistent and personalized customer experience, leading to higher satisfaction and loyalty.

  • Why it matters: Presenting irrelevant offers or poorly timed propositions can degrade the customer experience. Tracking helps prevent this by ensuring you present the best possible offer or take corrective actions when engagement is low.

  • Example: If a user consistently ignores product recommendations but engages with discount offers, tracking the decision events allows you to tailor future offers to align with their preferences, improving the overall experience.

Sample Queries

Retrieve User Information Along with Proposition Offers

SELECT to_json(p.identityMap), 
       to_json(p.proposition) 
FROM (
  SELECT identityMap,
         EXPLODE(_experience.decisioning.propositionDetails) AS proposition 
  FROM   ode_decisionevents_example_decisioning
) p

This query extracts user identity information and proposition details from the ode_decisionevents_example_decisioning dataset. It works by first selecting the identityMap (which contains user identity data) and exploding the propositionDetails array (which holds details of propositions made to users) so that each proposition is returned as a separate row. The outer query then converts both the user identity and the proposition details into JSON format, making them easier to work with for further analysis or integration into other systems. This approach is typically used to track the specific offers or decisions made for each user during their journey.

Extracting Decision Event Details by Year and Month

SELECT  s.timestamp,
        STRING(YEAR(s.timestamp)) AS year,
        STRING(MONTH(s.timestamp)) AS month,
        STRING(YEAR(s.timestamp) * 100 + MONTH(s.timestamp)) AS yearmonth,
        s.propositionId,
        s.eventType,
        s.customerId,
        s.activityName,
        s.activityId,
        s.selection.name AS offerName,
        s.selection.id AS offerId,
        s.placementName,
        s.placementId
FROM (
        SELECT  p.timestamp,
                p.propositionId,
                p.eventType,
                p.identityMap.customerid[0].id AS customerId, 
                p.proposition.activity.name AS activityName, 
                p.proposition.activity.id AS activityId,
                EXPLODE(p.proposition.selections) AS selection,
                p.proposition.placement.name AS placementName,
                p.proposition.placement.id AS placementId
        FROM (
            SELECT timestamp,
                   _id AS propositionId,
                   eventType,
                   identityMap,
                   EXPLODE(_experience.decisioning.propositionDetails) proposition 
            FROM   ode_decisionevents_example_decisioning
        ) p
) s

This query extracts detailed information from the ode_decisionevents_example_decisioning dataset, focusing on propositions (offers) presented to users. It retrieves fields such as the event timestamp, propositionId, eventType, customerId, activityName, activityId, offer name and ID, and placement details. Additionally, it formats the timestamp to generate year, month, and a concatenated yearmonth field for temporal analysis. The query uses the explode function to break down the array of selections (offers) into individual rows, ensuring that each offer is captured separately. This structure allows for a granular view of the decision events, tracking when specific offers were made and linking them to the customer, activity, and placement involved.

Activity Count by Decision Type

This chart shows the count of activities grouped by decision types.

SELECT 
    proposition.activity.name AS activityName, 
    COUNT(*) AS numOfActivities
FROM 
    ode_decisionevents_example_decisioning
GROUP BY 
    proposition.activity.name
ORDER BY 
    numOfActivities DESC;

Offers Per Placement

This chart shows the number of offers per placement.

SELECT 
    proposition.placement.name AS placementName, 
    COUNT(*) AS numOfOffers
FROM 
    ode_decisionevents_example_decisioning
GROUP BY 
    proposition.placement.name
ORDER BY 
    numOfOffers DESC;

Offers Served Per Month

This chart tracks the number of offers served each month.

SELECT 
    STRING(YEAR(timestamp)) AS year, 
    STRING(MONTH(timestamp)) AS month, 
    COUNT(*) AS numOfOffers
FROM 
    ode_decisionevents_example_decisioning
GROUP BY 
    STRING(YEAR(timestamp)), 
    STRING(MONTH(timestamp))
ORDER BY 
    year, month;

Unique Customers With an Offer Proposition Per Month

This chart shows the number of unique customers who received an offer each month.

SELECT 
    STRING(YEAR(timestamp)) AS year, 
    STRING(MONTH(timestamp)) AS month, 
    COUNT(DISTINCT identityMap.customerid[0].id) AS numOfUniqueCustomers
FROM 
    ode_decisionevents_example_decisioning
GROUP BY 
    STRING(YEAR(timestamp)), 
    STRING(MONTH(timestamp))
ORDER BY 
    year, month;

These queries assume that the dataset follows the structure shown in the previous example. You can adjust column names or logic based on your specific schema or dataset requirements.

You can find the exhaustive list .

Event Type
eventType
The primary event type for this time-series record.
Useful for categorizing different types of events in decision-making, such as offers presented, clicks, or views.

Identifier

identityMap.additionalProperties.items.id

Identity of the consumer in the related namespace.

Used to identify and link user-specific events, providing a unified view of user interactions across channels.

Primary

identityMap.additionalProperties.items.primary

Indicates this identity is the preferred identity. Used to help systems better organize how identities are queried.

Helps in prioritizing primary identities for reporting, ensuring consistency in user-based tracking and attribution.

PREP 501: Ingesting JSON Test Data into Adobe Experience Platform
EXPLORE 201: Exploring Web Analytics Data with Data Distiller
here
Understanding the structure of the dataset
Result of the query
Page cover image