From Idea to Personalized Message: How Lipi AI Helps You Write Smarter AJO Templates
Lipi AI helps you go from a campaign idea to a working Adobe Journey Optimizer template faster.
Most personalization starts as a simple thought:
"Greet the customer by name when we have it."
"Show the right offer based on eligibility."
"Use a fallback when customer data is missing."
The hard part is turning that thought into correct Lipi/Handlebars syntax. You need the right field, the right condition, the right helper, and a message that still works when data is incomplete.
That is where Lipi AI is useful.
What Lipi AI Does
Lipi AI is an assistant for Adobe Journey Optimizer template authoring. It helps you generate, fix, and understand personalization expressions.
It can help with:
- Greetings and fallback text
- Date and number formatting
- Conditional content selection
- Loops over arrays such as products, cards, policies, entitlements, or offers
- Segment-based content decisions
- Dataset lookups and fragment usage when those are available in your environment
- Debugging broken Lipi/Handlebars code
- Explaining what an existing expression is doing
It does not create customer data by itself. It works with the profile, context, datasets, fragments, segments, and other resources that are already available to your AJO/AEP setup.
How It Works With AJO And AEP
Lipi AI is most powerful when your Adobe Journey Optimizer and Adobe Experience Platform data is already well configured.
Depending on your setup, Lipi can help write templates that use:
- Profile attributes from the active XDM profile schema
- Context data from journeys, events, or message execution context when available
- Segment membership for audience-based decisions
- Datasets for lookup-based personalization
- Fragments that are published and available to AJO
- Offers or decision data when exposed to the template context
- Lipi helpers, functions, and operators supported by the template engine
A simple way to think about it:
AJO/AEP provides the data and integrations. Lipi AI helps you write the template logic that uses them.
If a field, dataset, segment, or fragment is not available in your active schema or sandbox, Lipi cannot safely use it. In that case, the right next step is to check the data setup or use the correct available path.
A Simple Example
Ask Lipi:
Check if
profile.person.name.firstNameexists. If yes, display "Exclusive preview for [first name]". If not, display "Exclusive preview for our valued customer".
Lipi can generate:
{%#if isNotEmpty(profile.person.name.firstName) %}
Exclusive preview for {{profile.person.name.firstName}}
{%else%}
Exclusive preview for our valued customer
{%/if%}This is a small example, but it shows the main idea: describe the customer experience, and Lipi helps with the template expression.
Where Customers Usually Need Help
From real usage patterns, customers most often use Lipi for practical template work like this:
- Personal greetings: show a name when present, otherwise use a fallback.
- Expiry or renewal messages: format dates, add time, or pick the right item from a list.
- Product or entitlement checks: decide whether to show monthly, yearly, premium, trial, or fallback content.
- Segment-based images: choose content based on a segment or campaign code.
- JSON message payloads: produce content IDs and parameters for channel templates.
- Fixing syntax: repair quotes, conditions, helper usage, or field references.
These are not abstract AI demos. They are the everyday problems people hit while building personalized messages.
How To Ask Lipi Better
The best prompts are specific about data, logic, output, and fallback.
Instead of:
Make this dynamic.
Try:
Use
profile.person.name.firstName. If it exists, show "Hi [first name]". If it is empty, show "Hi there". Return only the Lipi template.
Instead of:
Fix this offer logic.
Try:
Loop through the customer's offers. If
offerTypeisTRIALand country isUS, show offer A. Otherwise show fallback offer B. Keep the output as JSON withcontent_idandparam1.
Prompt Formula
Use this structure when asking Lipi for help:
- Data: Which profile, context, segment, dataset, offer, or fragment should be used?
- Rule: What condition should be checked?
- Output: What should be shown?
- Fallback: What should happen when data is missing or does not match?
Reusable prompt pattern:
Use [data path or resource]. If [condition], show [output A]. Otherwise show [output B]. If the data is missing, show [fallback]. Return only the Lipi template.
Do's
- Do explain the customer experience you want.
- Do include exact field paths when you know them.
- Do mention the expected output format, especially if you need JSON.
- Do include fallback behavior.
- Do use the fix option when you already have broken code.
- Do ask for an explanation when you need to understand an existing template.
Don'ts
- Don't paste only a raw field path and expect Lipi to infer the full message.
- Don't ask Lipi to use fields or fragments that are not available in your environment.
- Don't paste a full HTML email when only one dynamic block needs help.
- Don't mix many unrelated rules in one prompt if you can split them.
- Don't skip fallback logic for optional customer data.
What You Get Out Of It
Lipi AI helps reduce the distance between business intent and working personalization.
- For marketers: faster first drafts of dynamic content.
- For technical users: quicker syntax repair and validation.
- For teams: a shared way to express personalization rules clearly.
The main benefit is not just speed. It is confidence. Lipi helps you produce template logic that is easier to validate, test, and reuse inside AJO.
Final Takeaway
Lipi AI works best when you give it a clear personalization goal and the data available in your AJO/AEP environment.
Bring the customer idea. Bring the field or resource if you know it. Lipi helps turn that into usable template logic.
Start small, be specific, and always include a fallback. That is how you get the best results.
