Add form fields to code-based experience channel templates
- Topics:
- Code-based Experiences
CREATED FOR:
- Beginner
- Intermediate
- Developer
Discover how developers can streamline collaboration with marketing teams by enabling editable fields within code-based experience channels. Learn how to define editable JSON and HTML fields in content templates, allowing marketers to update campaign elements like titles and descriptions without touching code. See how embedded decision policies enhance personalization directly within templates—boosting efficiency, reducing errors, and accelerating campaign delivery.
Transcript
Hello and welcome. In this demo, we’ll walk through how to create editable fields within a code-based experience channel. This capability allows developers to define which parts of a content template or campaign can be edited by non-technical users, making collaboration between technical and marketing teams more seamless. Instead of editing the entire code payload, marketers can work with a simplified form view that surfaces only the fields intended for editing. This streamlines the workflow and reduces the risk of errors.
Additionally, a decision policy panel is now available directly within the content templates and authoring environment. This enables users to define or adjust personalization policies without needing to open a separate editor. With this enhancement, developers maintain control over the structure and logic, while marketers gain the flexibility to make updates quickly and confidently. The result is a more efficient process that saves time and resources. Let’s take a look at how it works in the system. I’ll start the demo by acting as a developer who wants to prepare a code-based experience template, specifically JSON offers, for marketing users to use in their campaigns. I’ll go to the content templates library, create a new template, and give it a name. Let’s name it LumaWinterOffer.
I’ll select the code-based experience channel and click create.
Now I’m editing the code. Before I begin, I make sure the write mode is set to JSON. I paste in the JSON I want to use. It looks like this. As a developer, I can use inline syntax to define which fields should be editable. I can give the field a label. For example, instead of hardcoding the title, I’ll define it as an editable field called title.
When I click preview form fields, I can now see that the title appears as an editable input. Let’s do the same for the description. I’ll copy and paste the same structure and apply it to the description field. I’ll label this one description. Now I have two editable fields. This means marketers will be able to update both the title and description. Next, I’ll create a campaign to deliver this offer, which modifies the hero banner for all users.
I’ll name it something like hero banner luma winter and choose the code-based campaign type.
I’ll select the main page and click edit content. Instead of manually editing and pasting code, I’ll apply the content template I just created.
Once the template loads, you’ll see the editable form fields appear on the right. As a marketer, I can now easily update these fields. For example, I’ll change the title to garage winter sale and the description to 50% off everything.
Check it out. I can also simulate the payload to see how it looks. Even though I only modified the title and description, the rest of the code remains and will be sent to the edge. Now I’ll go ahead and review and activate the campaign. Here’s my test website. This is the current hero banner with the original title and description. Once the campaign goes live, I expect those to update. It’s processing now.
If I refresh the page, there it is. The new offer has been applied. Now, let’s take it a step further and use offer decisioning. I’ll modify the campaign again.
Click edit content.
Now you’ll see the right handrail. From here, I can easily add a decision policy. I’ll select one of my existing strategies.
I already have a selection strategy ready. This one. I’ll save it. It includes six items. Now the decision policy is available in my codebase campaign. I can use it to personalize each field. Next, I’ll show how embedding decision policies directly into templates can make things even easier for marketers. Here’s my test website again. I want to replace the fallback offer in the top ribbon with one powered by offer decisioning.
I’ll go to templates and create a new one. I’ll select the codebase experience channel and click create.
This time, I want to build an HTML offer. First, I’ll create a decision policy.
Let’s call it Loomisummer offer. I choose my selection strategy, save it, and click next to create the policy.
Now I’ll go back to the code and insert the decision policy.
Between the policy tags, I’ll add the HTML code I need. I’ll also define the title as an inline editable field so marketers can update it. Here I have two titles, title one and title two.
I can edit them here. When I preview the form fields, the title appears and marketers can change it if needed.
I’ll save and close the template.
Now I’ll go to my campaign that modifies the ribbon. There’s no content yet, so I’ll apply the content template I just created. Once it loads, I can see the editable field in the full code payload, including the decision policy. This way, I don’t need to recreate the decision policy manually. It’s already embedded in the template. If I want to modify the field, I can do it inline or use the personalization editor to insert a specific decision.
I’ll go ahead and review and activate the campaign.
Here’s the current state of the page with the fallback ribbon. Now that the campaign is live, I’ll refresh the website.
And there it is, Beach Summer Sale, with the title coming from Experience Decisioning.
Thank you for watching.
For more information, refer to the detailed product documentation.
Journey Optimizer
- Journey Optimizer Tutorials
- Use Cases
- Customer onboarding
- Abandoned cart
- Intelligent re-engagement - Abandoned Browse
- Personalizing offers with real-time weather data in Adobe Journey Optimizer using Web SDK
- Generating reports on offer impressions and clicks
- Use ranking formula to deliver personalized offers in Journey Optimizer
- Enhance customer engagement
- Scaling orchestration to omnichannel engagement
- Use Case Playbooks
- Introduction to Journey Optimizer
- Campaigns
- Journeys
- Journey Designer - Overview
- Discover the new Journey Designer
- Introduction to building a journey
- Create a test profile
- Publish a journey
- Use case - Transactional journey
- Use case - Business event
- Use case - Read audience
- Use case - Audience qualification
- Mastering multi-attribute filtering
- Validate the journey logic with Journey Dry run
- Unlock journey reentry with supplemental IDs
- Update content in a live journey
- Copy a journey to another sandbox
- Trigger daily journey runs after batch segmentation
- Troubleshoot inbound actions in journeys
- Conflict management
- Profiles, audiences, and subscriptions
- Channels
- Content Management
- Personalize content
- Personalization editor - Overview
- Profile and audience membership-based personalization
- Add offers as personalization
- Use contextual event information for personalization
- Use helper functions for personalization
- Use and manage saved expressions in the personalization library
- Create dynamic content with the condition rule builder
- Personalization editor playground
- Decision Capabilities
- Data Management
- Report and monitor
- Configuration
- Access Control
- Data Governance and Privacy
- Exercises and challenges
- Experience League Live show recordings
- Summit Labs