# Google Analytics 4 - Proxy Mode

{% hint style="info" %}
La protection de la vie privée des utilisateurs est devenue une nécessité avec la mise en œuvre du RGPD.\
Conformément à ce règlement, vous devez supprimer toute information personnellement identifiable des données utilisateur avant de les transférer vers un outil détenu par une entité américaine, en raison de l’invalidation du Privacy Shield.

Le [CNIL a recommandé](https://www.cnil.fr/fr/cookies-et-autres-traceurs/regles/google-analytics-et-transferts-de-donnees-comment-mettre-son-outil-de-mesure-daudience-en-conformite) le 7 juin 2022 que la proxification soit mise en place avec d’autres mesures spécifiques afin de garantir la validité de l’utilisation de GA4.
{% endhint %}

## 1. Utiliser les options de proxy dans les paramètres de destination

L’option de mode proxy dans la [destination GA4](/fr/fonctionnalites/destinations/destinations-catalog/google/google-analytics-4.md) vous permet d’anonymiser les données avant de les envoyer à Google.

Lorsqu’elle est activée, le *mode proxy* vous donne accès à un certain nombre d’options qui vous permettent de choisir de manière granulaire comment chaque paramètre doit être anonymisé.

<figure><img src="/files/72fffd6b94203156f4ddaa0885ccd3a1a73b0432" alt=""><figcaption><p>Certaines options du mode proxy</p></figcaption></figure>

Vous trouverez ci-dessous la recommandation de la CNIL, et pour chaque paramètre, le *mode proxy* vous offre un moyen simple de gérer l’anonymisation :

1. ***l’absence de transfert de l’adresse IP vers les serveurs de l’outil d’analyse.** Si une localisation est transmise aux serveurs de l’outil de mesure, elle doit l’être par le serveur proxy et le niveau de précision doit garantir que cette information ne permet pas de réidentifier la personne (par exemple, en utilisant une maille géographique assurant un nombre minimal d’internautes par cellule) ;*\
   \
   **Solution :** Vous pouvez choisir d’obfusquer l’IP (le dernier octet (la dernière partie) de l’adresse IP est remplacé par 0) ou de la supprimer complètement. L’obfuscation est souvent préférée car elle permet de retirer le caractère identifiant de l’IP tout en conservant les fonctionnalités de géolocalisation du pays\\
2. ***le remplacement de l’identifiant utilisateur par le serveur proxy.** Pour garantir une pseudonymisation efficace, l’algorithme effectuant le remplacement doit assurer un niveau suffisant de collision (c.-à-d. une probabilité suffisante que deux identifiants différents donnent un résultat identique après un hash) et inclure un composant variant dans le temps (ajout d’une valeur aux données hachées qui évolue au fil du temps afin que le résultat du hash ne soit pas toujours le même pour le même identifiant) ;*\
   \
   **Solution :** Vous pouvez choisir de pseudonymiser le client id (cid) et le user id (uid). Cette option de pseudonymisation consiste à remplacer l’ID par un hash de l’ID plus un salt.\
   L’ID sera d’abord concaténé avec un salt qui change environ toutes les 3 heures, puis haché à l’aide de SHA256. Cela permet de créer des ID anonymes identiques au sein d’une session mais différents d’une session à l’autre. Cela empêchera GA4 de suivre un utilisateur dans le temps.\\
3. ***la suppression des informations de referrer externe de** le site ;*\
   \
   **Solution :** Vous pouvez choisir de le supprimer ou de ne conserver que les domaines internes.\\
4. ***la suppression de tous les paramètres contenus dans les URL collectées** (par exemple les UTMs, mais aussi les paramètres d’URL permettant le routage interne du site) ;*\
   \
   **Solution :** Vous pouvez choisir de supprimer tous les paramètres d’URL, de ne conserver que certains paramètres et/ou de conserver les UTMs dans certains cas\\
5. ***le retraitement des informations pouvant servir à générer un fingerprint**, telles que les user-agents, afin de supprimer les configurations les plus rares pouvant mener à une réidentification ;*\
   \
   **Solution :** Choisir de supprimer complètement le user-agent semble être la meilleure option.\\
6. ***l’absence de collecte d’identifiants cross-site ou persistants** (CRM ID, ID unique) ;*\
   \
   **Solution :** Utilisez la [Properties Transformation](https://doc.commandersact.com/fr/fonctionnalites/destinations/destinations-catalog/google/google-analytics-4/pages/d81eda9df7db3d599ee7cf0039f51c1df78e4678#transform-data-before-it-gets-to-the-destination.) feature ou le [Data Cleansing](/fr/fonctionnalites/data-quality/data-cleansing.md) feature permettant de traiter au cas par cas en supprimant/hachant/transformant vos propriétés (voir [Manage custom PII data](#2.-manage-custom-pii-data) ci-dessous) Il est souvent plus simple de supprimer complètement le user id.\\
7. ***la suppression de toute autre donnée pouvant conduire à une réidentification**.*\
   \
   **Solution :** Utilisez la [Properties Transformation](https://doc.commandersact.com/fr/fonctionnalites/destinations/destinations-catalog/google/google-analytics-4/pages/d81eda9df7db3d599ee7cf0039f51c1df78e4678#transform-data-before-it-gets-to-the-destination.) feature ou le [Data Cleansing](/fr/fonctionnalites/data-quality/data-cleansing.md) feature permettant de traiter au cas par cas en supprimant/hachant/transformant vos propriétés (voir [Manage custom PII data](#2.-manage-custom-pii-data) ci-dessous)

## 2. Gérer les données PII personnalisées

En plus du mode proxy GA4, vous pouvez également utiliser, sur chaque destination, la [Properties Transformation](https://doc.commandersact.com/fr/fonctionnalites/destinations/destinations-catalog/google/google-analytics-4/pages/d81eda9df7db3d599ee7cf0039f51c1df78e4678#transform-data-before-it-gets-to-the-destination.) feature ou le [Data Cleansing](/fr/fonctionnalites/data-quality/data-cleansing.md) feature permettant de transformer/supprimer/hacher toute propriété d’événement avant de l’envoyer au partenaire.

### 2.1. Transformation des propriétés sur une destination spécifique

<figure><img src="/files/70873f2ffa7a05b13c5e90bcac04833133cccbc5" alt=""><figcaption><p>Section de transformation des propriétés dans chaque étape des paramètres de destination</p></figcaption></figure>

### 2.2. Data Cleansing pour toutes les destinations

<figure><img src="/files/08a61bfdb3ea98248f51cce33b9f5bb7c3e2a8fd" alt=""><figcaption><p>feature Data Cleansing</p></figcaption></figure>

## 3. Analyse d’impact et suggestions ouvertes

| recommandation de la CNIL                                                             | Analyse                                                                                                                                                                                   | Suggestion/Impact                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| ------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Absence de transfert de l’adresse IP vers les serveurs de l’outil de mesure           | Ce point est normal et standard.                                                                                                                                                          | <p>Anonymiser les IP en supprimant les 3 derniers caractères.<br>Impact : cela peut entraîner une perte de précision de localisation, passant d’une mesure au niveau de la ville à celle de la région.</p>                                                                                                                                                                                                                                                                                                                                  |
| Remplacement de l’identifiant utilisateur par le serveur proxy                        | La CNIL doute que Google n’utilise pas ces données conjointement avec d’autres données tierces.                                                                                           | <p>Ajouter une pseudonymisation avant l’envoi de l’ID.<br>Aucun impact.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Suppression des informations de referrer externe (ou "referrer") du site              | La suppression complète du referrer est une proposition surprenante, alors que le fait de le réduire au nom de domaine est courant dans d’autres outils (Safari, bloqueurs de pubs, ...). | <p>Réduire le referrer au nom de domaine, qui constitue une simple mesure statistique d’audience.<br>Si cette suggestion est suivie, il n’y aura aucun impact. (Si la recommandation de la CNIL est suivie, l’outil deviendra inutile ou presque inutile)<br>Vous pouvez également choisir d’autoriser uniquement les domaines internes ; dans ce cas, l’impact peut être important, notamment sur les rapports de trafic source.</p>                                                                                                       |
| Suppression de tous les paramètres contenus dans les URL collectées                   | Il est légitime de supprimer les paramètres d’URL contenant des informations personnelles, mais peut-être pas les informations générales comme les utm\_campaigns.                        | Supprimer les paramètres d’URL au cas par cas s’ils contiennent des données personnellement identifiables. Les utm\_campaigns peuvent être conservés s’ils sont correctement gérés, mais la question se pose pour les click IDs publicitaires tels que fbclid et gclid. Si la recommandation de la CNIL est suivie, l’outil deviendra inutile ou presque inutile, tandis que si notre recommandation est suivie, l’impact sera faible. En cas de suppression du gclid, les UTMs devront être utilisés pour taguer les campagnes Google Ads. |
| Retraitement des informations pouvant contribuer à la génération d’un fingerprint     | Cette demande est légitime et courante, et sera mise en œuvre dans les navigateurs à l’avenir.                                                                                            | <p>Supprimer les informations inutiles du user agent afin de minimiser la perte d’informations granulaires telles que le modèle du téléphone.<br>Choisir de supprimer complètement le user-agent semble être l’option la plus simple.<br>Impact : pas si faible. L’application de cette mesure ne distingue plus le type d’appareil (device\_category)</p>                                                                                                                                                                                  |
| Absence de toute collecte d’identifiants cross-site ou déterministes (CRM, ID unique) | <p>Cette demande est considérée comme non pertinente tant que le consentement est obtenu.<br>Ces ID ne peuvent pas être utilisés par Google pour d’autres recoupements de données.</p>    | <p>Il est recommandé de demander le consentement pour l’utilisation de ces ID et de les traiter de manière sécurisée si le consentement est donné.<br>Mais vous pouvez vouloir hacher tous ces ID avant de les envoyer à Google (dans ce cas, vous pouvez utiliser Properties transformation)</p>                                                                                                                                                                                                                                           |

## Configuration rapide

### **1. Mettre à jour votre gtag client-side**

Comme pour les configurations GA4 classiques server-side, vous devez configurer un seul tag Gtag initial client-side qui ne sera déclenché qu’une fois par visite et enverra un événement d’initialisation vide.\
Ceci est nécessaire en raison des [limitations du protocole de Google](https://developers.google.com/analytics/devguides/collection/protocol/ga4#caveats_to_measurement_protocol).\\

Ensuite, la particularité avec le *mode proxy* est que vous devez modifier l’URL du hit GA4, en remplaçant *google-analytics.com* par l’URL de collecte server-side de Commanders Act. Cela se fait via le paramètre GA natif : `transport_url` (exemple de code fourni ci-dessous).\
![](/files/1e5ba5d837709b120412b5b1f18645e39801661b)\
\
Le `transport_url` doit être défini sur votre URL de tracking.\
Votre domaine de tracking est soit :

* votre sous-domaine First party défini dans [gestion de domaine](/fr/configure/administration/domain-management.md)\
  Dans ce cas, le `transpor_url` doit être défini sur :\
  `https://`<mark style="color:bleu;">`YOUR_1ST_TRACKING_DOMAIN`</mark>`.com`**`/`**<mark style="color:orange;">**`cdp`**</mark>**`/`**`events?tc_s=`<mark style="color:green;">`YOURSITEID`</mark>`&token=`<mark style="color:green;">`YOURSOURCEKEY`</mark>`&event_name=ga_session_start&ga_url_param=`
* ou notre domaine de collecte Third party `collect.commander1.com`\
  Dans ce cas, le `transpor_url` doit être défini sur :\
  `https://collect.commander1.com/events?tc_s=`<mark style="color:green;">`YOURSITEID`</mark>`&token=`<mark style="color:green;">`YOURSOURCEKEY`</mark>`&event_name=ga_session_start&ga_url_param=`

Par conséquent, ce premier hit n’est plus envoyé à Google, mais au serveur Commanders Act, qui le transforme en événement CA. Cet événement sera ensuite envoyé à votre destination GA4 où il sera traité (pseudonymisé, etc. selon les paramètres choisis) avant d’être renvoyé à Google.

En dehors de ce premier hit client-side, tous les autres événements du site doivent être envoyés depuis n’importe quelle source, par exemple via notre fonction cact('trigger', 'myEventName', ...). Ces événements atteindront également, bien sûr, votre destination GA4 où les données seront pseudonymisées selon les paramètres de la destination.

### **2. Configurez votre destination GA4**

\- Dans l’onglet des paramètres, cochez l’option "Enable proxy mode" et choisissez quelle pseudonymisation/quel traitement vous souhaitez appliquer.\
\- Si nécessaire, hachez vos données PII personnalisées via le smart mapping, la transformation des propriétés ou [Data Cleansing](/fr/fonctionnalites/data-quality/data-cleansing.md)

### 3. (**(Optionnel) Vérifiez que toutes les données PII envoyées sont correctement pseudonymisées**

Passez par [Event Inspector](/fr/fonctionnalites/destinations/live-event-inspector.md) et inspectez les événements sortants.


---

# Agent Instructions: 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:

```
GET https://doc.commandersact.com/fr/fonctionnalites/destinations/destinations-catalog/google/google-analytics-4/google-analytics-4-proxy-mode.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
