> For the complete documentation index, see [llms.txt](https://server-side.docs.sirdata.net/sirdata-server-side/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://server-side.docs.sirdata.net/sirdata-server-side/installation/optimiser-gtm-web.md).

# Optimiser GTM Web

## Charger le script GTM Web depuis le host server-side

L'un des principaux avantages de l'infrastructure server-side de Sirdata est la possibilité de **charger le script Google Tag Manager (GTM) Web directement depuis votre host server-side**. Cette méthode permet de :

* **Contourner les bloqueurs de publicité** (ad blockers) qui bloquent traditionnellement les scripts GTM
* **Contourner les restrictions de Safari en navigation privée** sur iOS, qui limitent le tracking tiers

## Options d'optimisation disponibles

Lorsque vous chargez GTM Web depuis le host server-side, plusieurs options d'optimisation sont disponibles :

### 1. Chargement de la CMP depuis le script GTM

Cette option permet de charger la CMP (Consent Management Platform) directement depuis le script GTM Web, ce qui **optimise le Consent Mode**. Les signaux de consentement sont disponibles plus tôt dans le cycle de vie de la page, améliorant la précision du conditionnement des balises.

### 2. Réordonnancement du dataLayer

Cette option **optimise les séquences d'événements** dans le dataLayer. En réordonnançant les entrées du dataLayer avant l'initialisation de GTM, on s'assure que :

* Les déclarations de données arrivent en premier
* Les événements de consentement CMP sont traités avant le déclenchement des tags
* Le signal de démarrage `gtm.js` est correctement positionné

Cela évite notamment les problèmes de données **"Not Set"** dans GA4, qui surviennent lorsque les tags se déclenchent avant que les variables de configuration ne soient disponibles.

### 3. Charger GTM après le choix de consentement&#x20;

Cette option retarde l'**exécution** de GTM jusqu'à ce que le choix de consentement de l'utilisateur soit connu (soit récupéré depuis une session précédente, soit après une action explicite de l'utilisateur sur la CMP).

<figure><img src="/files/7h998caxOWlNd8S3ltWf" alt=""><figcaption></figcaption></figure>

**Le prix à payer** : un léger différé dans l'exécution de GTM. Mais le script GTM étant préchargé (`<link rel="preload">`), le délai d'exécution après le signal de consentement est négligeable.

**L'avantage immense** : quand GTM s'exécute après que le choix de consentement est connu, le conditionnement des balises est **grandement simplifié**. Il suffit alors d'utiliser les conditionnements intégrés des balises, basé sur le Google Consent Mode V2.

#### Configuration dans GTM

Dans GTM, accédez à la configuration de votre balise, puis dans la section **Consent Settings (BETA)** → **Additional Consent Checks** → sélectionnez **Require additional consent for tag to fire**.

![Configuration des consent settings dans GTM](/files/RL2c41F6RrxC8iOk1cjZ)

Vous pouvez spécifier les consentements requis, par exemple :

* `ad_storage` — requis pour les balises publicitaires
* `ad_personalization` — requis pour la personnalisation des annonces

Il est possible d'ajouter d'autres conditions selon vos besoins.

{% hint style="warning" %}

## ⚠️ Avertissement important

**Cette méthode n'est efficace QUE avec :**

* La CMP Sirdata
* sGTM hébergé par Sirdata

**L'utiliser avec une autre CMP ou une autre offre sGTM risque de bloquer tous les déclenchements de balises**, car les signaux de consentement nécessaires ne seraient pas disponibles au moment où GTM s'exécute.
{% endhint %}
