> 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/fr/brand-pages/brand-page-retailer-integration-guide/overview-1.md).

# Présentation

## Que sont les Brand Pages ?

Les Brand Pages sont des expériences de pages d'atterrissage personnalisées qui résident sur votre site Web et mettent en valeur le contenu spécifique d'une marque. Elles sont hébergées sur votre domaine et restituées à l'aide de vos composants d'interface utilisateur.

Les Brand Pages sont gérées séparément des campagnes publicitaires standard dans la Epsilon plateforme.\
Bien qu'elles utilisent un flux de travail de création et de révision similaire, elles représentent des expériences de pages d'atterrissage de marque sur le site d'un distributeur, et non des publicités traditionnelles.

**Exemple :** Un utilisateur visite `yoursite.com/brands/nike` et voit une page aux couleurs de Nike avec des produits Nike, mais dont l'aspect et la convivialité s'intègrent parfaitement à votre site Web.

## Ce que vous allez construire

En tant qu'ingénieur chez le distributeur, vous allez :

* Ajouter une route pour les URL de Brand Page (par exemple, `/brands/{slug}`).

{% hint style="info" %}
Les distributeurs ne sont pas tenus d'attribuer une URL pour chaque Brand Page. Les URL sont gérées automatiquement par la plateforme.

Cependant, l'URL de base de la Brand Page (y compris le préfixe) doit être configurée lors de l'intégration (par exemple, dans le guide de style du distributeur). Si l'URL complète ou le préfixe n'est pas fourni, l'URL de la Brand Page ne sera pas renseignée sur la page de configuration.
{% endhint %}

* Appeler l'API Brand Pages en utilisant le slug extrait.
* Rendre les modules de contenu retournés.
* Mettre en œuvre le suivi des impressions, des clics et des ajouts au panier.
* Configurer un reverse proxy pour le suivi first-party.

{% hint style="info" %}
Cette étape n'est requise que pour le suivi côté client.
{% endhint %}

### Vos responsabilités par rapport à Epsilon's

| Vous gérez                                       | Epsilon Fournit                    |
| ------------------------------------------------ | ---------------------------------- |
| ✅ Intégration de l'API pour récupérer le contenu | ✅ Contenu et modèles de Brand Page |
| ✅ Rendu du contenu sur votre site                | ✅ Infrastructure de suivi          |
| ✅ Configuration du reverse proxy                 | ✅ Analyses et rapports             |
| ✅ Fourniture de votre guide de style             | ✅ Outils de gestion de campagne    |
| ✅ Tests et validation                            | ✅ Support technique                |

## Comment fonctionnent les Brand Pages

### Flux de bout en bout

{% hint style="info" %}
Le contenu de la Brand Page est configuré et prévisualisé dans l'interface utilisateur de Epsilon . Les distributeurs intègrent les Brand Pages exclusivement via des API et sont responsables du rendu de l'expérience finale sur leurs sites.
{% endhint %}

Pendant le processus de révision, les distributeurs peuvent prévisualiser le contenu configuré de la Brand Page avant approbation.

### Modèles et modules

Lors de l'intégration, Epsilon travaille avec votre équipe pour créer des modèles qui définissent :

* Les modules de contenu disponibles (tels que le hero, la grille de produits, le texte et les images), avec des noms de modules configurables dans l'interface utilisateur pour s'aligner sur la taxonomie de votre distributeur.
* Les contraintes pour chaque module (limites de caractères, dimensions des images, etc.).
* Le style qui s'aligne sur vos directives de marque.

Les marques sélectionnent un modèle lors de la création de leur campagne, puis remplissent le contenu dans la limite de ces contraintes.

{% hint style="info" %}
L'API Brand Pages renvoie des modules de contenu et des URL de suivi. Les distributeurs sont responsables de l'application du style en utilisant leurs propres composants d'interface utilisateur et leur système de design.
{% endhint %}

**Exemples**

Les exemples suivants illustrent comment les marques peuvent renseigner les modules de contenu courants lors de la création d'une Brand Page. Il s'agit uniquement d'exemples d'entrées qui peuvent être ajustés en fonction du modèle sélectionné et des objectifs de la campagne.

**Module HERO**

* **Titre :** Découvrez la dernière collection d'été
* **Sous-titre :** Des styles frais pour chaque occasion
* **CTA :** Acheter maintenant

**Module TEXTE**

Découvrez nos nouveautés conçues pour le confort, le style et la performance - parfaites pour un usage quotidien.

**Module IMAGE**

* Légende :\*\* Nouveautés maintenant disponibles
* **Texte alternatif :** Mannequin portant la collection d'été
* URL : <https://example-cdn.com/summer-collection.jpg>

