Skip to main content
An ACI experience is an overlay applied to a base page, fragment, or data document. The base stays complete and publishable. The overlay contains only what changes for an audience or experiment arm.

Audience overlay paths

The target document must exist in the base tree, and the audience must exist and be enabled.

Patch a component block

Suppose .content/pages/home/_index.json contains this base block:
Create .content/overlays/audience/enterprise/pages/home/_index.json:
hero is the base block’s id, not its component contract name. ACI patches that block in place and retains the base description and call to action.
Keep block IDs stable and unique within a region. Renaming a base block without updating its overlays leaves those patches without a target.

Merge behavior

Prefer narrow field patches. Replace a full region only when the personalized experience needs a different composition and you intend to own the complete replacement. Only remove optional fields. The resolved result must still satisfy its component and layout contracts.

Personalize a shared fragment

Fragments use the same pattern. To personalize .content/fragments/navigation/_index.json, create:
Every page that references the fragment can receive the resolved audience variant without duplicating the navigation content.

Combine locale and audience

When site configuration includes:
ACI can apply a locale overlay, an audience overlay, and a more specific combined overlay. A combined Spanish enterprise page uses:
The combined overlay applies after the individual dimensions and only needs to express what is different from the already resolved result.

Validate and review

Then compare the base and selected experience on an ACI preview:
Review the full result, including metadata, shared fragments, responsive layout, links, and fallback—not only the fields changed by the overlay.

Troubleshooting

Confirm the audience is enabled, audience appears in overlayResolution, the target page ID is correct, and the region key matches the base block’s id.
Check whether the overlay supplies an array. Arrays replace regions; an object keyed by block ID patches selected blocks.
A null value removes the field. If the component contract requires it, provide a valid replacement instead.
Review the locale-only overlay, audience-only overlay, and combined overlay in that order. The combined path is most specific and applies last.

Next: Collection and Consent →