> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gradial.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Personalization Architecture

> How ACI compiles, selects, and delivers personalized experiences with a dependable base fallback.

Gradial ACI (Agentic Content Infrastructure) treats personalization as part of the content model. You author a complete base experience and small, targeted overlays. ACI validates and compiles the base plus each eligible variant before a release can be activated.

At request time, the delivery layer selects one compiled artifact. It does not assemble arbitrary content in the browser.

```mermaid theme={null}
flowchart LR
    A["Base page"] --> D["ACI compiler"]
    B["Audience overlays"] --> D
    C["Experiment overlays"] --> D
    D --> E["Base artifact"]
    D --> F["Finite variant artifacts"]
    E --> G["Request-time selection"]
    F --> G
    G --> H["One complete response"]
```

## The content model

| Resource | Purpose |
| - | - |
| **Base experience** | The complete page or fragment shown when no targeted variant applies. |
| **Segment** | A reusable definition based on consented first-party events. |
| **Audience** | A named target that connects membership logic to an experience. |
| **Overlay** | A focused patch to a base page, fragment, or data document. |
| **Experiment** | A controlled allocation across a base control and one or more variant arms. |
| **Goal** | A collected event used to measure an experiment outcome. |

The base experience is always required. An overlay contains only the fields that differ, which keeps review focused and avoids maintaining full copies of a page.

## Compile once, select at the edge

<Steps>
  <Step title="Author the target and experience">
    Define an audience or experiment, then add overlays for the pages or fragments that should change.
  </Step>

  <Step title="Compile every valid outcome">
    ACI resolves overlays, references, layouts, and component contracts. A release is blocked if a resolved variant is invalid.
  </Step>

  <Step title="Stage one immutable release">
    The base artifact, variant artifacts, and selection metadata are staged together. Preview uses that exact release.
  </Step>

  <Step title="Select one artifact per request">
    The delivery layer evaluates available request facts, consented audience membership, and experiment assignment. It selects one exact compiled artifact before returning the response.
  </Step>
</Steps>

For static delivery, the selected artifact is complete HTML. For supported Next.js SSR delivery, ACI selects a compiled page graph and the application renders that exact selection. Audience matching and fallback do not move into application code.

## Safe fallback behavior

ACI returns the base experience when:

* no audience or experiment matches;
* consented identity is unavailable for behavior-based targeting;
* a targeting fact is missing;
* a resource is disabled or not part of the active release; or
* selection cannot produce a valid variant.

This makes fallback an authored behavior, not an error screen. Review the base path whenever you review a personalized path.

## Collection and consent

Request-based targeting can use facts available on the current request. Behavioral audiences require consented first-party events and a usable visitor identity. ACI's browser collector connects those events to the same versioned audience definitions used by the compiler.

Consent remains part of the delivery decision. Without the required consent, ACI does not use identity-dependent audience membership and returns the base experience. Experiments configured for anonymous participation follow their own assignment and measurement policy while respecting supported privacy signals.

<Info>
  ACI provides the technical consent controls described here. Your organization is responsible for configuring them to match its privacy policy and legal requirements.
</Info>

## Releases, caching, and rollback

Variants are immutable within a release. The delivery layer can cache them by release and artifact identity because visitors selecting the same artifact receive the same compiled result. Visitor identity and raw consent data are not part of the content artifact.

Activation switches the complete release: base content, variants, and selection metadata move together. A release rollback restores the previous set together as well.

## Start building

<CardGroup cols={2}>
  <Card title="Personalization quickstart" icon="wand-magic-sparkles" href="/aci/personalization/quickstart">
    Create a behavior-based audience and your first overlay.
  </Card>

  <Card title="Experiences and overlays" icon="layer-group" href="/aci/personalization/experiences-and-overlays">
    Learn how focused patches resolve against base content.
  </Card>

  <Card title="Collection and consent" icon="shield-check" href="/aci/personalization/collection-and-consent">
    Connect a consent provider and capture first-party events.
  </Card>

  <Card title="Experiments and reporting" icon="flask" href="/aci/personalization/experiments-and-reporting">
    Define goals, allocate arms, and evaluate outcomes.
  </Card>
</CardGroup>

***

*Next: [Hosting and Delivery →](/aci/platform/hosting)*


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.