> For the complete documentation index, see [llms.txt](https://help.citrusad.com/retail-media-interface/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.citrusad.com/retail-media-interface/integration/brand-pages/brand-page-retailer-integration-guide/integration-architecture.md).

# Integration Architecture

## Integration Components

**Required Components**

1. API Client – Fetches brand page content.
2. Content Renderer – Displays modules on your site. Handles modules and fields that may be missing or empty without throwing; falls back or hides UI blocks when optional creative data is absent.
3. Tracking Handler – Composes tracking URLs from `trackingTemplates` and per-slot `trackers.<slot>params`, then fires C2S and/or S2S events.
4. Reverse Proxy – Routes tracking through your domain.

This section describes the high‑level runtime sequence for serving and tracking.

## Integration Flow

**Tracking Options (Choose One)**

| Method                     | When to Use                                                                                                                                                                                       |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **(Client-to-Server) C2S** | Standard web implementation: browser‑based impression pixels plus click redirects or event beacons (clicks and add-to-cart). This approach is strongly recommended by Epsilon for most retailers. |
| **(Server-to-Server) S2S** | Use when your architecture requires server‑side event firing, client‑side pixels are unreliable, or you want server‑side confirmation in addition to C2S.                                         |

{% hint style="info" %}
**A reverse proxy is required only for C2S (browser) tracking. S2S calls go directly to the Epsilon tracking host using URLs you compose from `trackingTemplates.server`** **`+`** **`trackers.<slot>params` (same recipe as C2S, without `BASEURL`). Do not route S2S calls through a reverse proxy or modify the template host or path.**
{% endhint %}

<br>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.citrusad.com/retail-media-interface/integration/brand-pages/brand-page-retailer-integration-guide/integration-architecture.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
