Code based experience - Overview

What is it

Code-based experiences allow you to deliver personalized, dynamic content and messaging using custom code — such as JavaScript, APIs, or templating languages — within Adobe Journey Optimizer.

This channel is ideal for building highly tailored, data-driven interactions that extend beyond standard visual authoring tools (WYSIWYG editors), giving developers and optimization managers full flexibility to design custom personalization logic and content layouts.

Examples:

  • Customizing email or push notification content based on complex user attributes or behavior.
  • Integrating third-party APIs to fetch real-time data and inject it into messages.
  • Building advanced decision logic or multi-step campaigns triggered by specific events.

Important: Requires developer skills and testing to ensure correct data handling and delivery.

Use cases

Choose code-based experiences when you need to:

#
Benefit
Why
Example use cases
1
Deep personalization
Enables highly tailored messaging using complex logic and real-time data
  • Dynamic product recommendations based on recent browsing
  • Personalized discounts calculated from user loyalty status
2
Integrate external systems
Fetch and display external data directly in communications
  • Weather-based promotions
  • Real-time inventory updates in email
3
Create advanced workflows
Build multi-step, conditional journeys that adapt per user actions
  • Abandoned cart follow-ups with timed reminders
  • Reactivation campaigns triggered after inactivity thresholds
4
Go beyond platform limits
Add features or messaging formats not supported out-of-the-box
  • Custom interactive email elements
  • Complex SMS message variations
5
Improve campaign flexibility
Quickly adjust logic or content without waiting for platform updates
  • Seasonal content toggles
  • Real-time error handling in journeys

When not to use code-based experiences

  • When you need quick, simple campaigns that can be built with no-code tools.
  • If you don’t have access to developer resources or testing environments.
  • When timeline or budget constraints limit custom development.
  • For standard messaging that fits well with built-in platform features.
  • When maintainability is a concern — custom code requires ongoing support.
recommendation-more-help
3c815ced-85ff-4d0f-8ef4-003f644f5cd0