EXPLORE 300: Exploring Adobe Journey Optimizer System Datasets with Data Distiller
Unleashing Insights from Adobe Journey Optimizer Datasets with Data Distiller
Last updated
Unleashing Insights from Adobe Journey Optimizer Datasets with Data Distiller
Last updated
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:
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:
AJO Entity Record Schema Dataset with the dataset name: ajo_event_dataset
Journey Step Events Dataset with the dataset name:journey_step_events
AJO Message Feedback Events Dataset with the dataset namee: ajo_message_feedback_event_dataset
BCC Feedback Events Dataset with the dataset name: ajo_bcc_feedback_event_dataset
AJO Email & Push Tracking Datasets with the dataset names: ajo_email_tracking_experience_event_dataset, ajo_push_tracking_experience_event_dataset
Offer Decisioning Events Dataset with the dataset name: ode_decisionevents_{key specific to your environment}.
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:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
You can find the exhaustive list here.
First, execute the following query in the Data Distiller Query Pro Mode Editor:
The result will be:
Now execute:
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.
Since the AJO Entity Record Schema is the central lookup for all the other datasets, this field in the dataset ajo_entity_dataset
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:
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.
You should be able to execute the following code:
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.
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.
Error Tracking and Resolution: Logs errors and failure codes associated with journey steps, helping diagnose and resolve issues that affect customer experience.
Journey Optimization: Tracks how users move through the journey, allowing marketers to optimize step transitions, messaging timing, and action results for better engagement.
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:
_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.
First, go ahead and execute this:
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.
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:
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.
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.
First, execute the query:
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.
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).
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.
Field Overlap: Both datasets share fields related to message delivery feedback, such as Delivery Status, Failure Category, Failure Reason, and Offer Information.
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
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.
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.
Just type this query in the Data Distiller Query Pro Mode Editor:
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:
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.
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).
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.
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.
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.
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.
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.
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:
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.
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.
To explore this dataset, just type ad execute this in the Data Distiller Query Pro Mode Editor:
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:
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.
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.
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.
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.
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.
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.
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.
Here are the fields that you will need. Fields marked in orange are unique to push notifications:
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.
Here are the fields that you will need. Fields marked in orange are unique to SMS notifications:
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.
First, you need to execute the following by locating the dataset that has ode_decisionevents
in its name:
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.
Offer Performance Tracking: Track how users engage with offers, including clicks, views, and conversions, to optimize offer strategies.
Decision-Making Analysis: Analyze how decisions are made based on rules, algorithms, or strategies, and measure the performance of decision options.
Customer Experience Personalization: Monitor how personalized offers and experiences are delivered based on user profiles and journey interactions.
Optimization of Decision Strategies: Improve decision-making processes by analyzing the performance of proposition strategies, algorithms, and fallback options.
Experience Outcome Measurement: Capture outcomes based on decision events, including success, failure, or other actions that reflect user engagement with propositions.
_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.
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.
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.
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.
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.
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.
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.
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.
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.
This chart shows the count of activities grouped by decision types.
This chart shows the number of offers per placement.
This chart tracks the number of offers served each month.
This chart shows the number of unique customers who received an offer each 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.
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.