The March 2026 AJO release: not one big headline, but several meaningful signals
Adobe Journey Optimizer’s March 2026 release (published at the end of March 2026) doesn’t have a single dramatic feature. What it has is a cluster of capabilities that, read together, tell a coherent story about where AJO is heading as a platform.
The feature I want to focus on is Landing Page Custom Forms, which reaches General Availability in this release after a limited availability period restricted to the US and Australia. But I also want to flag a few other updates in this release that are more operationally significant than their release note entries suggest.
Landing Page Custom Forms: what it is, and what it actually enables
The feature in one sentence: you can now build custom forms natively in AJO, tied directly to specific AEP datasets, and embed them into AJO landing pages, allowing you to capture and write profile attributes without an external form tool, a third-party integration, or a custom API call.
Previously, AJO landing pages could handle basic subscription and preference capture (opt-ins, unsubscribes, simple preferences) through built-in components. If you needed to capture anything beyond that, like enrichment data, survey responses, progressive profiling fields and zero-party data collection, you had to either build a custom solution or bring in an external form/CDP tool and pipe the data back into AEP.
Custom Forms changes this architecture. Here’s what the capability enables in practice:
Form design tied to a dataset, not a generic profile schema. You create a form based on a specific AEP dataset. That dataset becomes the destination for the captured data. This is an important design choice: rather than writing directly to the unified profile (with all the schema governance that implies), you can route form submissions to a purpose-built dataset, useful when the data needs a validation or enrichment step before it reaches the profile, or when you want to keep zero-party data in a separate, auditable dataset.
Progressive profiling at scale. The classic use case: show a customer a landing page after an email click and ask them 1–2 questions you don’t already know: industry, company size, product interest and preferred communication frequency. The form writes directly into the designated AEP dataset. On subsequent interactions, the enriched profile is available to AJO journeys for more relevant decisioning.
Consent and preference capture with AEP-native persistence. Rather than routing form submissions through a consent management platform that then syncs back to AEP on a delay, you can capture consent signals in AJO and write them natively to the AEP dataset in real time. For organizations where consent latency is a compliance and operational risk, this is a meaningful simplification.
Reduced external dependencies. Forms that previously required Typeform, Marketo Forms or a custom web form backed by an API now have a native AJO path. This isn’t an argument for replacing all your form tooling; specialized form platforms offer UX and logic depth that a native landing page form won’t match. But for straightforward data capture use cases embedded in marketing journeys, removing the external dependency reduces integration surface, latency, and error surface.
What does “AEP dataset, not just the profile” means architecturally
The detail worth pausing on is the dataset-first design. In the AEP data model, a dataset is where raw records land. The Real-Time Customer Profile is a computed view assembled from multiple datasets, governed by merge policies and identity resolution.
When Custom Forms writes to a specific dataset (rather than directly updating a profile attribute), it means:
- The captured data is auditable at the source: you can see exactly what was submitted, when, and by which identity, before it gets merged into the profile
- You can apply data governance labels to the dataset independently: useful when zero-party data has different access or usage restrictions than behaviorally derived attributes
- The merge policy controls how and when that data surfaces in the live profile: giving the data engineering team control over the timing and logic of profile enrichment, rather than immediate overwrite
This is the kind of architectural nuance that doesn’t show up in a product screenshot. For practitioners who’ve dealt with “someone’s form submission overwrote a key profile field in production”, the dataset-level isolation is a real safeguard.
The Progressive Disclosure angle
One use case I find particularly relevant: multi-step progressive profiling within a single journey.
Consider a post-purchase journey:
- Trigger: customer completes first order
- Day 3 email: “Help us personalize your experience” → links to an AJO landing page with a Custom Form (2 questions about preferences)
- Form submission → writes to enrichment dataset → profile attribute updated
- Day 7 email: personalized recommendations now informed by the form responses
- Week 4 landing page: second form, deeper enrichment
With Custom Forms natively inside AJO, that entire loop, trigger, content, form, data capture, profile update, journey branching, happens within one platform, with one unified view of what the customer told you and when.
Previously, each handoff between AJO and an external form tool was a potential gap: sync delay, identity mismatch, missed events and failed API calls. Reducing those handoffs is not just an operational convenience; it’s a data quality and experience consistency improvement.
The rest of the March release: four things I’d flag
Beyond Custom Forms, the March 2026 release has several updates that deserve attention from practitioners.
Wave Sending reaches GA (March 16, 2026). Wave Sending lets you deliver messages from journeys in controlled batches over time, rather than triggering all eligible customers simultaneously. For organizations sending high-volume campaigns that risk overwhelming downstream systems (CRM, call centers, fulfillment pipelines) when a large audience receives a message at once, this is a pressure-relief valve. The use case is underappreciated: think of an “appointment reminder” campaign that could trigger 500,000 calls to a contact center in one hour, or a “restock notification” that floods a commerce platform with simultaneous sessions. Wave Sending makes burst management a native journey capability rather than a configuration workaround.
Journey Agent can now generate channel content (Limited Availability). The Journey Agent, which reached GA for journey creation earlier in 2026, now extends into content generation: you can ask the agent to draft an email or push content, apply a template, adjust tone via prompt, and transfer the result to the Content Designer for editing. This is in Limited Availability for specific organizations, not broadly GA. The interesting architectural note: content generation + journey creation in one agent interface means you can go from “describe a use case in plain language” to “here’s a draft journey with draft content” without switching contexts. The quality of the output will depend heavily on your template library and brand guidance inputs. An agent writing content without brand constraints is only as good as what you’ve given it to work from.
Update Profile now supports five attributes per node. Previously, each Update Profile node in a journey could update one attribute. Now it supports up to five, with an “Add another field” button. This is a small UX fix with a meaningful canvas impact: journeys that needed four separate Update Profile nodes to enrich a profile after an event can now consolidate into one. Less canvas sprawl, cleaner journey logic, fewer debugging surface points. Unglamorous. Valuable.
iOS Live Activities reaches GA. Live Activities, Apple’s persistent, real-time notification surface in the Dynamic Island and lock screen, exits beta and reaches General Availability. For mobile-first brands in retail, travel, food delivery, and sports, this is the channel capability that enables genuinely ambient engagement: order status, game score, flight updates, ride ETAs living on the lock screen, updated in real time, without the user opening the app. AJO can now orchestrate this natively. The trigger and personalization architecture for Live Activities is different from standard push, it’s designed for ongoing state updates, not discrete sends. Treat it as a new channel pattern, not just a new push type.
My practitioner takes on this release
If I had to characterize the March 2026 release in one sentence: AJO is closing the gaps between “what you can orchestrate” and “what you can capture.”
Custom Forms, in particular, signal something important. First-party data collection has been a strategic priority for most enterprise marketing organizations since cookie deprecation accelerated the urgency. But the tooling answer has been fragmented: form builders, CDPs, survey tools, and preference centers, each with their own integration to AEP, their own latency, their own identity matching logic.
A native AJO form → AEP dataset path isn’t a silver bullet. Your schema design, merge policy, and governance framework still need to be right. But it removes one class of complexity from a problem that already has enough.
The Wave Sending GA is similarly underrated. Batch-era platforms solved burst control decades ago. Real-time CEPs often sacrifice it in pursuit of immediacy.
The fact that AJO is formalizing wave delivery as a GA capability signals real platform maturity. This isn’t just about exciting real-time features; it’s about the boring-but-essential controls that keep large-scale programs from becoming liabilities, and that still make Adobe Campaign so relevant in some enterprise use cases.
References & sources
- Adobe Journey Optimizer — Release Notes (March 2026): https://experienceleague.adobe.com/en/docs/journey-optimizer/using/whats-new/release-notes
- Adobe Journey Optimizer — Release Notes 2026 (full year archive): https://experienceleague.adobe.com/en/docs/journey-optimizer/using/whats-new/previous-rn-new/release-notes-2026
- Landing Page Custom Forms (detailed docs): https://experienceleague.adobe.com/en/docs/journey-optimizer/using/content-management/landing-pages/lp-forms
- Wave Sending in Journeys: https://experienceleague.adobe.com/en/docs/journey-optimizer/using/orchestrate-journeys/create-journey/send-using-waves
- Update Profile action: https://experienceleague.adobe.com/en/docs/journey-optimizer/using/orchestrate-journeys/about-journey-building/update-profiles
- iOS Live Activities: https://experienceleague.adobe.com/en/docs/journey-optimizer/using/channels/live-activity/get-started-mobile-live
- Journey Agent (content generation): https://experienceleague.adobe.com/en/docs/experience-cloud-ai/experience-cloud-ai/agents/ajo-agent
- AJO Release Cycle (for context on continuous delivery model): https://experienceleague.adobe.com/en/docs/journey-optimizer/using/whats-new/releases