Views
Replies
Total Likes
Hi @Pradeep-Jaiswal ,
The 90-day limit in Adobe Journey Optimizer (AJO) often gets misunderstood. It doesn’t mean that a customer cannot be engaged after 90 days — it simply means that a single journey instance (the workflow that holds a person as they move through steps and waits) can only remain active for up to 90 days. After that, the system automatically expires that instance to manage runtime capacity and performance.
Here’s the correct way to interpret and handle it:
The limit applies per journey canvas — i.e., once a profile enters a journey, that specific execution path can only stay open for 90 days.
You can have multiple Waits and Actions inside that period (e.g., an event at day 5, another at day 10, 20, 30… up to day 90).
After day 90, the journey instance closes — it cannot keep “holding” that profile/guest.
So, you’re not restricted to one interaction per 90 days; you can design up to 90 days of orchestrated activities within a single instance.
If an audience condition naturally evaluates over longer periods (say, “customers who made their first purchase 120 days ago”), that audience definition itself can control who enters the next phase of engagement.
The journey doesn’t need to stay open that long; instead, you can use the audience as the entry trigger for a new journey.
Break the overall lifecycle into smaller, modular journeys that represent distinct phases.
For example:
| Journey 1 – Onboarding | 0 – 60 days | Welcome + First purchase | Event: Onboarding_Completed |
| Journey 2 – Early Engagement | 61 – 120 days | Retention + Cross-sell | Event: Engagement_Completed |
| Journey 3 – Loyalty Retention | 121 – 180 days | Rewards + Renewal prep | Audience: Active_6months |
Each module lives comfortably within the 90-day guardrail and triggers the next via either a custom event or a profile-based audience qualification.
Keeping customers “waiting” in long, passive journeys consumes runtime capacity and limits the number of live journeys you can operate (AJO’s guardrail is ~100 active journeys).
Instead:
Close journeys once their functional purpose is met.
Trigger the next relevant journey when the customer reaches a meaningful milestone.
Use events or computed attributes to pass context between modules
Please review and share your thoughts.
Thanks a lot.
Sashanka B
Views
Replies
Total Likes
Thanks Sashank, I really appreciate the details around 90 days.
The limitation with readAudience based journey is it can not access the event attributes for the personalization content. For that reason, I was thinking around using event as trigger, but then get hung on this 90 days guardrails.
Can we leverage jump activity in such cases to extend the event trigger based journey beyond 90 days ?
Views
Replies
Total Likes
@Pradeep-Jaiswal No. At any point in time, only one time profile can be present in the journey. Here is the callout,
"A unique individual can only be present once in the same journey. As a result, if the individual pushed from the origin journey is already in the target journey, the individual will not enter the target journey. No error will be reported on the Jump activity because this is normal behavior."
Views
Replies
Total Likes
Thanks Sathish, I would read more about the Jump limitation.
I had use exact same strategy in past where instead of leveraging action 'update profile attribute', i created a custom action to write data directly into event dataSet with the payload of my choice. This approach works great when its only for one off use cases. But if we need to scale this to multiple use cases, it gets messy. And everytime it requires new customEvent to be created which would intercept that eventAttribute to trigger the next journey.
Views
Replies
Total Likes
Views
Like
Replies