[{"data":1,"prerenderedAt":2315},["ShallowReactive",2],{"article-alternates":3,"article-\u002Ffr\u002Fdata\u002Fanalytique-respectueuse-de-la-vie-privee":12},{"i18nKey":4,"paths":5},"data-006-2026-06",{"de":6,"en":7,"es":8,"fr":9,"it":10,"ru":11},"\u002Fde\u002Fdata\u002Fdatenschutz-erste-analytik-plausible-server-aggregation","\u002Fen\u002Fdata\u002Fprivacy-first-analytics-plausible-server-aggregation","\u002Fes\u002Fdata\u002Fprivacy-first-analytics-plausible-server-side-aggregation","\u002Ffr\u002Fdata\u002Fprivacy-first-analytics-plausible","\u002Fit\u002Fdata\u002Fprivacy-first-analytics-plausible-server-side-aggregation","\u002Fru\u002Fdata\u002Fprivacy-first-analytics-plausible",{"_path":13,"_dir":14,"_draft":15,"_partial":15,"_locale":16,"title":17,"description":18,"publishedAt":19,"modifiedAt":19,"category":14,"i18nKey":4,"tags":20,"readingTime":26,"author":27,"body":28,"_type":2309,"_id":2310,"_source":2311,"_file":2312,"_stem":2313,"_extension":2314},"\u002Ffr\u002Fdata\u002Fanalytique-respectueuse-de-la-vie-privee","data",false,"","Analytique Respectueuse de la Vie Privée : Plausible + Agrégation Côté Serveur","Suivi sans cookies, conformité RGPD\u002FKVKK, comparaison avec GA4. Architecture d'agrégation serveur pour une mesure centrée sur la confidentialité.","2026-06-23",[21,22,23,24,25],"privacy-first","plausible","server-side-tracking","rgpd","cookieless",8,"Roibase",{"type":29,"children":30,"toc":2296},"root",[31,39,46,68,81,88,101,294,323,329,350,468,473,553,580,586,591,929,934,940,1141,1160,1176,1182,1187,1228,1931,1951,1957,1962,2199,2220,2226,2231,2285,2290],{"type":32,"tag":33,"props":34,"children":35},"element","p",{},[36],{"type":37,"value":38},"text","En 2026, le fait que Google Analytics 4 ne renonce pas au fingerprinting navigateur, au dépôt de cookies côté client et à la journalisation des adresses IP dans sa configuration par défaut s'est confirmé. Le guide de janvier 2026 du Contrôleur européen de la protection des données place GA4 dans la catégorie « inutilisable sans consentement explicite ». En Turquie, la modification de l'article 12 de la KVKK, entrée en vigueur fin 2025, va dans le même sens : l'analytique basée sur les cookies exige un consentement préalable. Le marketing de performance s'appuie sur une pile d'attribution agressive, mais transférer votre couche d'analytique de site vers une architecture respectueuse de la vie privée devient désormais une nécessité opérationnelle. Plausible + agrégation côté serveur résout deux questions critiques : comment mesurer sans cookies, et comment construire un pipeline serveur conforme au respect de la vie privée.",{"type":32,"tag":40,"props":41,"children":43},"h2",{"id":42},"larchitecture-de-plausible-flux-dévénements-agrégés-pas-de-stockage-brut",[44],{"type":37,"value":45},"L'Architecture de Plausible : Flux d'Événements Agrégés, Pas de Stockage Brut",{"type":32,"tag":33,"props":47,"children":48},{},[49,51,58,60,66],{"type":37,"value":50},"Plausible exécute un snippet JavaScript de moins de 1 KB côté navigateur, n'écrit pas de cookie, n'utilise pas le localStorage et ne journalise pas l'adresse IP. Lors d'une page vue, un appel ",{"type":32,"tag":52,"props":53,"children":55},"code",{"className":54},[],[56],{"type":37,"value":57},"POST \u002Fapi\u002Fevent",{"type":37,"value":59}," est effectué. L'événement brut reçu par le service backend Elixir est ",{"type":32,"tag":61,"props":62,"children":63},"strong",{},[64],{"type":37,"value":65},"agrégé immédiatement",{"type":37,"value":67}," en PostgreSQL — chaque événement incrémente un compteur de pages vues uniques. La reconnaissance des visiteurs repose sur une signature de visiteur hachée quotidienne plutôt qu'un ID de session : IP + User-Agent → HMAC-SHA256 → TTL de 24 heures. Cette approche reste déterministe mais non réversible : les requêtes du même jour depuis le même appareil reçoivent le même hachage de visiteur, puis le lien disparaît le jour suivant quand la clé de hachage change. Cette méthode se situe en dehors de la définition KVKK d'une « personne identifiable » — même si vous possédiez le hash, vous ne pourriez pas le reconvertir en adresse IP.",{"type":32,"tag":33,"props":69,"children":70},{},[71,73,79],{"type":37,"value":72},"GA4 diffère : GA4 maintient un cookie côté client ",{"type":32,"tag":52,"props":74,"children":76},{"className":75},[],[77],{"type":37,"value":78},"_ga",{"type":37,"value":80}," pendant 2 ans pour un identifiant client persistant, écrit chaque hit dans un flux d'événements, et l'ID de pseudo-utilisateur dans BigQuery correspond à la valeur du cookie. Même avec Consent Mode v2 activé, le cookie est toujours écrit. Chez Plausible, l'événement qui atteint le serveur ne laisse jamais l'IP brute se retrouver en PostgreSQL — le processus Elixir la hache en mémoire, puis la met au rebut. Cette architecture respecte le principe RGPD de « limitation des finalités » : les données collectées ne peuvent servir que pour compter le trafic du site, pas pour du retargeting ou du suivi entre sites.",{"type":32,"tag":82,"props":83,"children":85},"h3",{"id":84},"structure-du-compteur-dagrégation",[86],{"type":37,"value":87},"Structure du Compteur d'Agrégation",{"type":32,"tag":33,"props":89,"children":90},{},[91,93,99],{"type":37,"value":92},"Les métriques affichées sur le tableau de bord Plausible (pages vues, visiteurs, taux de rebond, durée de session) ne sont pas stockées dans la table ",{"type":32,"tag":52,"props":94,"children":96},{"className":95},[],[97],{"type":37,"value":98},"events",{"type":37,"value":100},". La structure du tableau est :",{"type":32,"tag":102,"props":103,"children":107},"pre",{"className":104,"code":105,"language":106,"meta":16,"style":16},"language-sql shiki shiki-themes github-dark","CREATE TABLE stats (\n  site_id INT,\n  date DATE,\n  metric VARCHAR(50),   -- 'pageviews', 'visitors', 'bounce_rate'\n  dimension VARCHAR(50),-- 'page', 'source', 'device'\n  value BIGINT,\n  PRIMARY KEY (site_id, date, metric, dimension)\n);\n","sql",[108],{"type":32,"tag":52,"props":109,"children":110},{"__ignoreMap":16},[111,140,159,177,213,244,262,286],{"type":32,"tag":112,"props":113,"children":116},"span",{"class":114,"line":115},"line",1,[117,123,128,134],{"type":32,"tag":112,"props":118,"children":120},{"style":119},"--shiki-default:#F97583",[121],{"type":37,"value":122},"CREATE",{"type":32,"tag":112,"props":124,"children":125},{"style":119},[126],{"type":37,"value":127}," TABLE",{"type":32,"tag":112,"props":129,"children":131},{"style":130},"--shiki-default:#B392F0",[132],{"type":37,"value":133}," stats",{"type":32,"tag":112,"props":135,"children":137},{"style":136},"--shiki-default:#E1E4E8",[138],{"type":37,"value":139}," (\n",{"type":32,"tag":112,"props":141,"children":143},{"class":114,"line":142},2,[144,149,154],{"type":32,"tag":112,"props":145,"children":146},{"style":136},[147],{"type":37,"value":148},"  site_id ",{"type":32,"tag":112,"props":150,"children":151},{"style":119},[152],{"type":37,"value":153},"INT",{"type":32,"tag":112,"props":155,"children":156},{"style":136},[157],{"type":37,"value":158},",\n",{"type":32,"tag":112,"props":160,"children":162},{"class":114,"line":161},3,[163,168,173],{"type":32,"tag":112,"props":164,"children":165},{"style":119},[166],{"type":37,"value":167},"  date",{"type":32,"tag":112,"props":169,"children":170},{"style":119},[171],{"type":37,"value":172}," DATE",{"type":32,"tag":112,"props":174,"children":175},{"style":136},[176],{"type":37,"value":158},{"type":32,"tag":112,"props":178,"children":180},{"class":114,"line":179},4,[181,186,191,196,202,207],{"type":32,"tag":112,"props":182,"children":183},{"style":136},[184],{"type":37,"value":185},"  metric ",{"type":32,"tag":112,"props":187,"children":188},{"style":119},[189],{"type":37,"value":190},"VARCHAR",{"type":32,"tag":112,"props":192,"children":193},{"style":136},[194],{"type":37,"value":195},"(",{"type":32,"tag":112,"props":197,"children":199},{"style":198},"--shiki-default:#79B8FF",[200],{"type":37,"value":201},"50",{"type":32,"tag":112,"props":203,"children":204},{"style":136},[205],{"type":37,"value":206},"),   ",{"type":32,"tag":112,"props":208,"children":210},{"style":209},"--shiki-default:#6A737D",[211],{"type":37,"value":212},"-- 'pageviews', 'visitors', 'bounce_rate'\n",{"type":32,"tag":112,"props":214,"children":216},{"class":114,"line":215},5,[217,222,226,230,234,239],{"type":32,"tag":112,"props":218,"children":219},{"style":136},[220],{"type":37,"value":221},"  dimension ",{"type":32,"tag":112,"props":223,"children":224},{"style":119},[225],{"type":37,"value":190},{"type":32,"tag":112,"props":227,"children":228},{"style":136},[229],{"type":37,"value":195},{"type":32,"tag":112,"props":231,"children":232},{"style":198},[233],{"type":37,"value":201},{"type":32,"tag":112,"props":235,"children":236},{"style":136},[237],{"type":37,"value":238},"),",{"type":32,"tag":112,"props":240,"children":241},{"style":209},[242],{"type":37,"value":243},"-- 'page', 'source', 'device'\n",{"type":32,"tag":112,"props":245,"children":247},{"class":114,"line":246},6,[248,253,258],{"type":32,"tag":112,"props":249,"children":250},{"style":119},[251],{"type":37,"value":252},"  value",{"type":32,"tag":112,"props":254,"children":255},{"style":119},[256],{"type":37,"value":257}," BIGINT",{"type":32,"tag":112,"props":259,"children":260},{"style":136},[261],{"type":37,"value":158},{"type":32,"tag":112,"props":263,"children":265},{"class":114,"line":264},7,[266,271,276,281],{"type":32,"tag":112,"props":267,"children":268},{"style":119},[269],{"type":37,"value":270},"  PRIMARY KEY",{"type":32,"tag":112,"props":272,"children":273},{"style":136},[274],{"type":37,"value":275}," (site_id, ",{"type":32,"tag":112,"props":277,"children":278},{"style":119},[279],{"type":37,"value":280},"date",{"type":32,"tag":112,"props":282,"children":283},{"style":136},[284],{"type":37,"value":285},", metric, dimension)\n",{"type":32,"tag":112,"props":287,"children":288},{"class":114,"line":26},[289],{"type":32,"tag":112,"props":290,"children":291},{"style":136},[292],{"type":37,"value":293},");\n",{"type":32,"tag":33,"props":295,"children":296},{},[297,299,305,307,313,315,321],{"type":37,"value":298},"À chaque événement entrant, une requête ",{"type":32,"tag":52,"props":300,"children":302},{"className":301},[],[303],{"type":37,"value":304},"INCREMENT",{"type":37,"value":306}," s'exécute : si la combinaison jour\u002Fpage\u002Fmétrique existe, ",{"type":32,"tag":52,"props":308,"children":310},{"className":309},[],[311],{"type":37,"value":312},"+1",{"type":37,"value":314},", sinon ",{"type":32,"tag":52,"props":316,"children":318},{"className":317},[],[319],{"type":37,"value":320},"INSERT",{"type":37,"value":322},". Le tableau de bord en temps réel lit ces compteurs. Puisque aucun flux d'événement brut n'est conservé, cela se conforme parfaitement à la clause RGPD « minimisation des données » — les données que vous conservez sont proportionnées à votre objectif.",{"type":32,"tag":40,"props":324,"children":326},{"id":325},"proxy-côté-serveur-acheminement-du-trafic-client-plausible-depuis-votre-domaine",[327],{"type":37,"value":328},"Proxy Côté Serveur : Acheminement du Trafic Client-Plausible Depuis Votre Domaine",{"type":32,"tag":33,"props":330,"children":331},{},[332,334,340,342,348],{"type":37,"value":333},"Le point de terminaison SaaS de Plausible est ",{"type":32,"tag":52,"props":335,"children":337},{"className":336},[],[338],{"type":37,"value":339},"plausible.io\u002Fapi\u002Fevent",{"type":37,"value":341},". Le navigateur y envoie une requête POST. Les bloqueurs de publicités placent ",{"type":32,"tag":52,"props":343,"children":345},{"className":344},[],[346],{"type":37,"value":347},"plausible.io",{"type":37,"value":349}," sur la liste noire, ce qui fait perdre les événements. La solution : relayer l'événement Plausible via un proxy inverse fonctionnant sur votre propre domaine. Configuration Nginx :",{"type":32,"tag":102,"props":351,"children":355},{"className":352,"code":353,"language":354,"meta":16,"style":16},"language-nginx shiki shiki-themes github-dark","location \u002Fstats\u002Fapi\u002Fevent {\n  proxy_pass https:\u002F\u002Fplausible.io\u002Fapi\u002Fevent;\n  proxy_set_header Host plausible.io;\n  proxy_set_header X-Forwarded-For $remote_addr;\n  proxy_set_header X-Forwarded-Proto $scheme;\n  \n  # Anonymisation IP — masquer le dernier octet\n  set $anonymized_ip $remote_addr;\n  if ($remote_addr ~* ^(\\d+\\.\\d+\\.\\d+)\\.\\d+$) {\n    set $anonymized_ip $1.0;\n  }\n  proxy_set_header X-Forwarded-For $anonymized_ip;\n}\n","nginx",[356],{"type":32,"tag":52,"props":357,"children":358},{"__ignoreMap":16},[359,367,375,383,391,399,407,415,423,432,441,450,459],{"type":32,"tag":112,"props":360,"children":361},{"class":114,"line":115},[362],{"type":32,"tag":112,"props":363,"children":364},{},[365],{"type":37,"value":366},"location \u002Fstats\u002Fapi\u002Fevent {\n",{"type":32,"tag":112,"props":368,"children":369},{"class":114,"line":142},[370],{"type":32,"tag":112,"props":371,"children":372},{},[373],{"type":37,"value":374},"  proxy_pass https:\u002F\u002Fplausible.io\u002Fapi\u002Fevent;\n",{"type":32,"tag":112,"props":376,"children":377},{"class":114,"line":161},[378],{"type":32,"tag":112,"props":379,"children":380},{},[381],{"type":37,"value":382},"  proxy_set_header Host plausible.io;\n",{"type":32,"tag":112,"props":384,"children":385},{"class":114,"line":179},[386],{"type":32,"tag":112,"props":387,"children":388},{},[389],{"type":37,"value":390},"  proxy_set_header X-Forwarded-For $remote_addr;\n",{"type":32,"tag":112,"props":392,"children":393},{"class":114,"line":215},[394],{"type":32,"tag":112,"props":395,"children":396},{},[397],{"type":37,"value":398},"  proxy_set_header X-Forwarded-Proto $scheme;\n",{"type":32,"tag":112,"props":400,"children":401},{"class":114,"line":246},[402],{"type":32,"tag":112,"props":403,"children":404},{},[405],{"type":37,"value":406},"  \n",{"type":32,"tag":112,"props":408,"children":409},{"class":114,"line":264},[410],{"type":32,"tag":112,"props":411,"children":412},{},[413],{"type":37,"value":414},"  # Anonymisation IP — masquer le dernier octet\n",{"type":32,"tag":112,"props":416,"children":417},{"class":114,"line":26},[418],{"type":32,"tag":112,"props":419,"children":420},{},[421],{"type":37,"value":422},"  set $anonymized_ip $remote_addr;\n",{"type":32,"tag":112,"props":424,"children":426},{"class":114,"line":425},9,[427],{"type":32,"tag":112,"props":428,"children":429},{},[430],{"type":37,"value":431},"  if ($remote_addr ~* ^(\\d+\\.\\d+\\.\\d+)\\.\\d+$) {\n",{"type":32,"tag":112,"props":433,"children":435},{"class":114,"line":434},10,[436],{"type":32,"tag":112,"props":437,"children":438},{},[439],{"type":37,"value":440},"    set $anonymized_ip $1.0;\n",{"type":32,"tag":112,"props":442,"children":444},{"class":114,"line":443},11,[445],{"type":32,"tag":112,"props":446,"children":447},{},[448],{"type":37,"value":449},"  }\n",{"type":32,"tag":112,"props":451,"children":453},{"class":114,"line":452},12,[454],{"type":32,"tag":112,"props":455,"children":456},{},[457],{"type":37,"value":458},"  proxy_set_header X-Forwarded-For $anonymized_ip;\n",{"type":32,"tag":112,"props":460,"children":462},{"class":114,"line":461},13,[463],{"type":32,"tag":112,"props":464,"children":465},{},[466],{"type":37,"value":467},"}\n",{"type":32,"tag":33,"props":469,"children":470},{},[471],{"type":37,"value":472},"Le script frontend change :",{"type":32,"tag":102,"props":474,"children":478},{"className":475,"code":476,"language":477,"meta":16,"style":16},"language-html shiki shiki-themes github-dark","\u003Cscript defer data-domain=\"yourdomain.com\" \n  src=\"\u002Fstats\u002Fjs\u002Fscript.js\">\u003C\u002Fscript>\n","html",[479],{"type":32,"tag":52,"props":480,"children":481},{"__ignoreMap":16},[482,522],{"type":32,"tag":112,"props":483,"children":484},{"class":114,"line":115},[485,490,496,501,506,511,517],{"type":32,"tag":112,"props":486,"children":487},{"style":136},[488],{"type":37,"value":489},"\u003C",{"type":32,"tag":112,"props":491,"children":493},{"style":492},"--shiki-default:#85E89D",[494],{"type":37,"value":495},"script",{"type":32,"tag":112,"props":497,"children":498},{"style":130},[499],{"type":37,"value":500}," defer",{"type":32,"tag":112,"props":502,"children":503},{"style":130},[504],{"type":37,"value":505}," data-domain",{"type":32,"tag":112,"props":507,"children":508},{"style":136},[509],{"type":37,"value":510},"=",{"type":32,"tag":112,"props":512,"children":514},{"style":513},"--shiki-default:#9ECBFF",[515],{"type":37,"value":516},"\"yourdomain.com\"",{"type":32,"tag":112,"props":518,"children":519},{"style":136},[520],{"type":37,"value":521}," \n",{"type":32,"tag":112,"props":523,"children":524},{"class":114,"line":142},[525,530,534,539,544,548],{"type":32,"tag":112,"props":526,"children":527},{"style":130},[528],{"type":37,"value":529},"  src",{"type":32,"tag":112,"props":531,"children":532},{"style":136},[533],{"type":37,"value":510},{"type":32,"tag":112,"props":535,"children":536},{"style":513},[537],{"type":37,"value":538},"\"\u002Fstats\u002Fjs\u002Fscript.js\"",{"type":32,"tag":112,"props":540,"children":541},{"style":136},[542],{"type":37,"value":543},">\u003C\u002F",{"type":32,"tag":112,"props":545,"children":546},{"style":492},[547],{"type":37,"value":495},{"type":32,"tag":112,"props":549,"children":550},{"style":136},[551],{"type":37,"value":552},">\n",{"type":32,"tag":33,"props":554,"children":555},{},[556,562,564,570,572,578],{"type":32,"tag":52,"props":557,"children":559},{"className":558},[],[560],{"type":37,"value":561},"\u002Fstats\u002Fjs\u002Fscript.js",{"type":37,"value":563}," est également proxyfié depuis Nginx. Avec ce configuration, le trafic d'événements se dirige vers ",{"type":32,"tag":52,"props":565,"children":567},{"className":566},[],[568],{"type":37,"value":569},"yourdomain.com\u002Fstats\u002Fapi\u002Fevent",{"type":37,"value":571},", puis est relayé au backend SaaS Plausible. Le contournement des bloqueurs de publicités récupère 15-20 % de perte de mesure (selon le rapport Plausible 2025). Point important : le proxy anonymise l'IP avant de la transmettre — la requête reçue par le backend Plausible voit le dernier octet à ",{"type":32,"tag":52,"props":573,"children":575},{"className":574},[],[576],{"type":37,"value":577},"0",{"type":37,"value":579},".",{"type":32,"tag":82,"props":581,"children":583},{"id":582},"plausible-auto-hébergé-contrôle-intégral",[584],{"type":37,"value":585},"Plausible Auto-Hébergé : Contrôle Intégral",{"type":32,"tag":33,"props":587,"children":588},{},[589],{"type":37,"value":590},"Si vous exécutez Plausible sur votre propre serveur, les données d'événements ne quittent jamais vos endpoints tiers. Configuration Docker Compose :",{"type":32,"tag":102,"props":592,"children":596},{"className":593,"code":594,"language":595,"meta":16,"style":16},"language-yaml shiki shiki-themes github-dark","version: '3.8'\nservices:\n  plausible:\n    image: plausible\u002Fanalytics:v2.0\n    ports:\n      - \"8000:8000\"\n    environment:\n      BASE_URL: https:\u002F\u002Fanalytics.yourdomain.com\n      SECRET_KEY_BASE: ${SECRET}\n      DATABASE_URL: postgres:\u002F\u002Fplausible:password@db\u002Fplausible\n      CLICKHOUSE_DATABASE_URL: http:\u002F\u002Fclickhouse:8123\u002Fplausible\n    depends_on:\n      - db\n      - clickhouse\n  \n  db:\n    image: postgres:14-alpine\n    volumes:\n      - postgres-data:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata\n  \n  clickhouse:\n    image: clickhouse\u002Fclickhouse-server:23.3-alpine\n    volumes:\n      - clickhouse-data:\u002Fvar\u002Flib\u002Fclickhouse\n","yaml",[597],{"type":32,"tag":52,"props":598,"children":599},{"__ignoreMap":16},[600,618,631,643,660,672,685,697,714,731,748,765,777,789,802,810,823,840,853,866,874,887,904,916],{"type":32,"tag":112,"props":601,"children":602},{"class":114,"line":115},[603,608,613],{"type":32,"tag":112,"props":604,"children":605},{"style":492},[606],{"type":37,"value":607},"version",{"type":32,"tag":112,"props":609,"children":610},{"style":136},[611],{"type":37,"value":612},": ",{"type":32,"tag":112,"props":614,"children":615},{"style":513},[616],{"type":37,"value":617},"'3.8'\n",{"type":32,"tag":112,"props":619,"children":620},{"class":114,"line":142},[621,626],{"type":32,"tag":112,"props":622,"children":623},{"style":492},[624],{"type":37,"value":625},"services",{"type":32,"tag":112,"props":627,"children":628},{"style":136},[629],{"type":37,"value":630},":\n",{"type":32,"tag":112,"props":632,"children":633},{"class":114,"line":161},[634,639],{"type":32,"tag":112,"props":635,"children":636},{"style":492},[637],{"type":37,"value":638},"  plausible",{"type":32,"tag":112,"props":640,"children":641},{"style":136},[642],{"type":37,"value":630},{"type":32,"tag":112,"props":644,"children":645},{"class":114,"line":179},[646,651,655],{"type":32,"tag":112,"props":647,"children":648},{"style":492},[649],{"type":37,"value":650},"    image",{"type":32,"tag":112,"props":652,"children":653},{"style":136},[654],{"type":37,"value":612},{"type":32,"tag":112,"props":656,"children":657},{"style":513},[658],{"type":37,"value":659},"plausible\u002Fanalytics:v2.0\n",{"type":32,"tag":112,"props":661,"children":662},{"class":114,"line":215},[663,668],{"type":32,"tag":112,"props":664,"children":665},{"style":492},[666],{"type":37,"value":667},"    ports",{"type":32,"tag":112,"props":669,"children":670},{"style":136},[671],{"type":37,"value":630},{"type":32,"tag":112,"props":673,"children":674},{"class":114,"line":246},[675,680],{"type":32,"tag":112,"props":676,"children":677},{"style":136},[678],{"type":37,"value":679},"      - ",{"type":32,"tag":112,"props":681,"children":682},{"style":513},[683],{"type":37,"value":684},"\"8000:8000\"\n",{"type":32,"tag":112,"props":686,"children":687},{"class":114,"line":264},[688,693],{"type":32,"tag":112,"props":689,"children":690},{"style":492},[691],{"type":37,"value":692},"    environment",{"type":32,"tag":112,"props":694,"children":695},{"style":136},[696],{"type":37,"value":630},{"type":32,"tag":112,"props":698,"children":699},{"class":114,"line":26},[700,705,709],{"type":32,"tag":112,"props":701,"children":702},{"style":492},[703],{"type":37,"value":704},"      BASE_URL",{"type":32,"tag":112,"props":706,"children":707},{"style":136},[708],{"type":37,"value":612},{"type":32,"tag":112,"props":710,"children":711},{"style":513},[712],{"type":37,"value":713},"https:\u002F\u002Fanalytics.yourdomain.com\n",{"type":32,"tag":112,"props":715,"children":716},{"class":114,"line":425},[717,722,726],{"type":32,"tag":112,"props":718,"children":719},{"style":492},[720],{"type":37,"value":721},"      SECRET_KEY_BASE",{"type":32,"tag":112,"props":723,"children":724},{"style":136},[725],{"type":37,"value":612},{"type":32,"tag":112,"props":727,"children":728},{"style":513},[729],{"type":37,"value":730},"${SECRET}\n",{"type":32,"tag":112,"props":732,"children":733},{"class":114,"line":434},[734,739,743],{"type":32,"tag":112,"props":735,"children":736},{"style":492},[737],{"type":37,"value":738},"      DATABASE_URL",{"type":32,"tag":112,"props":740,"children":741},{"style":136},[742],{"type":37,"value":612},{"type":32,"tag":112,"props":744,"children":745},{"style":513},[746],{"type":37,"value":747},"postgres:\u002F\u002Fplausible:password@db\u002Fplausible\n",{"type":32,"tag":112,"props":749,"children":750},{"class":114,"line":443},[751,756,760],{"type":32,"tag":112,"props":752,"children":753},{"style":492},[754],{"type":37,"value":755},"      CLICKHOUSE_DATABASE_URL",{"type":32,"tag":112,"props":757,"children":758},{"style":136},[759],{"type":37,"value":612},{"type":32,"tag":112,"props":761,"children":762},{"style":513},[763],{"type":37,"value":764},"http:\u002F\u002Fclickhouse:8123\u002Fplausible\n",{"type":32,"tag":112,"props":766,"children":767},{"class":114,"line":452},[768,773],{"type":32,"tag":112,"props":769,"children":770},{"style":492},[771],{"type":37,"value":772},"    depends_on",{"type":32,"tag":112,"props":774,"children":775},{"style":136},[776],{"type":37,"value":630},{"type":32,"tag":112,"props":778,"children":779},{"class":114,"line":461},[780,784],{"type":32,"tag":112,"props":781,"children":782},{"style":136},[783],{"type":37,"value":679},{"type":32,"tag":112,"props":785,"children":786},{"style":513},[787],{"type":37,"value":788},"db\n",{"type":32,"tag":112,"props":790,"children":792},{"class":114,"line":791},14,[793,797],{"type":32,"tag":112,"props":794,"children":795},{"style":136},[796],{"type":37,"value":679},{"type":32,"tag":112,"props":798,"children":799},{"style":513},[800],{"type":37,"value":801},"clickhouse\n",{"type":32,"tag":112,"props":803,"children":805},{"class":114,"line":804},15,[806],{"type":32,"tag":112,"props":807,"children":808},{"style":136},[809],{"type":37,"value":406},{"type":32,"tag":112,"props":811,"children":813},{"class":114,"line":812},16,[814,819],{"type":32,"tag":112,"props":815,"children":816},{"style":492},[817],{"type":37,"value":818},"  db",{"type":32,"tag":112,"props":820,"children":821},{"style":136},[822],{"type":37,"value":630},{"type":32,"tag":112,"props":824,"children":826},{"class":114,"line":825},17,[827,831,835],{"type":32,"tag":112,"props":828,"children":829},{"style":492},[830],{"type":37,"value":650},{"type":32,"tag":112,"props":832,"children":833},{"style":136},[834],{"type":37,"value":612},{"type":32,"tag":112,"props":836,"children":837},{"style":513},[838],{"type":37,"value":839},"postgres:14-alpine\n",{"type":32,"tag":112,"props":841,"children":843},{"class":114,"line":842},18,[844,849],{"type":32,"tag":112,"props":845,"children":846},{"style":492},[847],{"type":37,"value":848},"    volumes",{"type":32,"tag":112,"props":850,"children":851},{"style":136},[852],{"type":37,"value":630},{"type":32,"tag":112,"props":854,"children":856},{"class":114,"line":855},19,[857,861],{"type":32,"tag":112,"props":858,"children":859},{"style":136},[860],{"type":37,"value":679},{"type":32,"tag":112,"props":862,"children":863},{"style":513},[864],{"type":37,"value":865},"postgres-data:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata\n",{"type":32,"tag":112,"props":867,"children":869},{"class":114,"line":868},20,[870],{"type":32,"tag":112,"props":871,"children":872},{"style":136},[873],{"type":37,"value":406},{"type":32,"tag":112,"props":875,"children":877},{"class":114,"line":876},21,[878,883],{"type":32,"tag":112,"props":879,"children":880},{"style":492},[881],{"type":37,"value":882},"  clickhouse",{"type":32,"tag":112,"props":884,"children":885},{"style":136},[886],{"type":37,"value":630},{"type":32,"tag":112,"props":888,"children":890},{"class":114,"line":889},22,[891,895,899],{"type":32,"tag":112,"props":892,"children":893},{"style":492},[894],{"type":37,"value":650},{"type":32,"tag":112,"props":896,"children":897},{"style":136},[898],{"type":37,"value":612},{"type":32,"tag":112,"props":900,"children":901},{"style":513},[902],{"type":37,"value":903},"clickhouse\u002Fclickhouse-server:23.3-alpine\n",{"type":32,"tag":112,"props":905,"children":907},{"class":114,"line":906},23,[908,912],{"type":32,"tag":112,"props":909,"children":910},{"style":492},[911],{"type":37,"value":848},{"type":32,"tag":112,"props":913,"children":914},{"style":136},[915],{"type":37,"value":630},{"type":32,"tag":112,"props":917,"children":919},{"class":114,"line":918},24,[920,924],{"type":32,"tag":112,"props":921,"children":922},{"style":136},[923],{"type":37,"value":679},{"type":32,"tag":112,"props":925,"children":926},{"style":513},[927],{"type":37,"value":928},"clickhouse-data:\u002Fvar\u002Flib\u002Fclickhouse\n",{"type":32,"tag":33,"props":930,"children":931},{},[932],{"type":37,"value":933},"Dans la version auto-hébergée, Plausible a migré de PostgreSQL vers ClickHouse (depuis v2.0). La vitesse d'agrégation d'événements est multipliée par 10 : à 1M événements\u002Fjour, la latence des requêtes est \u003C 50 ms. Dans cette architecture, le hachage IP, la rotation de la clé, et tous les mécanismes sont sous votre contrôle — vous pouvez écrire dans votre rapport de conformité KVKK que « les données d'événements ne quittent jamais nos serveurs ».",{"type":32,"tag":40,"props":935,"children":937},{"id":936},"comparaison-avec-ga4-tableau-de-trade-off",[938],{"type":37,"value":939},"Comparaison avec GA4 : Tableau de Trade-off",{"type":32,"tag":941,"props":942,"children":943},"table",{},[944,968],{"type":32,"tag":945,"props":946,"children":947},"thead",{},[948],{"type":32,"tag":949,"props":950,"children":951},"tr",{},[952,958,963],{"type":32,"tag":953,"props":954,"children":955},"th",{},[956],{"type":37,"value":957},"Critère",{"type":32,"tag":953,"props":959,"children":960},{},[961],{"type":37,"value":962},"Plausible",{"type":32,"tag":953,"props":964,"children":965},{},[966],{"type":37,"value":967},"GA4",{"type":32,"tag":969,"props":970,"children":971},"tbody",{},[972,1007,1036,1057,1078,1099,1120],{"type":32,"tag":949,"props":973,"children":974},{},[975,984,989],{"type":32,"tag":976,"props":977,"children":978},"td",{},[979],{"type":32,"tag":61,"props":980,"children":981},{},[982],{"type":37,"value":983},"Utilisation de cookies",{"type":32,"tag":976,"props":985,"children":986},{},[987],{"type":37,"value":988},"Aucun",{"type":32,"tag":976,"props":990,"children":991},{},[992,997,999,1005],{"type":32,"tag":52,"props":993,"children":995},{"className":994},[],[996],{"type":37,"value":78},{"type":37,"value":998},", ",{"type":32,"tag":52,"props":1000,"children":1002},{"className":1001},[],[1003],{"type":37,"value":1004},"_ga_*",{"type":37,"value":1006}," (2 ans)",{"type":32,"tag":949,"props":1008,"children":1009},{},[1010,1018,1023],{"type":32,"tag":976,"props":1011,"children":1012},{},[1013],{"type":32,"tag":61,"props":1014,"children":1015},{},[1016],{"type":37,"value":1017},"Journalisation IP",{"type":32,"tag":976,"props":1019,"children":1020},{},[1021],{"type":37,"value":1022},"Hachée + TTL 24h",{"type":32,"tag":976,"props":1024,"children":1025},{},[1026,1028,1034],{"type":37,"value":1027},"Anonymisée (Consent Mode v2) mais ",{"type":32,"tag":52,"props":1029,"children":1031},{"className":1030},[],[1032],{"type":37,"value":1033},"user_pseudo_id",{"type":37,"value":1035}," = ID cookie dans BigQuery export",{"type":32,"tag":949,"props":1037,"children":1038},{},[1039,1047,1052],{"type":32,"tag":976,"props":1040,"children":1041},{},[1042],{"type":32,"tag":61,"props":1043,"children":1044},{},[1045],{"type":37,"value":1046},"Consentement requis (RGPD)",{"type":32,"tag":976,"props":1048,"children":1049},{},[1050],{"type":37,"value":1051},"Non (intérêt légitime suffisant)",{"type":32,"tag":976,"props":1053,"children":1054},{},[1055],{"type":37,"value":1056},"Oui (opt-in explicite)",{"type":32,"tag":949,"props":1058,"children":1059},{},[1060,1068,1073],{"type":32,"tag":976,"props":1061,"children":1062},{},[1063],{"type":32,"tag":61,"props":1064,"children":1065},{},[1066],{"type":37,"value":1067},"Capacité d'attribution",{"type":32,"tag":976,"props":1069,"children":1070},{},[1071],{"type":37,"value":1072},"Aucune — referrer + UTM uniquement",{"type":32,"tag":976,"props":1074,"children":1075},{},[1076],{"type":37,"value":1077},"Multi-domaine, chemin de conversion, attribution pilotée par les données",{"type":32,"tag":949,"props":1079,"children":1080},{},[1081,1089,1094],{"type":32,"tag":976,"props":1082,"children":1083},{},[1084],{"type":32,"tag":61,"props":1085,"children":1086},{},[1087],{"type":37,"value":1088},"Suivi d'événements personnalisés",{"type":32,"tag":976,"props":1090,"children":1091},{},[1092],{"type":37,"value":1093},"Appel API manuel (événement objectif)",{"type":32,"tag":976,"props":1095,"children":1096},{},[1097],{"type":37,"value":1098},"Automatique + plan de mesure",{"type":32,"tag":949,"props":1100,"children":1101},{},[1102,1110,1115],{"type":32,"tag":976,"props":1103,"children":1104},{},[1105],{"type":32,"tag":61,"props":1106,"children":1107},{},[1108],{"type":37,"value":1109},"Coût (10M hits\u002Fmois)",{"type":32,"tag":976,"props":1111,"children":1112},{},[1113],{"type":37,"value":1114},"Auto-hébergé : coût serveur (~50 $\u002Fmois), SaaS : 19 $\u002Fmois (plan Business)",{"type":32,"tag":976,"props":1116,"children":1117},{},[1118],{"type":37,"value":1119},"Gratuit mais coût BigQuery pour export (~ 5 $\u002FTo pour requête)",{"type":32,"tag":949,"props":1121,"children":1122},{},[1123,1131,1136],{"type":32,"tag":976,"props":1124,"children":1125},{},[1126],{"type":32,"tag":61,"props":1127,"children":1128},{},[1129],{"type":37,"value":1130},"Propriétaire des données",{"type":32,"tag":976,"props":1132,"children":1133},{},[1134],{"type":37,"value":1135},"Vous (auto-hébergé) \u002F serveur UE (SaaS)",{"type":32,"tag":976,"props":1137,"children":1138},{},[1139],{"type":37,"value":1140},"Google (serveur US)",{"type":32,"tag":33,"props":1142,"children":1143},{},[1144,1146,1151,1153,1158],{"type":37,"value":1145},"Chez Plausible, ",{"type":32,"tag":61,"props":1147,"children":1148},{},[1149],{"type":37,"value":1150},"pas d'attribution",{"type":37,"value":1152}," — vous ne voyez pas de quel canal marketing provient une conversion, seulement « cette page a été vue X fois, Y visiteurs uniques l'ont visitée ». Si vous exécutez une modélisation du mix marketing ou un test d'incrément, ces données suffisent : vous mettez en corrélation les changements de trafic agrégé avec les ventes. Mais vous ne pouvez pas faire d'analyse de parcours utilisateur, de cohortes ou de drop-off d'entonnoir. La force de GA4 réside là — un export BigQuery vous permet de joindre par ",{"type":32,"tag":52,"props":1154,"children":1156},{"className":1155},[],[1157],{"type":37,"value":1033},{"type":37,"value":1159}," pour construire une attribution multi-touch.",{"type":32,"tag":33,"props":1161,"children":1162},{},[1163,1165,1174],{"type":37,"value":1164},"Le trade-off est clair : en réduisant le risque de conformité à zéro, vous perdez les insights granulaires. La solution : un stack hybride. L'analytique du site passe à Plausible (cookieless), le suivi des conversions utilise une ",{"type":32,"tag":1166,"props":1167,"children":1171},"a",{"href":1168,"rel":1169},"https:\u002F\u002Fwww.roibase.com.tr\u002Ffr\u002Ffirstparty",[1170],"nofollow",[1172],{"type":37,"value":1173},"architecture de données propriétaires",{"type":37,"value":1175}," — combinaison sGTM + Conversion API. Vous voyez les tendances générales du trafic dans Plausible, les métriques décisionnelles critiques (ROAS, LTV, CAC) proviennent du pipeline côté serveur.",{"type":32,"tag":40,"props":1177,"children":1179},{"id":1178},"pipeline-dagrégation-côté-serveur-plausible-dbt-bigquery",[1180],{"type":37,"value":1181},"Pipeline d'Agrégation Côté Serveur : Plausible + dbt + BigQuery",{"type":32,"tag":33,"props":1183,"children":1184},{},[1185],{"type":37,"value":1186},"Avec un déploiement Plausible auto-hébergé, vous accédez directement à la base de données ClickHouse. Scénario pour répliquer les compteurs d'événements dans BigQuery en vue de leur jonction avec les données marketing :",{"type":32,"tag":1188,"props":1189,"children":1190},"ol",{},[1191,1210],{"type":32,"tag":1192,"props":1193,"children":1194},"li",{},[1195,1200,1202,1208],{"type":32,"tag":61,"props":1196,"children":1197},{},[1198],{"type":37,"value":1199},"ClickHouse → BigQuery CDC :",{"type":37,"value":1201}," Connecteur Airbyte pour synchroniser quotidiennement ",{"type":32,"tag":52,"props":1203,"children":1205},{"className":1204},[],[1206],{"type":37,"value":1207},"plausible.events",{"type":37,"value":1209}," en BigQuery (incrément). ClickHouse contient déjà un compteur agrégé, pas d'événement brut.",{"type":32,"tag":1192,"props":1211,"children":1212},{},[1213,1218,1220,1226],{"type":32,"tag":61,"props":1214,"children":1215},{},[1216],{"type":37,"value":1217},"Modèle dbt :",{"type":37,"value":1219}," Créer une table ",{"type":32,"tag":52,"props":1221,"children":1223},{"className":1222},[],[1224],{"type":37,"value":1225},"fct_pageviews",{"type":37,"value":1227}," dans BigQuery :",{"type":32,"tag":102,"props":1229,"children":1231},{"className":104,"code":1230,"language":106,"meta":16,"style":16},"-- models\u002Ffct_pageviews.sql\nWITH plausible_raw AS (\n  SELECT\n    toDate(timestamp) AS date,\n    domain,\n    pathname,\n    referrer_source,\n    COUNT(*) AS pageviews,\n    uniqExact(visitor_hash) AS unique_visitors\n  FROM {{ source('plausible', 'events') }}\n  WHERE date >= CURRENT_DATE - 30\n  GROUP BY 1, 2, 3, 4\n),\n\nmarketing_spend AS (\n  SELECT\n    date,\n    channel,\n    SUM(spend) AS total_spend\n  FROM {{ ref('stg_marketing_spend') }}\n  GROUP BY 1, 2\n)\n\nSELECT\n  p.date,\n  p.domain,\n  p.pathname,\n  p.referrer_source,\n  p.pageviews,\n  p.unique_visitors,\n  m.total_spend,\n  SAFE_DIVIDE(p.unique_visitors, m.total_spend) AS visitors_per_dollar\nFROM plausible_raw p\nLEFT JOIN marketing_spend m\n  ON p.date = m.date\n  AND p.referrer_source = m.channel\n",[1232],{"type":32,"tag":52,"props":1233,"children":1234},{"__ignoreMap":16},[1235,1243,1265,1273,1304,1312,1320,1328,1358,1375,1407,1439,1479,1487,1496,1512,1519,1531,1539,1561,1582,1602,1610,1617,1625,1646,1667,1688,1709,1730,1751,1773,1824,1838,1852,1893],{"type":32,"tag":112,"props":1236,"children":1237},{"class":114,"line":115},[1238],{"type":32,"tag":112,"props":1239,"children":1240},{"style":209},[1241],{"type":37,"value":1242},"-- models\u002Ffct_pageviews.sql\n",{"type":32,"tag":112,"props":1244,"children":1245},{"class":114,"line":142},[1246,1251,1256,1261],{"type":32,"tag":112,"props":1247,"children":1248},{"style":119},[1249],{"type":37,"value":1250},"WITH",{"type":32,"tag":112,"props":1252,"children":1253},{"style":136},[1254],{"type":37,"value":1255}," plausible_raw ",{"type":32,"tag":112,"props":1257,"children":1258},{"style":119},[1259],{"type":37,"value":1260},"AS",{"type":32,"tag":112,"props":1262,"children":1263},{"style":136},[1264],{"type":37,"value":139},{"type":32,"tag":112,"props":1266,"children":1267},{"class":114,"line":161},[1268],{"type":32,"tag":112,"props":1269,"children":1270},{"style":119},[1271],{"type":37,"value":1272},"  SELECT\n",{"type":32,"tag":112,"props":1274,"children":1275},{"class":114,"line":179},[1276,1281,1286,1291,1295,1300],{"type":32,"tag":112,"props":1277,"children":1278},{"style":136},[1279],{"type":37,"value":1280},"    toDate(",{"type":32,"tag":112,"props":1282,"children":1283},{"style":119},[1284],{"type":37,"value":1285},"timestamp",{"type":32,"tag":112,"props":1287,"children":1288},{"style":136},[1289],{"type":37,"value":1290},") ",{"type":32,"tag":112,"props":1292,"children":1293},{"style":119},[1294],{"type":37,"value":1260},{"type":32,"tag":112,"props":1296,"children":1297},{"style":119},[1298],{"type":37,"value":1299}," date",{"type":32,"tag":112,"props":1301,"children":1302},{"style":136},[1303],{"type":37,"value":158},{"type":32,"tag":112,"props":1305,"children":1306},{"class":114,"line":215},[1307],{"type":32,"tag":112,"props":1308,"children":1309},{"style":136},[1310],{"type":37,"value":1311},"    domain,\n",{"type":32,"tag":112,"props":1313,"children":1314},{"class":114,"line":246},[1315],{"type":32,"tag":112,"props":1316,"children":1317},{"style":136},[1318],{"type":37,"value":1319},"    pathname,\n",{"type":32,"tag":112,"props":1321,"children":1322},{"class":114,"line":264},[1323],{"type":32,"tag":112,"props":1324,"children":1325},{"style":136},[1326],{"type":37,"value":1327},"    referrer_source,\n",{"type":32,"tag":112,"props":1329,"children":1330},{"class":114,"line":26},[1331,1336,1340,1345,1349,1353],{"type":32,"tag":112,"props":1332,"children":1333},{"style":198},[1334],{"type":37,"value":1335},"    COUNT",{"type":32,"tag":112,"props":1337,"children":1338},{"style":136},[1339],{"type":37,"value":195},{"type":32,"tag":112,"props":1341,"children":1342},{"style":119},[1343],{"type":37,"value":1344},"*",{"type":32,"tag":112,"props":1346,"children":1347},{"style":136},[1348],{"type":37,"value":1290},{"type":32,"tag":112,"props":1350,"children":1351},{"style":119},[1352],{"type":37,"value":1260},{"type":32,"tag":112,"props":1354,"children":1355},{"style":136},[1356],{"type":37,"value":1357}," pageviews,\n",{"type":32,"tag":112,"props":1359,"children":1360},{"class":114,"line":425},[1361,1366,1370],{"type":32,"tag":112,"props":1362,"children":1363},{"style":136},[1364],{"type":37,"value":1365},"    uniqExact(visitor_hash) ",{"type":32,"tag":112,"props":1367,"children":1368},{"style":119},[1369],{"type":37,"value":1260},{"type":32,"tag":112,"props":1371,"children":1372},{"style":136},[1373],{"type":37,"value":1374}," unique_visitors\n",{"type":32,"tag":112,"props":1376,"children":1377},{"class":114,"line":434},[1378,1383,1388,1393,1397,1402],{"type":32,"tag":112,"props":1379,"children":1380},{"style":119},[1381],{"type":37,"value":1382},"  FROM",{"type":32,"tag":112,"props":1384,"children":1385},{"style":136},[1386],{"type":37,"value":1387}," {{ source(",{"type":32,"tag":112,"props":1389,"children":1390},{"style":513},[1391],{"type":37,"value":1392},"'plausible'",{"type":32,"tag":112,"props":1394,"children":1395},{"style":136},[1396],{"type":37,"value":998},{"type":32,"tag":112,"props":1398,"children":1399},{"style":513},[1400],{"type":37,"value":1401},"'events'",{"type":32,"tag":112,"props":1403,"children":1404},{"style":136},[1405],{"type":37,"value":1406},") }}\n",{"type":32,"tag":112,"props":1408,"children":1409},{"class":114,"line":443},[1410,1415,1419,1424,1429,1434],{"type":32,"tag":112,"props":1411,"children":1412},{"style":119},[1413],{"type":37,"value":1414},"  WHERE",{"type":32,"tag":112,"props":1416,"children":1417},{"style":119},[1418],{"type":37,"value":1299},{"type":32,"tag":112,"props":1420,"children":1421},{"style":119},[1422],{"type":37,"value":1423}," >=",{"type":32,"tag":112,"props":1425,"children":1426},{"style":136},[1427],{"type":37,"value":1428}," CURRENT_DATE ",{"type":32,"tag":112,"props":1430,"children":1431},{"style":119},[1432],{"type":37,"value":1433},"-",{"type":32,"tag":112,"props":1435,"children":1436},{"style":198},[1437],{"type":37,"value":1438}," 30\n",{"type":32,"tag":112,"props":1440,"children":1441},{"class":114,"line":452},[1442,1447,1452,1456,1461,1465,1470,1474],{"type":32,"tag":112,"props":1443,"children":1444},{"style":119},[1445],{"type":37,"value":1446},"  GROUP BY",{"type":32,"tag":112,"props":1448,"children":1449},{"style":198},[1450],{"type":37,"value":1451}," 1",{"type":32,"tag":112,"props":1453,"children":1454},{"style":136},[1455],{"type":37,"value":998},{"type":32,"tag":112,"props":1457,"children":1458},{"style":198},[1459],{"type":37,"value":1460},"2",{"type":32,"tag":112,"props":1462,"children":1463},{"style":136},[1464],{"type":37,"value":998},{"type":32,"tag":112,"props":1466,"children":1467},{"style":198},[1468],{"type":37,"value":1469},"3",{"type":32,"tag":112,"props":1471,"children":1472},{"style":136},[1473],{"type":37,"value":998},{"type":32,"tag":112,"props":1475,"children":1476},{"style":198},[1477],{"type":37,"value":1478},"4\n",{"type":32,"tag":112,"props":1480,"children":1481},{"class":114,"line":461},[1482],{"type":32,"tag":112,"props":1483,"children":1484},{"style":136},[1485],{"type":37,"value":1486},"),\n",{"type":32,"tag":112,"props":1488,"children":1489},{"class":114,"line":791},[1490],{"type":32,"tag":112,"props":1491,"children":1493},{"emptyLinePlaceholder":1492},true,[1494],{"type":37,"value":1495},"\n",{"type":32,"tag":112,"props":1497,"children":1498},{"class":114,"line":804},[1499,1504,1508],{"type":32,"tag":112,"props":1500,"children":1501},{"style":136},[1502],{"type":37,"value":1503},"marketing_spend ",{"type":32,"tag":112,"props":1505,"children":1506},{"style":119},[1507],{"type":37,"value":1260},{"type":32,"tag":112,"props":1509,"children":1510},{"style":136},[1511],{"type":37,"value":139},{"type":32,"tag":112,"props":1513,"children":1514},{"class":114,"line":812},[1515],{"type":32,"tag":112,"props":1516,"children":1517},{"style":119},[1518],{"type":37,"value":1272},{"type":32,"tag":112,"props":1520,"children":1521},{"class":114,"line":825},[1522,1527],{"type":32,"tag":112,"props":1523,"children":1524},{"style":119},[1525],{"type":37,"value":1526},"    date",{"type":32,"tag":112,"props":1528,"children":1529},{"style":136},[1530],{"type":37,"value":158},{"type":32,"tag":112,"props":1532,"children":1533},{"class":114,"line":842},[1534],{"type":32,"tag":112,"props":1535,"children":1536},{"style":136},[1537],{"type":37,"value":1538},"    channel,\n",{"type":32,"tag":112,"props":1540,"children":1541},{"class":114,"line":855},[1542,1547,1552,1556],{"type":32,"tag":112,"props":1543,"children":1544},{"style":198},[1545],{"type":37,"value":1546},"    SUM",{"type":32,"tag":112,"props":1548,"children":1549},{"style":136},[1550],{"type":37,"value":1551},"(spend) ",{"type":32,"tag":112,"props":1553,"children":1554},{"style":119},[1555],{"type":37,"value":1260},{"type":32,"tag":112,"props":1557,"children":1558},{"style":136},[1559],{"type":37,"value":1560}," total_spend\n",{"type":32,"tag":112,"props":1562,"children":1563},{"class":114,"line":868},[1564,1568,1573,1578],{"type":32,"tag":112,"props":1565,"children":1566},{"style":119},[1567],{"type":37,"value":1382},{"type":32,"tag":112,"props":1569,"children":1570},{"style":136},[1571],{"type":37,"value":1572}," {{ ref(",{"type":32,"tag":112,"props":1574,"children":1575},{"style":513},[1576],{"type":37,"value":1577},"'stg_marketing_spend'",{"type":32,"tag":112,"props":1579,"children":1580},{"style":136},[1581],{"type":37,"value":1406},{"type":32,"tag":112,"props":1583,"children":1584},{"class":114,"line":876},[1585,1589,1593,1597],{"type":32,"tag":112,"props":1586,"children":1587},{"style":119},[1588],{"type":37,"value":1446},{"type":32,"tag":112,"props":1590,"children":1591},{"style":198},[1592],{"type":37,"value":1451},{"type":32,"tag":112,"props":1594,"children":1595},{"style":136},[1596],{"type":37,"value":998},{"type":32,"tag":112,"props":1598,"children":1599},{"style":198},[1600],{"type":37,"value":1601},"2\n",{"type":32,"tag":112,"props":1603,"children":1604},{"class":114,"line":889},[1605],{"type":32,"tag":112,"props":1606,"children":1607},{"style":136},[1608],{"type":37,"value":1609},")\n",{"type":32,"tag":112,"props":1611,"children":1612},{"class":114,"line":906},[1613],{"type":32,"tag":112,"props":1614,"children":1615},{"emptyLinePlaceholder":1492},[1616],{"type":37,"value":1495},{"type":32,"tag":112,"props":1618,"children":1619},{"class":114,"line":918},[1620],{"type":32,"tag":112,"props":1621,"children":1622},{"style":119},[1623],{"type":37,"value":1624},"SELECT\n",{"type":32,"tag":112,"props":1626,"children":1628},{"class":114,"line":1627},25,[1629,1634,1638,1642],{"type":32,"tag":112,"props":1630,"children":1631},{"style":198},[1632],{"type":37,"value":1633},"  p",{"type":32,"tag":112,"props":1635,"children":1636},{"style":136},[1637],{"type":37,"value":579},{"type":32,"tag":112,"props":1639,"children":1640},{"style":198},[1641],{"type":37,"value":280},{"type":32,"tag":112,"props":1643,"children":1644},{"style":136},[1645],{"type":37,"value":158},{"type":32,"tag":112,"props":1647,"children":1649},{"class":114,"line":1648},26,[1650,1654,1658,1663],{"type":32,"tag":112,"props":1651,"children":1652},{"style":198},[1653],{"type":37,"value":1633},{"type":32,"tag":112,"props":1655,"children":1656},{"style":136},[1657],{"type":37,"value":579},{"type":32,"tag":112,"props":1659,"children":1660},{"style":198},[1661],{"type":37,"value":1662},"domain",{"type":32,"tag":112,"props":1664,"children":1665},{"style":136},[1666],{"type":37,"value":158},{"type":32,"tag":112,"props":1668,"children":1670},{"class":114,"line":1669},27,[1671,1675,1679,1684],{"type":32,"tag":112,"props":1672,"children":1673},{"style":198},[1674],{"type":37,"value":1633},{"type":32,"tag":112,"props":1676,"children":1677},{"style":136},[1678],{"type":37,"value":579},{"type":32,"tag":112,"props":1680,"children":1681},{"style":198},[1682],{"type":37,"value":1683},"pathname",{"type":32,"tag":112,"props":1685,"children":1686},{"style":136},[1687],{"type":37,"value":158},{"type":32,"tag":112,"props":1689,"children":1691},{"class":114,"line":1690},28,[1692,1696,1700,1705],{"type":32,"tag":112,"props":1693,"children":1694},{"style":198},[1695],{"type":37,"value":1633},{"type":32,"tag":112,"props":1697,"children":1698},{"style":136},[1699],{"type":37,"value":579},{"type":32,"tag":112,"props":1701,"children":1702},{"style":198},[1703],{"type":37,"value":1704},"referrer_source",{"type":32,"tag":112,"props":1706,"children":1707},{"style":136},[1708],{"type":37,"value":158},{"type":32,"tag":112,"props":1710,"children":1712},{"class":114,"line":1711},29,[1713,1717,1721,1726],{"type":32,"tag":112,"props":1714,"children":1715},{"style":198},[1716],{"type":37,"value":1633},{"type":32,"tag":112,"props":1718,"children":1719},{"style":136},[1720],{"type":37,"value":579},{"type":32,"tag":112,"props":1722,"children":1723},{"style":198},[1724],{"type":37,"value":1725},"pageviews",{"type":32,"tag":112,"props":1727,"children":1728},{"style":136},[1729],{"type":37,"value":158},{"type":32,"tag":112,"props":1731,"children":1733},{"class":114,"line":1732},30,[1734,1738,1742,1747],{"type":32,"tag":112,"props":1735,"children":1736},{"style":198},[1737],{"type":37,"value":1633},{"type":32,"tag":112,"props":1739,"children":1740},{"style":136},[1741],{"type":37,"value":579},{"type":32,"tag":112,"props":1743,"children":1744},{"style":198},[1745],{"type":37,"value":1746},"unique_visitors",{"type":32,"tag":112,"props":1748,"children":1749},{"style":136},[1750],{"type":37,"value":158},{"type":32,"tag":112,"props":1752,"children":1754},{"class":114,"line":1753},31,[1755,1760,1764,1769],{"type":32,"tag":112,"props":1756,"children":1757},{"style":198},[1758],{"type":37,"value":1759},"  m",{"type":32,"tag":112,"props":1761,"children":1762},{"style":136},[1763],{"type":37,"value":579},{"type":32,"tag":112,"props":1765,"children":1766},{"style":198},[1767],{"type":37,"value":1768},"total_spend",{"type":32,"tag":112,"props":1770,"children":1771},{"style":136},[1772],{"type":37,"value":158},{"type":32,"tag":112,"props":1774,"children":1776},{"class":114,"line":1775},32,[1777,1782,1786,1790,1794,1798,1803,1807,1811,1815,1819],{"type":32,"tag":112,"props":1778,"children":1779},{"style":136},[1780],{"type":37,"value":1781},"  SAFE_DIVIDE(",{"type":32,"tag":112,"props":1783,"children":1784},{"style":198},[1785],{"type":37,"value":33},{"type":32,"tag":112,"props":1787,"children":1788},{"style":136},[1789],{"type":37,"value":579},{"type":32,"tag":112,"props":1791,"children":1792},{"style":198},[1793],{"type":37,"value":1746},{"type":32,"tag":112,"props":1795,"children":1796},{"style":136},[1797],{"type":37,"value":998},{"type":32,"tag":112,"props":1799,"children":1800},{"style":198},[1801],{"type":37,"value":1802},"m",{"type":32,"tag":112,"props":1804,"children":1805},{"style":136},[1806],{"type":37,"value":579},{"type":32,"tag":112,"props":1808,"children":1809},{"style":198},[1810],{"type":37,"value":1768},{"type":32,"tag":112,"props":1812,"children":1813},{"style":136},[1814],{"type":37,"value":1290},{"type":32,"tag":112,"props":1816,"children":1817},{"style":119},[1818],{"type":37,"value":1260},{"type":32,"tag":112,"props":1820,"children":1821},{"style":136},[1822],{"type":37,"value":1823}," visitors_per_dollar\n",{"type":32,"tag":112,"props":1825,"children":1827},{"class":114,"line":1826},33,[1828,1833],{"type":32,"tag":112,"props":1829,"children":1830},{"style":119},[1831],{"type":37,"value":1832},"FROM",{"type":32,"tag":112,"props":1834,"children":1835},{"style":136},[1836],{"type":37,"value":1837}," plausible_raw p\n",{"type":32,"tag":112,"props":1839,"children":1841},{"class":114,"line":1840},34,[1842,1847],{"type":32,"tag":112,"props":1843,"children":1844},{"style":119},[1845],{"type":37,"value":1846},"LEFT JOIN",{"type":32,"tag":112,"props":1848,"children":1849},{"style":136},[1850],{"type":37,"value":1851}," marketing_spend m\n",{"type":32,"tag":112,"props":1853,"children":1855},{"class":114,"line":1854},35,[1856,1861,1866,1870,1874,1879,1884,1888],{"type":32,"tag":112,"props":1857,"children":1858},{"style":119},[1859],{"type":37,"value":1860},"  ON",{"type":32,"tag":112,"props":1862,"children":1863},{"style":198},[1864],{"type":37,"value":1865}," p",{"type":32,"tag":112,"props":1867,"children":1868},{"style":136},[1869],{"type":37,"value":579},{"type":32,"tag":112,"props":1871,"children":1872},{"style":198},[1873],{"type":37,"value":280},{"type":32,"tag":112,"props":1875,"children":1876},{"style":119},[1877],{"type":37,"value":1878}," =",{"type":32,"tag":112,"props":1880,"children":1881},{"style":198},[1882],{"type":37,"value":1883}," m",{"type":32,"tag":112,"props":1885,"children":1886},{"style":136},[1887],{"type":37,"value":579},{"type":32,"tag":112,"props":1889,"children":1890},{"style":198},[1891],{"type":37,"value":1892},"date\n",{"type":32,"tag":112,"props":1894,"children":1896},{"class":114,"line":1895},36,[1897,1902,1906,1910,1914,1918,1922,1926],{"type":32,"tag":112,"props":1898,"children":1899},{"style":119},[1900],{"type":37,"value":1901},"  AND",{"type":32,"tag":112,"props":1903,"children":1904},{"style":198},[1905],{"type":37,"value":1865},{"type":32,"tag":112,"props":1907,"children":1908},{"style":136},[1909],{"type":37,"value":579},{"type":32,"tag":112,"props":1911,"children":1912},{"style":198},[1913],{"type":37,"value":1704},{"type":32,"tag":112,"props":1915,"children":1916},{"style":119},[1917],{"type":37,"value":1878},{"type":32,"tag":112,"props":1919,"children":1920},{"style":198},[1921],{"type":37,"value":1883},{"type":32,"tag":112,"props":1923,"children":1924},{"style":136},[1925],{"type":37,"value":579},{"type":32,"tag":112,"props":1927,"children":1928},{"style":198},[1929],{"type":37,"value":1930},"channel\n",{"type":32,"tag":33,"props":1932,"children":1933},{},[1934,1936,1942,1944,1949],{"type":37,"value":1935},"Dans ce modèle, le ",{"type":32,"tag":52,"props":1937,"children":1939},{"className":1938},[],[1940],{"type":37,"value":1941},"visitor_hash",{"type":37,"value":1943}," n'arrive pas dans BigQuery — l'agrégat ClickHouse arrive sous la forme du nombre ",{"type":32,"tag":52,"props":1945,"children":1947},{"className":1946},[],[1948],{"type":37,"value":1746},{"type":37,"value":1950},". Aucun suivi utilisateur au niveau du data warehouse. En joignant avec la table de dépenses marketing, vous voyez « nous avons dépensé X dollars pour ce canal de renvoi, Y visiteurs sont arrivés ». Pour les tests d'incrément, vous ne pouvez pas faire de randomisation basée sur les cookies — vous utilisez un split géographique (activations par région) ou un holdout temporel.",{"type":32,"tag":82,"props":1952,"children":1954},{"id":1953},"tableau-de-bord-temps-réel-métriques-agrégées",[1955],{"type":37,"value":1956},"Tableau de Bord Temps Réel : Métriques Agrégées",{"type":32,"tag":33,"props":1958,"children":1959},{},[1960],{"type":37,"value":1961},"Le tableau de bord Plausible affiche les compteurs en temps réel (pages vues des 30 dernières minutes). Pour un tableau similaire dans BigQuery + Looker Studio :",{"type":32,"tag":102,"props":1963,"children":1965},{"className":104,"code":1964,"language":106,"meta":16,"style":16},"CREATE MATERIALIZED VIEW analytics.mv_realtime_traffic\nAS\nSELECT\n  FORMAT_TIMESTAMP('%Y-%m-%d %H:%M', timestamp, 'Europe\u002FIstanbul') AS time_bucket,\n  pathname,\n  COUNT(*) AS hits,\n  APPROX_COUNT_DISTINCT(visitor_hash) AS visitors\nFROM plausible.events\nWHERE timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 MINUTE)\nGROUP BY 1, 2\n",[1966],{"type":32,"tag":52,"props":1967,"children":1968},{"__ignoreMap":16},[1969,1995,2003,2010,2053,2061,2090,2112,2133,2179],{"type":32,"tag":112,"props":1970,"children":1971},{"class":114,"line":115},[1972,1976,1981,1986,1990],{"type":32,"tag":112,"props":1973,"children":1974},{"style":119},[1975],{"type":37,"value":122},{"type":32,"tag":112,"props":1977,"children":1978},{"style":136},[1979],{"type":37,"value":1980}," MATERIALIZED VIEW ",{"type":32,"tag":112,"props":1982,"children":1983},{"style":198},[1984],{"type":37,"value":1985},"analytics",{"type":32,"tag":112,"props":1987,"children":1988},{"style":136},[1989],{"type":37,"value":579},{"type":32,"tag":112,"props":1991,"children":1992},{"style":198},[1993],{"type":37,"value":1994},"mv_realtime_traffic\n",{"type":32,"tag":112,"props":1996,"children":1997},{"class":114,"line":142},[1998],{"type":32,"tag":112,"props":1999,"children":2000},{"style":119},[2001],{"type":37,"value":2002},"AS\n",{"type":32,"tag":112,"props":2004,"children":2005},{"class":114,"line":161},[2006],{"type":32,"tag":112,"props":2007,"children":2008},{"style":119},[2009],{"type":37,"value":1624},{"type":32,"tag":112,"props":2011,"children":2012},{"class":114,"line":179},[2013,2018,2023,2027,2031,2035,2040,2044,2048],{"type":32,"tag":112,"props":2014,"children":2015},{"style":136},[2016],{"type":37,"value":2017},"  FORMAT_TIMESTAMP(",{"type":32,"tag":112,"props":2019,"children":2020},{"style":513},[2021],{"type":37,"value":2022},"'%Y-%m-%d %H:%M'",{"type":32,"tag":112,"props":2024,"children":2025},{"style":136},[2026],{"type":37,"value":998},{"type":32,"tag":112,"props":2028,"children":2029},{"style":119},[2030],{"type":37,"value":1285},{"type":32,"tag":112,"props":2032,"children":2033},{"style":136},[2034],{"type":37,"value":998},{"type":32,"tag":112,"props":2036,"children":2037},{"style":513},[2038],{"type":37,"value":2039},"'Europe\u002FIstanbul'",{"type":32,"tag":112,"props":2041,"children":2042},{"style":136},[2043],{"type":37,"value":1290},{"type":32,"tag":112,"props":2045,"children":2046},{"style":119},[2047],{"type":37,"value":1260},{"type":32,"tag":112,"props":2049,"children":2050},{"style":136},[2051],{"type":37,"value":2052}," time_bucket,\n",{"type":32,"tag":112,"props":2054,"children":2055},{"class":114,"line":215},[2056],{"type":32,"tag":112,"props":2057,"children":2058},{"style":136},[2059],{"type":37,"value":2060},"  pathname,\n",{"type":32,"tag":112,"props":2062,"children":2063},{"class":114,"line":246},[2064,2069,2073,2077,2081,2085],{"type":32,"tag":112,"props":2065,"children":2066},{"style":198},[2067],{"type":37,"value":2068},"  COUNT",{"type":32,"tag":112,"props":2070,"children":2071},{"style":136},[2072],{"type":37,"value":195},{"type":32,"tag":112,"props":2074,"children":2075},{"style":119},[2076],{"type":37,"value":1344},{"type":32,"tag":112,"props":2078,"children":2079},{"style":136},[2080],{"type":37,"value":1290},{"type":32,"tag":112,"props":2082,"children":2083},{"style":119},[2084],{"type":37,"value":1260},{"type":32,"tag":112,"props":2086,"children":2087},{"style":136},[2088],{"type":37,"value":2089}," hits,\n",{"type":32,"tag":112,"props":2091,"children":2092},{"class":114,"line":264},[2093,2098,2103,2107],{"type":32,"tag":112,"props":2094,"children":2095},{"style":198},[2096],{"type":37,"value":2097},"  APPROX_COUNT_DISTINCT",{"type":32,"tag":112,"props":2099,"children":2100},{"style":136},[2101],{"type":37,"value":2102},"(visitor_hash) ",{"type":32,"tag":112,"props":2104,"children":2105},{"style":119},[2106],{"type":37,"value":1260},{"type":32,"tag":112,"props":2108,"children":2109},{"style":136},[2110],{"type":37,"value":2111}," visitors\n",{"type":32,"tag":112,"props":2113,"children":2114},{"class":114,"line":26},[2115,2119,2124,2128],{"type":32,"tag":112,"props":2116,"children":2117},{"style":119},[2118],{"type":37,"value":1832},{"type":32,"tag":112,"props":2120,"children":2121},{"style":198},[2122],{"type":37,"value":2123}," plausible",{"type":32,"tag":112,"props":2125,"children":2126},{"style":136},[2127],{"type":37,"value":579},{"type":32,"tag":112,"props":2129,"children":2130},{"style":198},[2131],{"type":37,"value":2132},"events\n",{"type":32,"tag":112,"props":2134,"children":2135},{"class":114,"line":425},[2136,2141,2146,2150,2155,2160,2165,2170,2175],{"type":32,"tag":112,"props":2137,"children":2138},{"style":119},[2139],{"type":37,"value":2140},"WHERE",{"type":32,"tag":112,"props":2142,"children":2143},{"style":119},[2144],{"type":37,"value":2145}," timestamp",{"type":32,"tag":112,"props":2147,"children":2148},{"style":119},[2149],{"type":37,"value":1423},{"type":32,"tag":112,"props":2151,"children":2152},{"style":136},[2153],{"type":37,"value":2154}," TIMESTAMP_SUB(",{"type":32,"tag":112,"props":2156,"children":2157},{"style":198},[2158],{"type":37,"value":2159},"CURRENT_TIMESTAMP",{"type":32,"tag":112,"props":2161,"children":2162},{"style":136},[2163],{"type":37,"value":2164},"(), INTERVAL ",{"type":32,"tag":112,"props":2166,"children":2167},{"style":198},[2168],{"type":37,"value":2169},"30",{"type":32,"tag":112,"props":2171,"children":2172},{"style":119},[2173],{"type":37,"value":2174}," MINUTE",{"type":32,"tag":112,"props":2176,"children":2177},{"style":136},[2178],{"type":37,"value":1609},{"type":32,"tag":112,"props":2180,"children":2181},{"class":114,"line":434},[2182,2187,2191,2195],{"type":32,"tag":112,"props":2183,"children":2184},{"style":119},[2185],{"type":37,"value":2186},"GROUP BY",{"type":32,"tag":112,"props":2188,"children":2189},{"style":198},[2190],{"type":37,"value":1451},{"type":32,"tag":112,"props":2192,"children":2193},{"style":136},[2194],{"type":37,"value":998},{"type":32,"tag":112,"props":2196,"children":2197},{"style":198},[2198],{"type":37,"value":1601},{"type":32,"tag":33,"props":2200,"children":2201},{},[2202,2204,2210,2212,2218],{"type":37,"value":2203},"L'agrégation se régénère tous les 5 minutes (limite du MV BigQuery). Graphique linéaire dans Looker Studio : axe X ",{"type":32,"tag":52,"props":2205,"children":2207},{"className":2206},[],[2208],{"type":37,"value":2209},"time_bucket",{"type":37,"value":2211},", axe Y ",{"type":32,"tag":52,"props":2213,"children":2215},{"className":2214},[],[2216],{"type":37,"value":2217},"hits",{"type":37,"value":2219},". Ce tableau de bord aussi — aucune donnée au niveau utilisateur, juste des compteurs agrégés.",{"type":32,"tag":40,"props":2221,"children":2223},{"id":2222},"documentation-de-conformité-accord-de-traitement-des-données-kvkk",[2224],{"type":37,"value":2225},"Documentation de Conformité : Accord de Traitement des Données KVKK",{"type":32,"tag":33,"props":2227,"children":2228},{},[2229],{"type":37,"value":2230},"Avec Plausible SaaS, vous signez un DPA (Data Processing Agreement). Le modèle 2026 de Plausible inclut :",{"type":32,"tag":2232,"props":2233,"children":2234},"ul",{},[2235,2245,2255,2265,2275],{"type":32,"tag":1192,"props":2236,"children":2237},{},[2238,2243],{"type":32,"tag":61,"props":2239,"children":2240},{},[2241],{"type":37,"value":2242},"Catégorie de données :",{"type":37,"value":2244}," « Agrégation des métriques de trafic du site (nombre de pages vues, nombre de renvois, distribution des types d'appareils) ». Aucun identifiant individuel.",{"type":32,"tag":1192,"props":2246,"children":2247},{},[2248,2253],{"type":32,"tag":61,"props":2249,"children":2250},{},[2251],{"type":37,"value":2252},"Finalité du traitement :",{"type":37,"value":2254}," « Analyse des performances du site et attribution des sources de trafic ». Pas de retargeting, profilage ou prise de décision automatisée.",{"type":32,"tag":1192,"props":2256,"children":2257},{},[2258,2263],{"type":32,"tag":61,"props":2259,"children":2260},{},[2261],{"type":37,"value":2262},"Sous-traitant :",{"type":37,"value":2264}," ClickHouse Cloud (serveur UE), Hetzner (Allemagne).",{"type":32,"tag":1192,"props":2266,"children":2267},{},[2268,2273],{"type":32,"tag":61,"props":2269,"children":2270},{},[2271],{"type":37,"value":2272},"Durée de rétention :",{"type":37,"value":2274}," 2 ans (pour affichage du tableau de bord), suppression automatique ensuite.",{"type":32,"tag":1192,"props":2276,"children":2277},{},[2278,2283],{"type":32,"tag":61,"props":2279,"children":2280},{},[2281],{"type":37,"value":2282},"Droits des personnes concernées :",{"type":37,"value":2284}," Puisque les données sont agrégées au moment de l'ingestion, les demandes ne peuvent être satisfaites au niveau individuel. Le DPA le précise explicitement : « En raison de l'agrégation à l'ingestion, les demandes des personnes concernées ne peuvent pas être traitées au niveau individuel. »",{"type":32,"tag":33,"props":2286,"children":2287},{},[2288],{"type":37,"value":2289},"Pour votre rapport de conformité KVKK, utiliser Plausible de cette manière est un point fort : vous pouvez dire à l'Autorité « nous ne conservons pas les données utilisateur, seulement des",{"type":32,"tag":2291,"props":2292,"children":2293},"style",{},[2294],{"type":37,"value":2295},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":16,"searchDepth":161,"depth":161,"links":2297},[2298,2301,2304,2305,2308],{"id":42,"depth":142,"text":45,"children":2299},[2300],{"id":84,"depth":161,"text":87},{"id":325,"depth":142,"text":328,"children":2302},[2303],{"id":582,"depth":161,"text":585},{"id":936,"depth":142,"text":939},{"id":1178,"depth":142,"text":1181,"children":2306},[2307],{"id":1953,"depth":161,"text":1956},{"id":2222,"depth":142,"text":2225},"markdown","content:fr:data:analytique-respectueuse-de-la-vie-privee.md","content","fr\u002Fdata\u002Fanalytique-respectueuse-de-la-vie-privee.md","fr\u002Fdata\u002Fanalytique-respectueuse-de-la-vie-privee","md",1785967502241]