AJO Journey Condition Not Resolving Profile Data When Triggered by Event
I’m working on a transactional journey in Adobe Journey Optimizer that is triggered by an event tied to a Prospect Event Schema.
At the same time the event is ingested, the same individuals are also being written to the Prospect Profile schema. I’ve validated this by comparing timestamps and primary IDs across both the Event and Profile datasets—data is being populated correctly in both places.
To account for any latency, I’ve added a 15-minute Wait activity immediately after the event trigger to allow for profile ingestion and stitching.
Data Structure Context
-
Event Schema
-
Does not contain consent values (true/false)
-
Contains
SourceID, which maps tocommPreferenceTypein the profile
-
-
Profile Schema
-
Contains
commPreferences -
Includes both:
-
commPreferenceType -
granted(consent flag)
-
-
Issue
Although the journey is triggered by the event, I am attempting to evaluate Profile data within a Condition (Optimize activity) to determine eligibility for email communication.
However, the condition does not appear to correctly resolve or retrieve the Profile-based fields (commPreferenceType and granted). As a result, segmentation is not behaving as expected and users are not being properly qualified for email sends.
Question
When a journey is initiated from an Event, is there any limitation or nuance in referencing Profile attributes within downstream Condition/Optimize activities?
Specifically, should Profile data be reliably accessible at that point in the journey assuming identity stitching has occurred?
Condition Configuration
Here is the expression currently used in the Optimize activity:
containIgnoreCase(
#{ExperiencePlatform.ProfileFieldGroup.profile._********.ProspectProfile.commPreferences.at(0).commPreferenceType},
'email.all'
)
and
#{ExperiencePlatform.ProfileFieldGroup.profile.ProspectProfile.commPreferences.at(0).granted} == true
Additional Context / Considerations
-
Identity stitching appears correct (same primary ID across datasets)
-
Profile data is confirmed populated before journey reaches the condition
-
Delay has been introduced to mitigate ingestion timing issues
Any insight into whether this is a timing, identity resolution, or schema referencing issue would be greatly appreciated. Also curious if there are best practices for reliably using Profile attributes in event-triggered journeys.