**PRODUCT\_Module GRILLE**

Utilisez une grille de produits pour mettre en valeur les produits les plus vendus ou saisonniers et stimuler l'engagement et les conversions.

#### Configuration des modules :

| Module         | Description                                                  | Éléments configurables (résumé)                                   |
| -------------- | ------------------------------------------------------------ | ----------------------------------------------------------------- |
| HERO           | Bannière pleine largeur avec image, titre et CTA             | Titre, sous-titre, CTA, image, superposition                      |
| PRODUCT\_GRID  | Grille ou carrousel de produits                              | Produits, titre de section, description, CTA                      |
| TEXTE          | Bloc de contenu textuel (titre, corps du texte)              | Champs de texte, CTA                                              |
| IMAGE          | Image unique avec lien optionnel                             | Image, légende, texte alternatif, lien optionnel                  |
| IMAGE\_GALLERY | Plusieurs images dans une disposition en grille              | Images, légendes, texte alternatif, titre de section, description |
| FILTER\_MENU   | Onglets de filtrage horizontaux pour les grilles de produits | Libellés de filtres et ordre                                      |
| SPLIT\_LAYOUT  | Disposition sur plusieurs colonnes avec modules imbriqués    | Structure de la disposition et modules imbriqués                  |

{% hint style="info" %}
Chaque élément configurable peut être défini comme requis, optionnel (autorisé) ou désactivé, selon le module et les exigences du détaillant.

Certains champs peuvent également appliquer des limites maximales de caractères lorsqu'ils sont marqués comme requis ou autorisés.
{% endhint %}

### Balises de module

Les modèles peuvent inclure un champ optionnel `tags` sur chaque module — une liste de courts libellés sous forme de chaînes de caractères (par ex., `["header"]`) que votre intégration peut utiliser pour les décisions de disposition, l'analyse de données ou l'association de modules à vos propres composants.

#### Comment fonctionnent les balises dans la réponse de l'API

* Lorsqu'un module comporte des balises, elles apparaissent sous la forme d'un tableau `tags` sur l'élément correspondant dans `contentData`.
* Lorsqu'un module n'a pas de balises, la propriété `tags` est entièrement omise de la réponse - elle n'apparaîtra pas comme `"tags": []`.
* Traitez un champ `tags` manquant de la même manière que "aucune balise" - ne renvoyez pas d'erreur s'il est absent.
* Les balises sont également prises en charge sur les modules imbriqués au sein de `SPLIT_LAYOUT` - pas seulement sur le module fractionné racine.

{% hint style="info" %}
Important

Les balises sont des libellés opaques convenus entre le détaillant et son équipe d'intégration. Elles ne sont pas liées aux balises de suivi publicitaire ou à tout autre système — référez-vous toujours à celles-ci en tant que *« balises de module »* ou *« balises de module de page de marque »* pour éviter toute confusion.
{% endhint %}

Exemple de module de réponse avec une balise

```json
{
  "id": "image-1",
  "contentType": "IMAGE",
  "order": 1,
  "tags": ["header"],
  "imageUrl": "https://example.com/images/banner.jpg"
}
```

**Exemple de module de réponse sans balise (propriété tags omise) :**

```json
{
  "id": "image-2",
  "contentType": "IMAGE",
  "order": 2,
  "imageUrl": "https://example.com/images/promo.jpg"
}
```

#### Ce que cela signifie pour la réponse de l'API

La réponse `POST /ads/v3/brand-pages` reflète ces mêmes règles : un type de module apparaît uniquement dans `contentData` lorsqu'il fait partie du modèle actif et que la page de marque a configuré du contenu pour ce module.

Les champs à l'intérieur d'un module peuvent être absents du JSON, `null`, ou vides lorsque le modèle les marque comme optionnels ou désactivés, ou lorsque la marque ne les a pas définis - ceci est attendu et n'indique pas une charge utile défectueuse.

Implémentez le rendu avec des types optionnels et des accesseurs sécurisés - par exemple, ne réalisez le rendu d'un bloc d'appel à l'action que lorsque `ctaText` et une cible de navigation sont présents ; masquez le média principal lorsque `mediaUrl`est absent.

`trackers`au niveau de la page ou sur un nœud peut être omis lorsqu'il n'y a pas d'interaction traçable. Composez des URL uniquement lorsque vous disposez à la fois d'une clé de modèle applicable provenant de `trackingTypes` et de la valeur correspondante `trackers.`\<slot>`.params`, lorsqu'il est fourni par l'API.


---

# 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/fr/brand-pages/brand-page-retailer-integration-guide/overview-1.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.
