AEM Experience Fragments: Tips from 52 Market Rollouts
Experience Fragments at Scale
Adobe Experience Manager's Experience Fragments are reusable content blocks that can be shared across pages, channels, and markets. At Dyson, we used them extensively to manage consistent content across 52 markets while allowing local teams to customize where needed. After years of working with Experience Fragments at this scale, I have accumulated practical knowledge that the documentation does not cover.
What Are Experience Fragments?
For those unfamiliar, an Experience Fragment is a group of components that together form an experience. Think of a promotional banner with a headline, image, body copy, and CTA button. Rather than rebuilding this on every page, you create it once as a fragment and reference it wherever needed. When you update the fragment, every page that references it updates automatically.
The power comes from variations. A single fragment can have multiple variations: one per market, one per channel (web, email, app), or one per campaign. This is how we managed content across 52 markets without maintaining 52 separate page trees.
Naming Conventions Save Your Sanity
With thousands of fragments across markets, naming conventions are critical. We settled on this pattern:
/content/experience-fragments/dyson/
{region}/
{market}/
{page-type}/
{component-name}/
{fragment-name}For example:
/content/experience-fragments/dyson/
emea/
gb/
pdp/
hero-banner/
v6-absolute-heroEvery fragment name included the product or campaign it related to. Without this discipline, the fragment library becomes an unnavigable mess within months.
Tagging Strategy
In addition to the folder structure, we tagged every fragment with:
- Market: Which markets use this fragment
- Status: Draft, reviewed, published, archived
- Campaign: Associated campaign or product launch
- Expiry: When the fragment should be reviewed or removed
Tags made the fragment finder usable. Without them, authors spent more time searching for fragments than creating content.
Variation Management
The master variation was always the global English version. Market variations inherited from it and overrode only what needed to change: translated copy, localized images, or market-specific offers.
Key rules we established:
- Never edit the master to fix one market: If the UK needs different copy, create a UK variation. Do not change the master and break 51 other markets.
- Document overrides: When a market variation diverges from the master, document why. Future editors need context.
- Regular cleanup: Archived fragments accumulate. We ran quarterly audits to remove expired content and consolidate redundant fragments.
Performance Considerations
Experience Fragments add database queries to page rendering. At our scale, performance required careful management:
- Limit nesting: Fragments within fragments within fragments create deep reference chains. We limited nesting to two levels maximum.
- Cache strategically: Fragment HTML was cached at the dispatcher level with appropriate TTLs. Campaign fragments had shorter TTLs than evergreen content.
- Lazy loading: Below-the-fold fragments were loaded asynchronously to improve initial page load times.
Authoring Performance
The AEM authoring interface slows down with large fragment libraries. We mitigated this by:
- Archiving old fragments to a separate folder structure
- Using the fragment finder with filters rather than browsing folder trees
- Creating market-specific views so authors only see relevant fragments
Rollout Process
When launching a new component or campaign globally, we followed this process:
- Create the master fragment with global English content and all required variations
- Review with stakeholders from key markets (US, UK, Germany, Japan, Australia) for localization issues
- Translate content using AEM's translation framework connected to our translation vendor
- Market review: Local teams reviewed and adjusted their variations
- Staged rollout: Publish to 5 pilot markets, validate, then roll out to remaining markets
- Post-launch audit: Check all 52 markets for rendering issues within 48 hours
This process typically took 2-3 weeks from master creation to global launch. The bottleneck was always translation review, not technical deployment.
Common Mistakes
Mistakes I saw repeatedly (and sometimes made myself):
- Overly complex fragments: A fragment with 15 components is too complex. Break it into smaller, composable fragments.
- Forgetting mobile variations: Fragments designed for desktop often broke on mobile. Always test responsive behaviour.
- Ignoring right-to-left markets: Arabic and Hebrew markets need RTL variations. Retrofitting RTL support is much harder than building it in from the start.
- No version control discipline: AEM has versioning, but teams rarely used it. We lost content to accidental overwrites before enforcing version-before-edit policies.
Key Takeaway
Experience Fragments are powerful at scale, but only with strong governance. Naming conventions, tagging, variation management, and rollout processes matter more than the technical implementation. The technology works fine. It is the organizational discipline around it that determines success.