The most embarrassing email a bank can send starts with: “Hello ${firstName},”. Someone wrote it. Someone approved it. Someone previewed it – just not this version.
Adobe’s August release for Journey Optimizer (AJO) targets exactly this blind spot. Since August 11, content simulation renders every variant of a message side by side in one grid – now generally available for everyone.
What shipped, exactly
- Content simulation is GA since August 11, 2026, as part of AJO’s August release.
- Sample profiles come from a file – CSV, JSON or JSONLINES – with up to 30 variants per run. No test profiles in the production customer database.
- Or the built-in AI builds the matrix for you: it reads your personalization fields and conditional branches and derives the variants – capped at 40.
- Scope: email, SMS, push, all inbound channels (web, code-based experiences, in-app, content cards) and orchestrated campaigns.
- The grid replaces the sequential preview flow – one consolidated action bar, all variants scrollable side by side.
The QA fixture pattern
Here is how this plays out for a banking team that treats the feature seriously:
- Build a sample file that mirrors the profile structure – and treat it as a test fixture: version it in the same repo as your content workflows.
- Fill it with ugly cases: missing first names, 40-character double surnames, a locale your fallback logic has never met.
- Load the file into content simulation and render the full grid.
- Review side by side. The variant nobody rendered is the one review never saw – in pharma, that variant is MLR-approved content that no reviewer ever laid eyes on in its rendered form.
The architecture behind it
The sample payload mirrors the Experience Platform profile structure (profile.attributes.person.name and friends), so anything your personalization logic can reference can be mocked. The decisive design choice sits underneath: nothing is written to the AEP profile store. For regulated teams that is the actual headline – no synthetic customers in production, no consent records to fake, nothing for internal audit to flag. Until now, realistic variant testing usually meant seeding fake profiles into the production database, and in banking that is an audit finding waiting to happen.
The AI-assisted path goes one step further: instead of hand-maintaining the matrix, AJO parses the personalization tokens and conditional-content branches in the message and generates the variant set itself, up to 40 combinations. That matters because the branches nobody remembers are exactly where broken fallbacks live.
The fine print
- Event data from inside a journey cannot be mocked here. Event-triggered personalization still needs testing in journey context.
- This is not journey simulation. That (separate) AJO feature tests flow and timing – content simulation tests what your customer actually reads.
- The caps are real: 30 variants via file or manual entry, 40 via AI generation. Messages with more combinatorics need prioritized sampling.
- The sample file is your responsibility. Adobe gives you the renderer – the discipline of versioning and maintaining the fixture is on your team.
Questions to settle before your next campaign
- How many variants of your last campaign did a human actually see – honestly?
- Who owns the sample file, and is it versioned like the test fixture it is?
- Which conditional branches carry MLR- or compliance-approved content that has never been rendered end to end?
- Where does event-triggered personalization get tested, given it cannot be mocked here?
- Does variant QA time show up anywhere in your content-velocity metrics – or is it invisible work?
Personalization programs rarely stall on ideas. They stall on QA. When a CMO asks why one campaign takes three weeks, the honest answer is often: someone clicks through 30 previews by hand. That someone just got a grid.
Also from AJO’s August release: the journey-level holdout – the feature that sends nothing and proves everything.
Frequently asked questions
What does content simulation in Adobe Journey Optimizer do?
It renders every variant of a message side by side in one grid, generally available since 11 August 2026. Sample profiles come from a file – CSV, JSON or JSONLINES – with up to 30 variants per run, or the built-in AI reads the personalization fields and conditional branches and derives the variant set itself, capped at 40. It covers email, SMS, push, all inbound channels and orchestrated campaigns.
Does content simulation write test profiles into the production database?
No, and that is the decisive design choice. Nothing is written to the Experience Platform profile store. The sample payload mirrors the profile structure, so anything the personalization logic can reference can be mocked – without seeding synthetic customers into production, which is exactly what made realistic variant testing an audit finding waiting to happen in regulated teams.
What can content simulation not test?
Event data from inside a journey cannot be mocked here, so event-triggered personalization still needs testing in journey context. It is also not journey simulation, which tests flow and timing; content simulation tests what the customer actually reads. The caps are real: 30 variants via file or manual entry, 40 via AI generation.
Simulation is only as good as the profile you simulate against. Getting representative test profiles into a sandbox is unglamorous, and it is where most preview processes quietly fall apart.
Get in touch →Sources: AJO release notes (August 2026) · Simulate content variations documentation (updated Aug 11, 2026). Adobe, Adobe Journey Optimizer and Adobe Experience Platform are trademarks of Adobe Inc. This is an independent analysis; no partnership with or endorsement by Adobe. First published as part of my LinkedIn series, August 2026.

