Analytique respectueuse de la vie privée : Configurer Plausible auto-hébergé avec Google Search Console
Le paysage de l'analytique a considérablement évolué depuis l'entrée en vigueur du RGPD en 2018. En réalité, la plupart des organisations utilisent encore Google Analytics 4 sur leurs sites web — non pas parce que c'est le meilleur outil, mais parce que la migration semble coûteuse et les alternatives semblent de niche. Nous avons migré de Google Analytics vers Plausible CE auto-hébergé mi-2024, et les résultats méritent d'être documentés en détail.
Pourquoi nous avons quitté Google Analytics
Google Analytics 4 est une plateforme capable. La charge de conformité, en revanche, est substantielle. Exploiter GA4 dans une configuration véritablement conforme au RGPD nécessite une bannière de consentement aux cookies, une plateforme de gestion du consentement, des accords de traitement des données, et un routage régional minutieux pour éviter que les adresses IP et les identifiants utilisateurs ne quittent l'UE. La bannière de consentement elle-même introduit un déficit systématique dans vos données : des études indépendantes suggèrent qu'entre 30 % et 50 % des visiteurs refusent le consentement entièrement, laissant une zone aveugle dans chaque métrique collectée.
Le problème est que cela crée un compromis insoluble. Soit vous acceptez des données incomplètes sur le segment consenti, soit vous exécutez GA4 sans consentement et acceptez une exposition légale. Ni l'une ni l'autre n'est une réponse propre pour une organisation qui prend au sérieux à la fois la qualité des données et la conformité.
Plausible CE est conçu autour d'une prémisse différente. Le script de suivi est sans cookie par défaut, ne collecte aucune information personnellement identifiable, et ne nécessite pas de bannière de consentement dans le cadre du RGPD. Ce n'est pas du langage marketing — c'est une affirmation technique spécifique. Plausible ne pose aucun cookie, ne génère aucun identifiant utilisateur persistant entre les sessions, et ne transmet aucune donnée à des serveurs tiers lorsqu'il est auto-hébergé. Les orientations de l'ICO sur PECR et les avis du Groupe de travail Article 29 sur l'analytique confirment tous deux que l'analytique sans cookie et sans empreinte digitale ne déclenche pas l'exigence de consentement sous la Directive sur la vie privée et les communications électroniques.
L'architecture : ClickHouse comme moteur d'analytique
Plausible CE est livré avec deux bases de données : ClickHouse pour le stockage des événements et PostgreSQL pour la configuration. ClickHouse est une base de données orientée colonnes conçue pour les charges analytiques — le même moteur que Yandex a construit pour son infrastructure analytique à grande échelle. Pour un site recevant des dizaines de milliers de pages vues mensuelles, l'avantage de performance par rapport à une base de données orientée lignes est imperceptible. Mais l'architecture signifie que Plausible peut gérer des sites avec des centaines de millions d'événements sans changements de schéma ni refonte de l'infrastructure, ce qui compte si vous anticipez une croissance.
La configuration Docker Compose est simple. Plausible fournit une configuration officielle avec tous les services requis. Notre déploiement tourne aux côtés de Traefik sur une instance Hetzner CX21 (2 vCPU, 4 Go de RAM) à Helsinki :
services:
plausible_db:
image: postgres:16-alpine
restart: always
volumes:
- db-data:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
plausible_events_db:
image: clickhouse/clickhouse-server:24.3.3.102-alpine
restart: always
volumes:
- event-data:/var/lib/clickhouse
- ./clickhouse/clickhouse-config.xml:/etc/clickhouse-server/config.d/logging.xml:ro
- ./clickhouse/clickhouse-user-config.xml:/etc/clickhouse-server/users.d/logging.xml:ro
ulimits:
nofile:
soft: 262144
hard: 262144
plausible:
image: ghcr.io/plausible/community-edition:v2.1.4
restart: always
command: sh -c "sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db migrate && /entrypoint.sh run"
depends_on:
- plausible_db
- plausible_events_db
environment:
- BASE_URL=https://plausible.yourdomain.com
- SECRET_KEY_BASE=${SECRET_KEY_BASE}
- DATABASE_URL=postgres://postgres:${POSTGRES_PASSWORD}@plausible_db:5432/plausible_db
- CLICKHOUSE_DATABASE_URL=http://plausible_events_db:8123/plausible_events_db
- DISABLE_REGISTRATION=true
labels:
- "traefik.enable=true"
- "traefik.http.routers.plausible.rule=Host(`plausible.yourdomain.com`)"
- "traefik.http.routers.plausible.entrypoints=websecure"
- "traefik.http.routers.plausible.tls.certresolver=letsencrypt"
- "traefik.http.services.plausible.loadbalancer.server.port=8000"
volumes:
db-data:
event-data:
Le flag DISABLE_REGISTRATION=true n'est pas optionnel. Après avoir créé votre compte initial, toute instance accessible au public sans ce flag est ouverte à l'inscription par quiconque trouve l'URL. Générez SECRET_KEY_BASE avec openssl rand -base64 64 et conservez-le dans un fichier .env hors du contrôle de version.
Les deux fichiers de configuration XML ClickHouse référencés dans la section volumes contrôlent la verbosité des logs. Sans eux, ClickHouse journalise à un niveau qui remplit le disque sur une petite instance en quelques jours. Le dépôt de Plausible inclut ces fichiers ; copiez-les dans un sous-répertoire clickhouse/ à côté de votre docker-compose.yml avant de démarrer la stack.
Déployer le script de suivi
Une fois la stack en marche, ajouter le suivi à n'importe quel site se réduit à une seule balise dans le <head> HTML :
<script defer data-domain="yourdomain.com"
src="https://plausible.yourdomain.com/js/script.js"></script>
Plausible est livré avec des extensions de script optionnelles qui se regroupent en une seule requête. Nous utilisons la variante qui inclut le suivi des téléchargements de fichiers, le support du routage basé sur le hash pour les applications monopages, le suivi des liens sortants, les propriétés de page vue personnalisées, le suivi des revenus et les événements balisés :
<script defer data-domain="yourdomain.com"
src="https://plausible.yourdomain.com/js/script.file-downloads.hash.outbound-links.pageview-props.revenue.tagged-events.js"></script>
Le script combiné pèse environ 2,4 Ko non compressé. Le script Google Analytics 4 pèse environ 45 Ko. Ce n'est pas une différence marginale — c'est 20 fois moins de JavaScript à analyser à chaque chargement de page, ce qui affecte de manière mesurable les scores Core Web Vitals sur les appareils peu puissants et les connexions lentes.
Intégration avec Google Search Console
L'argument le plus fort pour conserver GA4 est sa connexion à Google Search Console, qui vous permet de corréler les données de requêtes de recherche organique avec le comportement sur le site. Plausible prend en charge cette intégration nativement, et c'est la fonctionnalité qui rend le passage viable pour les sites axés sur le contenu.
La configuration nécessite une propriété Search Console vérifiée et une autorisation OAuth dans les paramètres de site de Plausible. Une fois connectées, les données GSC apparaissent comme une ventilation séparée dans la section des sources de trafic, affichant les requêtes de recherche, les impressions, les taux de clics et la position moyenne aux côtés de vos données standard de pages vues et de sessions.
Un détail de configuration qui cause systématiquement des problèmes : le domaine dans Plausible doit correspondre exactement au type de propriété GSC. Une propriété GSC vérifiée comme https://www.yourdomain.com en utilisant la méthode de préfixe d'URL ne se connectera pas à un site Plausible qui suit yourdomain.com sans le sous-domaine. Utilisez le type de propriété Domain dans GSC dans la mesure du possible — il couvre tous les sous-domaines et protocoles et simplifie la connexion Plausible.
Les données GSC dans Plausible portent le même délai de 48 heures que l'API Search Console elle-même. C'est une contrainte de Google, pas une limitation de Plausible. Pour l'examen opérationnel des analytiques, c'est rarement un obstacle pratique.
Conformité RGPD sans bannières de cookies
La position de conformité mérite d'être énoncée avec précision. Sous le RGPD et la Directive vie privée et communications électroniques, le consentement est requis lorsque vous stockez ou accédez à des informations sur l'appareil d'un utilisateur. Les cookies et localStorage déclenchent tous deux cette exigence. Plausible ne stocke rien sur l'appareil de l'utilisateur : pas de cookies, pas d'entrées localStorage, pas d'écritures IndexedDB.
Plausible ne génère pas non plus d'identifiant utilisateur persistant entre les sessions. Chaque page vue est traitée indépendamment. L'approximation la plus proche d'un identifiant utilisateur est un hash quotidien dérivé d'une combinaison de l'adresse IP du visiteur, de la chaîne user-agent et d'un salt côté serveur rotatif — une valeur qui change toutes les 24 heures et ne peut pas être inversée pour récupérer l'adresse IP d'origine. Cette conception place Plausible en dehors de la définition du traitement de données personnelles au sens de l'Article 4(1) RGPD.
Le résultat pratique : pas de bannière de consentement, pas de plateforme de gestion du consentement, pas d'optimisation du taux de consentement, et pas de lacune dans vos données due au refus de consentement. Les données analytiques que vous voyez reflètent votre audience réelle plutôt que le sous-ensemble disposé à accepter le suivi.
Notre politique de confidentialité nécessite désormais un seul paragraphe concis sur l'analytique, décrivant avec précision ce que Plausible collecte et où les données résident. La section équivalente pour GA4 s'étendait auparavant sur plusieurs paragraphes et nécessitait des références spécifiques aux Clauses contractuelles types de Google et aux conditions de traitement des données. La réduction de la charge juridique est significative pour une petite organisation.
Charge infrastructure et comparaison de performance
Exécuter les deux outils en parallèle pendant 60 jours avant la coupure GA4 a fourni une comparaison directe. Les nombres de pages vues différaient de moins de 3 % — cohérent avec les chiffres de précision publiés par Plausible comparant les déploiements sans cookie à GA4 avec consentement.
La différence plus instructive concernait les comptages de visiteurs uniques. Plausible a enregistré environ 12 % de visiteurs uniques de plus que GA4 avec consentement sur la même période. C'est attendu : le sous-ensemble d'utilisateurs GA4 acceptant le consentement est biaisé vers des visiteurs plus engagés qui sont moins susceptibles d'utiliser des bloqueurs de publicités ou des navigateurs axés sur la vie privée. Plausible, en suivant tous les visiteurs sans friction de consentement, donne une image plus précise de la portée totale. GA4 en mode consenti donne un portrait comportemental de vos utilisateurs les plus engagés. Ni l'un ni l'autre n'est faux — ils répondent à des questions légèrement différentes.
L'empreinte infrastructure est modeste. ClickHouse consomme environ 400 Mo de RAM en régime permanent. PostgreSQL ajoute environ 80 Mo. L'utilisation CPU est négligeable en fonctionnement normal et brièvement élevée uniquement lors des imports de données historiques en masse. Pour les organisations qui exploitent déjà un serveur Hetzner avec de la capacité disponible, le coût marginal d'ajouter Plausible à une stack existante est effectivement nul.
Mais en réalité, la décision de basculer ne concerne pas principalement le coût d'infrastructure ou la parité des fonctionnalités. Elle concerne le type de données sur lesquelles vous êtes disposé à fonder vos décisions. L'analytique qui nécessite un consentement produit un échantillon systématiquement biaisé. L'analytique sans cookie sans consentement produit une image complète avec moins de détails par visiteur. Pour un site marketing où la question principale est « quelles pages et sources génèrent des demandes de renseignements », l'image complète est plus utile que le portrait détaillé d'un sous-ensemble auto-sélectionné.
Insights connexes
- Traefik Reverse Proxy: The Complete Self-Hosting Guide for HTTPS and SSL Automation
- Self-Hosting n8n on Hetzner Cloud: Complete Docker Setup Tutorial
- Deploying React Applications to Production: Complete Docker Setup with Traefik Reverse Proxy
- Building a Multi-Tenant Development Stack with Docker: Complete Setup for Scalable Client Deployments