Executive summary
- 01The constraint is flow, not creation. A typical asset is worked on for hours but waits for weeks. Faster generation on its own only lengthens the queue.
- 02Two systems of record, zero manual handoffs. Workfront owns the state of work, AEM Assets owns the state of content, and every handoff between them is a webhook, an API call or an event.
- 03Automate the multiplication, not the idea. People make the master; deterministic APIs make the variants; generation is used only where brand rules allow, and a brand-trained model comes after the library is clean.
- 04Govern with rules that machines can run. Brand, price and legal checks become code that runs on every rendition, so human review concentrates on what is genuinely new.
- 05Fund it phase by phase. Three phases with two decision gates, a baseline taken before go-live, and a business case the CFO can reproduce with their own numbers.
The problem, in numbers
AI is changing how content gets made. It has not changed what makes a content operation work.
Almost every marketing leader I speak to describes the same squeeze. There are more channels than ever, customers expect content that feels made for them, and the team doing the work has not grown. Adobe’s June 2025 survey of more than 1,600 marketers shows how big the gap has become.
71%
expect content demand to grow more than 5x between now and 2027
47%
say one piece of content involves 51 to 200 people to create, review, approve and activate
89%
say content must pass three or more approval stages
58%
say more than 40% of time goes on managing reviews and approvals
Source: Adobe research, 1,600+ marketers, published 16 June 2025.
The last two numbers are the ones that matter. Making an image or writing a headline is rarely what slows a team down. Everything around it does: requests that arrive half-formed, files nobody can find, approvals that queue one behind another, and no clear signal about what actually worked. Put generative AI into that process and you get more content, waiting in the same queues.
So the architect’s job is not to “add AI”. It is to redesign how work flows from request to result, and then put AI where it genuinely removes time and risk.
The brief
Take a UK omnichannel retailer in home and lifestyle, the kind of business this problem hits hardest. It sells online and in stores, changes its promotions every week, and its marketing team is stretched across more channels every year. This is the picture I would expect to find, and the solution that follows is designed for it.
- 01Business: UK omnichannel retailer (home and lifestyle), stores plus e-commerce, selling in the UK and Ireland.
- 02Range: about 25,000 active products, with weekly promotions and four seasonal campaigns a year.
- 03Channels: website and app, email, paid social, paid search shopping ads, retail media, in-store screens and print.
- 04Team: a central brand and creative team, an external agency for hero campaigns, and channel teams who resize and adapt assets themselves.
- 05The challenge, in one line: double the content that goes live without doubling the team, and prove what it is worth.
Exhibit 1
Today: how one promotional asset reaches a customer
Diagnosis: five breaks, not one
Before designing anything I would spend two weeks tracing ten recent assets from request to live, timing every handoff. In a business like this one, the pattern is usually the same.
1. No single front door
Requests arrive by email, chat and in meetings. Nobody can see total demand, so priorities are set by whoever shouts loudest and capacity planning is guesswork.
2. Briefs without structure
A free-text brief misses the facts the creative team needs: product codes, price, legal lines, channels and sizes. Each gap triggers another round of questions.
3. Approvals that run in a line
Brand, product, legal and regional teams review one after another, often on email attachments. Comments conflict, versions fork, and a two-day job takes two weeks.
4. Assets nobody can find or trust
Finals live in shared drives with no consistent naming, no usage rights and no expiry dates. Teams recreate assets that already exist, or use ones they should not.
5. Manual versioning and no feedback
Each channel team resizes the master asset by hand. Once it is live, performance data stays in the ad platforms and never reaches the next brief.
Measure the flow before you redesign it
The two-week trace produces a value-stream map: for each stage, how long someone actually works on the asset (touch time) and how long it sits waiting (elapsed time). The ratio, flow efficiency, is the single most useful number in the programme, because it shows how much of the delay technology alone cannot fix.
Exhibit 2
Value-stream baseline: one promotional asset, touch time vs waiting time
The fix is an assembly line with a front door, a single source of truth, parallel checks and a feedback loop. AI then makes each station faster.
Abubakr Akhtar
The target architecture
I design the solution in five layers that follow the life of an asset, with orchestration, data and governance running across all of them. I have mapped it to Adobe’s stack because that is where most large retailers already have licences, but the layers matter more than the logos. Each layer has one job and one owner.
Exhibit 3
Target architecture: five layers from request to result
Layer 1: Plan and request
Every request enters through one form in Workfront with required fields: objective, product codes, offer, legal lines, channels and deadline. A brief assistant drafts the brief from those fields and flags what is missing before it reaches a designer. Marketing leadership gets one calendar showing demand against capacity.
Layer 2: Create
People still make the hero work: the campaign idea, the photography, the master layouts. Variants are where volume lives. Templates in Express and a Firefly model trained on the retailer’s own approved imagery produce on-brand variations, while Firefly Services APIs handle the repetitive work: cutting out products, swapping backgrounds, recolouring and resizing to every channel format in one pass.
Layer 3: Govern and store
AEM Assets becomes the single library for anything approved. AI tags each asset on upload, and the request’s metadata (product codes, campaign, rights, expiry) travels with it. Approvals move from a line to a fan: brand, product and legal review at the same time in Workfront, and each asset is routed by risk. A resized banner with unchanged copy does not need legal; a new price claim always does.
Layer 4: Activate
Approved content flows straight out to channels without download and re-upload. GenStudio for Performance Marketing builds and publishes paid social and display variants, AEM Sites and Dynamic Media serve the web, app and in-store screens, and Journey Optimizer uses the same assets in email. Customer segments from the data layer decide which version each audience sees.
Layer 5: Measure
Content Analytics links results back to the individual asset and its attributes, such as the colour, product and message. That closes the loop: next month’s brief starts with evidence of what worked rather than opinion.
Integration architecture
The layer view says what each part does. The integration view says how they talk to each other. The design principle is simple: Workfront owns the state of work, AEM Assets owns the state of content, and nothing moves between them by hand. Every handoff is either a webhook, an API call or an event.
Exhibit 4
Integration view: systems of record, triggers and protocols
The automated variant pipeline, step by step
The single highest-value integration is the one that turns an approved master layout into every channel version. This is the sequence I would build first.
Exhibit 5
Sequence: from approved master to approved variants
The metadata contract
Automation fails quietly when metadata is optional. I would define a small contract that every asset must carry before it can be approved, and enforce it in the AEM metadata schema rather than in a guideline document.
| Field | Set by | Used for |
|---|---|---|
| Request ID | Workfront (on intake) | Traceability from brief to result |
| SKU list, price, promo ID | PIM via Fusion | Smart-object swaps, price check |
| Channel, format, size | Pipeline | Routing to the right destination |
| Usage rights, expiry date | Rights owner at upload | Auto-expiry, licence compliance |
| AI involvement | Pipeline (model, operation) | Content Credentials, audit |
| Approval status, approver | Workfront → AEM | Gate for every downstream system |
| Creative attributes | Content Tagging + designer | Performance analysis by attribute |
Why variants are the real volume problem
Volume grows by multiplication, not addition. Take one weekend promotion:
12
products featured
× 9
formats across social, display, web, app, email and screens
× 3
copy variants for testing
× 4
audience segments
= 1,296
renditions from one idea
No team resizes 1,296 files by hand, so in practice it publishes a fraction and tests nothing. With the pipeline above, the marginal cost of a rendition falls to an API call plus a sampled human check, and the constraint moves from production to deciding which variants are worth testing.
Brand rules as code
The automated check in step 7 only works if brand guidelines exist in a form a machine can evaluate. Most brand books are PDFs. Part of the work is translating the rules that matter into a versioned configuration owned by the brand team, for example:
# brand-rules/v3.2.yaml (owned by Brand, reviewed quarterly)
logo:
min_width_pct: 8 # of shortest edge
clear_space: 1x # height of the logo symbol
allowed_backgrounds: [white, brand_navy, photo_dark]
colour:
palette_tolerance_deltaE: 3
layout:
safe_zone_by_format:
meta_story_9x16: { top_px: 250, bottom_px: 340 }
claims:
price_must_match: pim.current_price
promo_requires: [legal_line.promo_terms, promo.end_date]
blocked_phrases_ref: legal/blocked-phrases.csv
routing:
new_claim: legal_review # always a human
copy_unchanged_resize: auto_approve_sampled # 1 in 20 checkedThe values above are examples. The point is the shape: thresholds a service can test, references to the systems that hold the truth (the PIM for price, legal for terms), and routing rules that decide who must look. When the brand team changes a rule, it changes once and applies to every rendition from that moment.
Asset lineage
Every rendition keeps a link to its master and to the request that created it. When a price changes or a licence expires, the system finds every derivative in seconds and either regenerates or withdraws it. Without lineage, an expired photograph can stay live in hundreds of placements nobody remembers making.
Technical deep dive: the reference implementation
This section is for the architects and engineers who will build it. It covers the data model, the lifecycle every asset follows, how the pipeline stays reliable at peak, how environments and releases are managed, and how the system is observed and secured. Where a value is an assumption rather than a product limit, it is marked as such.
The domain model
Most content platforms fail on data before they fail on technology. Nine entities carry the whole flow. The key design choice is that a rendition is a first-class record with its own identity, product, channel, audience and provenance, rather than just a file under a folder.
Exhibit 6
Logical data model: from campaign to performance, with system of record per entity
The asset lifecycle as a state machine
“Approved” means different things to different teams until it is defined as a state with entry rules. I model every rendition set as a state machine. Only the transitions shown are legal, each is triggered by a named event, and each guard is enforced by the platform rather than by goodwill.
Exhibit 7
Rendition-set lifecycle: states, events and guards
Engineering the pipeline for peak
Black Friday and the Christmas launch are where this design proves itself. The variant pipeline follows a fan-out, fan-in pattern with explicit back-pressure, because generative and imaging APIs are asynchronous, rate-limited and occasionally fail.
Exhibit 8
Resilient fan-out / fan-in: retries, back-pressure and a dead-letter queue
Sizing the pool. Throughput is set by three numbers you measure in the pilot rather than guess: the concurrency the API entitlement allows (K), the average job time including polling (t seconds), and the share of jobs that need a retry (r). Sustained throughput is roughly K × 3600 ÷ t × (1 − r) renditions per hour. With an assumed K of 20, t of 40 seconds and r of 5%, that is about 1,700 an hour, so the 1,296-rendition promotion clears in under an hour. If the measured numbers are lower, the plan changes the schedule (generate overnight ahead of a launch), not the architecture.
Event payloads and handlers
Every step consumes and emits small, explicit messages. A simplified example of the event the brand-check action receives, and the shape of its handler:
// Simplified event after renditions are registered
{
"type": "rendition_set.registered",
"correlation_id": "REQ-2026-04812",
"set_id": "SET-7f3a",
"risk_class": "promo_price",
"renditions": 1296,
"rules_version": "brand-rules/v3.2"
}
// Handler (App Builder action), pseudo-code
for each rendition in set:
results += check_logo(r) + check_safe_zone(r, format)
+ check_price(r.sku, r.text_layers, pim.price(r.sku))
+ check_required_lines(r, risk_class)
if all(results.pass):
workfront.create_approval(set_id, stages = routing[risk_class], evidence = summary)
else:
workfront.create_task(owner = designer, reasons = failures, link = set_id)
emit("rendition_set.checked", correlation_id, pass_rate)Environments and release management
A content pipeline that can publish to paid media is production software and is released like it.
Exhibit 9
Environment topology and promotion path
Service levels and observability
| Service level objective | Target (proposed) | Measured from |
|---|---|---|
| Standard variant set generated after master approval | 95% within 60 minutes | Event timestamps, by correlation ID |
| Automated brand check completed | 99% within 10 minutes of registration | Check action logs |
| Low-risk approval decision | 90% within 1 working day | Workfront approval history |
| Withdrawal after price change or rights expiry | 100% of placements within 4 hours | Lineage + placement status |
| Pipeline job success without manual intervention | ≥ 98% per month | Dead-letter queue volume |
Targets are set with the business in the foundation phase and reviewed monthly. When a target is missed, the error budget decides what happens next: new automation pauses and the team fixes reliability first.
Threat model
| Threat | How it could happen | Control |
|---|---|---|
| Prompt injection | Free-text brief fields passed into copy generation carry instructions | Briefs feed structured prompt templates; free text is quoted as data; outputs pass the claims check |
| Training-data poisoning | Unapproved or third-party images enter the custom model’s training set | Training sets built only from assets in Approved state with owned rights; set manifest versioned |
| Credential misuse | A scenario holds a broad, long-lived credential | One technical account per environment, least-privilege scopes, secrets in platform vaults, rotation |
| Unauthorised publishing | A rendition reaches an ad account without approval | State-machine invariant enforced at the activation boundary; GenStudio reads Approved only |
| Data leakage | Customer data appears in prompts or generated content | Creation layer has no access to profile data; audiences applied only at activation |
| Provenance stripped | Edited files lose their content credentials | Credentials attached at registration; check fails if a manifest is missing |
Hardening for global scale
A design that works for one market and one format breaks in predictable places when it meets twenty markets, six languages, video and ten years of legacy files. These are the extensions a global rollout needs.
Market rule packs: one brand, many jurisdictions
Brand rules are global; advertising law, language and culture are local. Rather than fork the rules per country, I layer them. Each layer can only add or tighten constraints, never loosen the one above, and the most specific layer wins where they conflict.
Exhibit 10
Rule precedence: global brand, region, market and channel layers
Localisation as a pipeline stage, not a project
Language versions are just another dimension of the variant matrix. Copy is translated once per locale through translation memory and machine translation, then human post-edited only where the risk class requires it (promotional terms, regulated claims, anything tone-critical). Locale fallback is explicit, so a missing Irish-language line falls back to the approved English line rather than to a blank layer, and the fallback is flagged in review.
Store or render? The rendition decision
Not every variant needs to exist as a file. Simple crops and resizes for owned channels can be rendered on request at delivery time; anything containing generated pixels, or bound for an ad platform that needs a file, should be stored as the exact approved file.
| Render on delivery | Store as approved file | |
|---|---|---|
| Best for | Deterministic crops and sizes on web, app and screens | Generated or edited pixels; paid media; regulated content |
| Storage | One master, no rendition sprawl | Grows with the variant matrix; needs lifecycle rules |
| Approval | Approve the master and the crop rules | Approve the exact pixels the customer will see |
| Change agility | New format = new rule, instantly everywhere | New format = regenerate and re-approve |
| Audit | Reproducible from master + rule version | The file is the evidence |
Reuse before you create
The cheapest asset is the one that already exists. The intake form searches the library as the request is typed and shows near matches (same product, similar scene) before a new request can be submitted. On ingest, near-duplicate detection flags images that are visually the same as something already approved, so the library does not fill with copies under different names. Reuse rate becomes a measure the content owner is held to.
Video is a separate lane
Video follows the same states and rules but runs in its own queue with its own service levels, because jobs are larger and slower. Masters are reviewed frame-accurately in Frame.io; derivatives cover aspect-ratio cutdowns per platform, burnt-in or sidecar captions per locale, loudness normalisation and end-card swaps for offers. Captions are mandatory in the rule pack, which also covers accessibility for sound-off viewing.
Accessibility by default
Alt text is drafted automatically on ingest and reviewed for hero assets; contrast and minimum text size are part of the automated check; email and web templates are tested against WCAG 2.2 AA before they enter the template library. Accessibility built into templates scales; accessibility fixed asset by asset does not.
Migration without a big bang
Legacy libraries are usually several times larger than what the business actually uses. I migrate by value, not by volume.
Exhibit 11
Migration funnel: from everything on disk to what is worth moving
Quality engineering for a content pipeline
Content automation needs the same test discipline as any production system, adapted to images and copy.
| Test layer | What it proves | When it runs |
|---|---|---|
| Rule unit tests | Each brand, price and claims rule passes and fails on known examples | Every change to a rule pack |
| Golden-image regression | A fixed set of masters still produces visually identical renditions (pixel diff within tolerance) | Every pipeline, template or model change |
| Contract tests | Payloads between Workfront, Fusion, the APIs and AEM match the agreed schema | Every deployment |
| End-to-end in stage | A real campaign runs from request to sandbox ad account | Every release |
| Load test | Peak volume clears inside the service level with retries | Before each seasonal peak |
| Recovery drill | The dead-letter queue replays cleanly; withdrawal reaches every placement | Quarterly |
Where AI goes, and where it does not
The most useful decision an architect makes is not which model to use. It is which tasks AI should do on its own, which it should assist with, and which stay with people. I sort every task in the workflow on two questions: how repetitive is it, and how costly is a mistake?
Exhibit 12
AI placement: sort tasks by volume and by the cost of a mistake
Two rules keep this honest. First, every AI-generated or AI-edited asset carries Content Credentials, so anyone can see how it was made. Second, the retailer only uses models that are licensed for commercial use and, for the custom model, trained on images it owns. Both are easier to set as defaults on day one than to retrofit after a complaint.
Governing the brand-trained model
A custom model is a product with a lifecycle, not a one-off setup. I would run it the same way the business runs any system that can publish to customers.
Exhibit 13
Custom model lifecycle: from curated training set to monitored release
Testing variants without drowning in noise
Producing 1,296 renditions does not mean testing 1,296 ideas. Most variants exist to fit formats and audiences, not to learn something. I separate the two: format and audience versions simply ship, while a small number of deliberate hypotheses (for example lifestyle image versus product-only, or price-led versus benefit-led copy) are tested with enough traffic per cell to reach a decision. Results are recorded against the creative attributes in the metadata contract, so the learning compounds across campaigns instead of staying inside one ad account.
One campaign, end to end
Architecture diagrams can hide how work actually moves. Here is a single weekend promotion travelling through the new design.
Exhibit 14
A weekend promotion through the new workflow
In the old flow, the designer made one asset and four channel teams each made their own versions after approval, so legal effectively reviewed the same promotion several times. In the new flow, the full set of variants is generated before review, checked automatically against brand rules, and approved once. The person signing off sees every version side by side.
The operating model
Technology changes who does what. Programmes stall when the new work has no owner, so the organisation design is part of the architecture, not an afterthought.
| Role | Owns | Typical home |
|---|---|---|
| Content supply chain owner | End-to-end cycle time and cost; the roadmap; trade-offs between teams | Marketing operations, reporting to the CMO |
| Content operations lead | Intake, capacity, workflow templates, the operations dashboard | Marketing operations |
| Brand governance lead | Brand rules as code, the custom model’s evaluation panel | Brand team |
| Asset librarian | Metadata contract, taxonomy, rights and expiry, lineage | Creative services |
| Automation engineer | Fusion scenarios, App Builder actions, API usage and cost | Martech platform team |
| Legal partner | Claims rules and risk routing, not every asset | Legal |
Two commercial changes usually follow. Agency scopes move from paying per resize to paying for masters and ideas, because variants become an internal, automated output. And channel teams stop producing their own versions; they consume approved ones from Content Hub and request new ones through the front door.
Governance cadence
| Forum | Frequency | Decides |
|---|---|---|
| Steering group (CMO, CFO delegate, CIO delegate) | Monthly | Phase gates, funding, priorities across markets |
| Design authority (lead architect, platform, security) | Weekly | Architecture decisions, exceptions, new integrations |
| Rules council (brand, legal, market leads) | Quarterly, or on regulatory change | Rule-pack changes and routing by risk class |
| Model review board (brand, legal, data science) | Per model release | Release or rollback of custom model versions |
The business case
A CFO will not fund a diagram. The model below shows how I would build the production-cost case, using the baseline from the trace. The starting values are working assumptions; replace them with your own figures and the result updates. It deliberately leaves out revenue upside from better-performing content, which should be proven in pilots rather than assumed.
Interactive model
Run the numbers with your own assumptions
Hours released per year
14,000
Full-time equivalents
8.5
Annual labour saving
£770,000
Payback period
6.2 months
Hours = renditions x automatable share x minutes / 60. FTE assumes 1,650 productive hours a year. Payback = annual cost / monthly saving. Illustrative only.
In most cases the hours are worth more redeployed than removed. The same team that spent its week resizing can produce more original work, run more tests and support more markets, which was the goal in the first place.
Maturity: from ad hoc to orchestrated
| Level | What it looks like | Signal you are here |
|---|---|---|
| 1 Ad hoc | Requests by email, files in shared drives, every version made by hand | Nobody can say how many assets were made last quarter |
| 2 Managed | One intake, a DAM, approvals tracked | Cycle time is measured but long |
| 3 Automated | Variants by API, parallel and risk-based approvals, metadata contract enforced | Most renditions never touch a designer |
| 4 Intelligent | Brand-trained model, attribute-level performance feeding briefs | Briefs cite last month’s results |
| 5 Orchestrated | Agents run defined workflows inside rules, people set goals and approve exceptions | Exceptions, not tasks, fill the team’s day |
A retailer in this position usually starts at level 1 or 2. The 12-month plan targets level 3 across the business and level 4 for paid social, where the feedback loop is fastest.
The 12-month plan
I would not switch everything on at once. Each phase has to pay for the next, and each one ends with a decision point for the leadership team.
Exhibit 15
Roadmap: foundation, scale, then optimise
Foundation (first 90 days)
Stand up the single request form and brief assistant, migrate the assets that are actually in use (not the whole archive) into AEM Assets with rights and expiry, and run automated resizing on one live campaign. The aim is to prove a shorter cycle on real work with real people.
Scale (months 4 to 6)
Move every campaign onto the new intake, switch approvals to parallel and risk-based, and extend automated variants to all channels. This is where most of the time savings appear.
Optimise (months 7 to 12)
Train the custom model on the cleaned library, add AI copy variants with human sign-off, and connect asset-level analytics to briefing and audience targeting.
How we would know it is working
I agree the measures with the CMO and CFO before the first workflow goes live, and record a baseline from the two-week trace. Without a baseline, nobody can prove the investment paid off.
| Measure | What it tells you | How it is captured |
|---|---|---|
| Request-to-live time | Whether the bottlenecks are gone | Workfront timestamps |
| Approval rounds per asset | Whether briefs and reviews are working | Workfront approval history |
| Cost per live asset | Whether variants are getting cheaper | Hours and agency spend ÷ assets published |
| Asset reuse rate | Whether the library is trusted | AEM Assets downloads and placements |
| Share of variants automated | How far automation has reached | Firefly Services and GenStudio logs |
| Performance by asset attribute | Which content earns its keep | Content Analytics, channel data |
Proving business impact, not just efficiency
Production metrics prove the machine works. They do not prove it makes money. For that I separate three questions and use a different method for each: did content get cheaper and faster (operational data, before and after); does more relevant content perform better (controlled tests with holdout groups at campaign level); and does it change revenue at business level (geographic or time-based holdouts, read alongside the marketing mix model the finance team already trusts). Claims are reported only at the level of evidence behind them.
Architecture decisions and trade-offs
A design is only as good as the decisions behind it. These are the ones I would record and take to the steering group, with the option I would choose and why.
| Decision | Options considered | Choice | Why |
|---|---|---|---|
| Where workflow state lives | AEM workflows · Workfront · custom tracker | Workfront | Marketers already plan there; one owner for status, capacity and approvals |
| Orchestration | Workfront Fusion · App Builder only · third-party iPaaS | Fusion for flows, App Builder for custom logic | Fusion is visible and editable by ops; code only where rules need it |
| Variant generation | Templates only · Firefly Services APIs · agency | APIs on approved masters | Deterministic edits first (cut-out, swap, resize); generation only where rules allow |
| Custom model timing | Day one · after library clean-up | After clean-up (month 7+) | Training on unapproved or unlicensed assets bakes in the problem |
| Approval routing | Everyone reviews everything · risk-based | Risk-based | Legal time goes to new claims, not to resized copies of approved ones |
| Migration scope | Full archive · live assets only | Live and last 18 months | Value in weeks, not quarters; archive stays searchable where it is |
Non-functional requirements
- 01Throughput: size the pipeline for peak, not average. Seasonal launches can multiply weekly volume several times; queue jobs and respect API rate limits rather than failing them.
- 02Reliability: every scenario has an error route, a retry policy and an idempotency key, and failed jobs land in a visible queue, not in an inbox.
- 03Security: one technical account per environment, least-privilege scopes, secrets held in the platform rather than in scenarios.
- 04Data boundaries: no customer personal data in generative prompts; audiences are applied at activation, not at creation.
- 05Provenance: Content Credentials on all AI-generated or AI-edited output, and the model and operation recorded in asset metadata.
- 06Observability: a dashboard of jobs, failures, cost per rendition and cycle time, owned by the content operations lead.
- 07Portability: brand rules and the metadata contract are documented independently of any tool, so they survive a platform change.
Where agents fit next
Adobe has introduced Agent Orchestrator in Adobe Experience Platform, with purpose-built agents for tasks such as resizing in content production. In this design, agents belong in the optimise phase, once the metadata contract, approval rules and audit trail exist. An agent working inside clear rules is useful; an agent working in a messy library is a faster way to make the same mistakes.
Risk register
| Risk | Early warning | Mitigation |
|---|---|---|
| Adoption stalls; teams bypass intake | Requests still arriving by email after month 3 | Intake is the only route to the asset library and to agency hours |
| Metadata quality decays | Rising share of assets failing the contract | Contract enforced at upload; librarian owns a weekly exceptions report |
| Wrong price or claim goes live | Any mismatch found in sampling | Price checked against PIM on every rendition; new claims always human-reviewed; lineage enables instant withdrawal |
| Model output drifts off-brand | Rising rejection rate at review | Versioned model, evaluation gate, rollback to previous version |
| API cost exceeds plan | Cost per rendition trending up | Budget alerts per scenario; generate only variants that will ship |
| Agency relationship strain | Disputes over scope | Renegotiate early around masters and ideas, with shared performance goals |
What most programmes get wrong
- 01Starting with the model. A custom model trained on a messy library learns the mess. Clean the library first.
- 02Migrating everything. Moving ten years of archive delays value by months. Move what is live and in use.
- 03Keeping approvals in a line. Faster creation with serial approvals just lengthens the queue.
- 04Treating legal as a blocker. Bring legal in to define the risk rules. They then review less, not more.
- 05No owner for the whole flow. Each tool has an owner; the supply chain needs one too, with authority across marketing, creative and IT.
Content at scale is an operations problem first. Get the flow right and AI multiplies it; get it wrong and AI multiplies the mess.
Abubakr Akhtar
What leaders should take from this
The technology in this paper is ready. Most of it is already licensed in large marketing organisations, sitting underused. What holds companies back is the work around it: agreeing who owns the flow, writing the rules down in a form a machine can check, and having the patience to clean the library before training a model on it.
None of that is glamorous, and all of it compounds. A team that fixes its foundations this year will be able to hand real work to AI agents next year with confidence. A team that skips them will spend next year undoing what the agents did.
If I had to leave a chief marketing officer with one question, it would be this: if demand for content grew five times tomorrow, which part of your process would break first? Start there.
Appendix: assumptions and glossary
Assumptions register
| Assumption | Used in | How it is validated |
|---|---|---|
| Business profile (range size, channels, team shape) | Whole paper | Confirmed in discovery |
| 14-day elapsed / ~9-hour touch time | Value-stream baseline | Two-week trace of ten live assets |
| Variant matrix (12 × 9 × 3 × 4) | Volume, sizing | Actual campaign plans for the next two quarters |
| K = 20, t = 40 s, r = 5% | Pipeline sizing | Measured in the foundation-phase pilot against the actual API entitlement |
| Calculator defaults | Business case | Finance-approved rates and the trace baseline |
| Service-level targets | Observability | Agreed with the steering group in phase 1 |
Glossary
- 01Master: the approved source design from which variants are produced.
- 02Rendition: one specific version of a master for a product, format, locale and audience.
- 03Rendition set: all renditions generated from one master for one request; approved as a unit.
- 04Flow efficiency: touch time divided by elapsed time.
- 05Idempotency key: an identifier that makes repeating an operation produce the same result, not a duplicate.
- 06Dead-letter queue: where jobs go after retries are exhausted, kept intact for diagnosis and replay.
- 07Content Credentials: tamper-evident provenance metadata based on the C2PA standard, recording how content was made and edited.
- 08ROT: redundant, obsolete or trivial content that should not be migrated.
- 09Rule pack: a versioned set of machine-checkable rules for a brand, region, market or channel.
About the author
Abubakr Akhtar
Enterprise business development & partnerships
Abubakr Akhtar is a technology expert who has worked with global companies on martech and solutions.
LinkedInFrequently asked questions
A content supply chain is the end-to-end flow that turns a marketing request into live content and then into performance data: planning and briefing, creation, review and approval, storage, activation across channels, and measurement. Treating it as one flow, rather than separate teams and tools, is what makes it possible to scale content without scaling headcount at the same rate.
Start where tasks are highly repetitive and the cost of a mistake is low, such as resizing, background removal, tagging and brand-rule checks. Use AI to assist, with human approval, for copy variants and translation. Keep campaign ideas, price and regulated claims human-led.
A typical Adobe-based design uses Workfront for planning and approvals, Firefly Services and Express for creation and variants, AEM Assets as the content system of record, GenStudio for Performance Marketing, AEM Sites, Dynamic Media and Journey Optimizer for activation, and Content Analytics for measurement, connected by Workfront Fusion and App Builder.
A phased plan can show a shorter request-to-live cycle on a live campaign within the first 90 days, with most time savings arriving once all campaigns move onto the new intake and parallel approvals in months four to six.
Ready to put AI to work in your business? Let's talk.
Book a free 30-minute introduction call with our team. No obligation.
- Adobe: 71% of marketers say content demand will grow 5x or more by 2027 (June 2025)
- Adobe Experience League: GenStudio content supply chain tech labs
- Adobe Developer: Firefly Services guides
- Adobe: GenStudio for Performance Marketing activation
- Adobe Summit 2025: Agent Orchestrator and AI agents
- Kingsley Napley: the EU AI Act’s transparency rules are now live (August 2026)




