[{"data":1,"prerenderedAt":2353},["ShallowReactive",2],{"article-alternates":3,"article-\u002Fde\u002Fdata\u002Fdatenschutz-erste-analytik-plausible-server-aggregation":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-server-side-aggregation",{"_path":6,"_dir":13,"_draft":14,"_partial":14,"_locale":15,"title":16,"description":17,"publishedAt":18,"modifiedAt":18,"category":19,"i18nKey":4,"tags":20,"readingTime":26,"author":27,"body":28,"_type":2347,"_id":2348,"_source":2349,"_file":2350,"_stem":2351,"_extension":2352},"data",false,"","Privacy-First Analytics: Plausible + Server-seitige Aggregation","Cookie-loses Tracking, DSGVO\u002FKVKK-Konformität, Vergleich mit GA4. Datenschutz-fokussierte Mess-Infrastruktur mit Server-seitiger Aggregationsarchitektur aufbauen.","2026-06-23","verianalizi",[21,22,23,24,25],"privacy-first","plausible","server-side-tracking","dsgvo","cookie-los",9,"Roibase",{"type":29,"children":30,"toc":2333},"root",[31,39,46,68,89,96,109,303,332,338,359,476,481,561,588,594,599,937,942,948,1148,1167,1183,1189,1194,1235,1938,1958,1964,1969,2206,2227,2233,2238,2292,2304,2309,2315,2327],{"type":32,"tag":33,"props":34,"children":35},"element","p",{},[36],{"type":37,"value":38},"text","Google Analytics 4 verzichtet bis 2026 auch in Standardkonfigurationen nicht auf Browser-Fingerprinting, Client-seitige Cookie-Setzung und IP-Protokollierung. Die Anleitung des EU-Datenschutzrats vom Januar 2026 stuft GA4 als „ohne explizite Zustimmung unzulässig\" ein. In Deutschland präzisiert die aktuelle DSGVO-Interpretation (LfDI-Positionspapier März 2026): Cookie-basierte Analytics erfordern Opt-In vor Datenerfassung. Performance Marketing setzt auf aggressive Attribution Stacks, aber die Site-Analytics-Schicht auf datenschutzgerichtete Architektur umzustellen ist jetzt operativer Zwang. Plausible + Server-seitige Aggregation beantwortet zwei kritische Fragen: Wie misst man cookie-los, und wie baut man eine Compliance-sichere Server-seitige Pipeline auf.",{"type":32,"tag":40,"props":41,"children":43},"h2",{"id":42},"plausibles-architektur-event-stream-statt-aggregierter-counter",[44],{"type":37,"value":45},"Plausibles Architektur: Event-Stream statt aggregierter Counter",{"type":32,"tag":33,"props":47,"children":48},{},[49,51,58,60,66],{"type":37,"value":50},"Plausible lässt im Browser ein unter 1 KB großes JavaScript-Snippet laufen — keine Cookies, kein localStorage, keine IP-Protokollierung. Ein Seitenaufruf triggert einen ",{"type":32,"tag":52,"props":53,"children":55},"code",{"className":54},[],[56],{"type":37,"value":57},"POST \u002Fapi\u002Fevent",{"type":37,"value":59},"-Aufruf. Der Raw Event im Elixir-Backend wird ",{"type":32,"tag":61,"props":62,"children":63},"strong",{},[64],{"type":37,"value":65},"sofort aggregiert",{"type":37,"value":67},": jeder Event inkrementiert einen Pageview-Counter, die Session-ID wird durch einen täglich wechselnden Salt als HMAC-SHA256-Hash der IP + User-Agent speichert (24-Stunden-TTL). Das Visitor-Erkennungssystem ist deterministisch, aber nicht reversibel: Request vom selben Tag und selben Gerät werden auf denselben Visitor-Hash abgebildet, ab dem nächsten Tag ist die Verbindung unterbrochen. Diese Methode fällt außerhalb von DSGVO's „identifizierbarer natürlicher Person\" — selbst wenn Sie den Hash hätten, können Sie nicht auf die IP zurückrechnen.",{"type":32,"tag":33,"props":69,"children":70},{},[71,73,79,81,87],{"type":37,"value":72},"GA4 im Gegensatz: GA4 speichert mit dem Client-seitige ",{"type":32,"tag":52,"props":74,"children":76},{"className":75},[],[77],{"type":37,"value":78},"_ga",{"type":37,"value":80},"-Cookie 2 Jahre lang eine persistente Client-ID, schreibt jeden Hit in einen Event-Stream, und in BigQuery Export sieht ",{"type":32,"tag":52,"props":82,"children":84},{"className":83},[],[85],{"type":37,"value":86},"user_pseudo_id",{"type":37,"value":88}," = Cookie-Wert aus. Mit Consent Mode v2 sendet es redacted Data, aber das Cookie wird trotzdem gesetzt. Bei Plausible lautet es bereits im Backend: Der Event-Hit wird im Elixir-Prozess gehasht, die Raw-IP verlässt den Memory. Diese Architektur befolgt DGSVOs „Zweckbindung\": Die erfassten Daten dienen nur zur Seitenzählung, nicht zu Retargeting oder Cross-Site-Tracking.",{"type":32,"tag":90,"props":91,"children":93},"h3",{"id":92},"aggregations-counter-struktur",[94],{"type":37,"value":95},"Aggregations-Counter-Struktur",{"type":32,"tag":33,"props":97,"children":98},{},[99,101,107],{"type":37,"value":100},"Die Plausible-Dashboard-Metriken (Pageview, Besucher, Bounce-Rate, Sitzungsdauer) liegen nicht in einer ",{"type":32,"tag":52,"props":102,"children":104},{"className":103},[],[105],{"type":37,"value":106},"events",{"type":37,"value":108},"-Tabelle. Stattdessen:",{"type":32,"tag":110,"props":111,"children":115},"pre",{"className":112,"code":113,"language":114,"meta":15,"style":15},"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",[116],{"type":32,"tag":52,"props":117,"children":118},{"__ignoreMap":15},[119,148,167,185,221,252,270,294],{"type":32,"tag":120,"props":121,"children":124},"span",{"class":122,"line":123},"line",1,[125,131,136,142],{"type":32,"tag":120,"props":126,"children":128},{"style":127},"--shiki-default:#F97583",[129],{"type":37,"value":130},"CREATE",{"type":32,"tag":120,"props":132,"children":133},{"style":127},[134],{"type":37,"value":135}," TABLE",{"type":32,"tag":120,"props":137,"children":139},{"style":138},"--shiki-default:#B392F0",[140],{"type":37,"value":141}," stats",{"type":32,"tag":120,"props":143,"children":145},{"style":144},"--shiki-default:#E1E4E8",[146],{"type":37,"value":147}," (\n",{"type":32,"tag":120,"props":149,"children":151},{"class":122,"line":150},2,[152,157,162],{"type":32,"tag":120,"props":153,"children":154},{"style":144},[155],{"type":37,"value":156},"  site_id ",{"type":32,"tag":120,"props":158,"children":159},{"style":127},[160],{"type":37,"value":161},"INT",{"type":32,"tag":120,"props":163,"children":164},{"style":144},[165],{"type":37,"value":166},",\n",{"type":32,"tag":120,"props":168,"children":170},{"class":122,"line":169},3,[171,176,181],{"type":32,"tag":120,"props":172,"children":173},{"style":127},[174],{"type":37,"value":175},"  date",{"type":32,"tag":120,"props":177,"children":178},{"style":127},[179],{"type":37,"value":180}," DATE",{"type":32,"tag":120,"props":182,"children":183},{"style":144},[184],{"type":37,"value":166},{"type":32,"tag":120,"props":186,"children":188},{"class":122,"line":187},4,[189,194,199,204,210,215],{"type":32,"tag":120,"props":190,"children":191},{"style":144},[192],{"type":37,"value":193},"  metric ",{"type":32,"tag":120,"props":195,"children":196},{"style":127},[197],{"type":37,"value":198},"VARCHAR",{"type":32,"tag":120,"props":200,"children":201},{"style":144},[202],{"type":37,"value":203},"(",{"type":32,"tag":120,"props":205,"children":207},{"style":206},"--shiki-default:#79B8FF",[208],{"type":37,"value":209},"50",{"type":32,"tag":120,"props":211,"children":212},{"style":144},[213],{"type":37,"value":214},"),   ",{"type":32,"tag":120,"props":216,"children":218},{"style":217},"--shiki-default:#6A737D",[219],{"type":37,"value":220},"-- 'pageviews', 'visitors', 'bounce_rate'\n",{"type":32,"tag":120,"props":222,"children":224},{"class":122,"line":223},5,[225,230,234,238,242,247],{"type":32,"tag":120,"props":226,"children":227},{"style":144},[228],{"type":37,"value":229},"  dimension ",{"type":32,"tag":120,"props":231,"children":232},{"style":127},[233],{"type":37,"value":198},{"type":32,"tag":120,"props":235,"children":236},{"style":144},[237],{"type":37,"value":203},{"type":32,"tag":120,"props":239,"children":240},{"style":206},[241],{"type":37,"value":209},{"type":32,"tag":120,"props":243,"children":244},{"style":144},[245],{"type":37,"value":246},"),",{"type":32,"tag":120,"props":248,"children":249},{"style":217},[250],{"type":37,"value":251},"-- 'page', 'source', 'device'\n",{"type":32,"tag":120,"props":253,"children":255},{"class":122,"line":254},6,[256,261,266],{"type":32,"tag":120,"props":257,"children":258},{"style":127},[259],{"type":37,"value":260},"  value",{"type":32,"tag":120,"props":262,"children":263},{"style":127},[264],{"type":37,"value":265}," BIGINT",{"type":32,"tag":120,"props":267,"children":268},{"style":144},[269],{"type":37,"value":166},{"type":32,"tag":120,"props":271,"children":273},{"class":122,"line":272},7,[274,279,284,289],{"type":32,"tag":120,"props":275,"children":276},{"style":127},[277],{"type":37,"value":278},"  PRIMARY KEY",{"type":32,"tag":120,"props":280,"children":281},{"style":144},[282],{"type":37,"value":283}," (site_id, ",{"type":32,"tag":120,"props":285,"children":286},{"style":127},[287],{"type":37,"value":288},"date",{"type":32,"tag":120,"props":290,"children":291},{"style":144},[292],{"type":37,"value":293},", metric, dimension)\n",{"type":32,"tag":120,"props":295,"children":297},{"class":122,"line":296},8,[298],{"type":32,"tag":120,"props":299,"children":300},{"style":144},[301],{"type":37,"value":302},");\n",{"type":32,"tag":33,"props":304,"children":305},{},[306,308,314,316,322,324,330],{"type":37,"value":307},"Bei jedem eingehenden Event läuft eine ",{"type":32,"tag":52,"props":309,"children":311},{"className":310},[],[312],{"type":37,"value":313},"INCREMENT",{"type":37,"value":315},"-Query: Existiert die Kombination (Tag, Seite, Metrik), dann ",{"type":32,"tag":52,"props":317,"children":319},{"className":318},[],[320],{"type":37,"value":321},"+1",{"type":37,"value":323},", sonst ",{"type":32,"tag":52,"props":325,"children":327},{"className":326},[],[328],{"type":37,"value":329},"INSERT",{"type":37,"value":331},". Das Live-Dashboard liest diese Counter. Da kein Raw-Event-Stream gespeichert wird, erfüllt dies DGSVOs „Datensparsamkeit\" exakt — die Daten, die Sie speichern, entsprechen der Aufgabe.",{"type":32,"tag":40,"props":333,"children":335},{"id":334},"server-seitiger-proxy-client-zu-plausible-traffic-übers-eigene-domain-leiten",[336],{"type":37,"value":337},"Server-seitiger Proxy: Client-zu-Plausible-Traffic übers eigene Domain leiten",{"type":32,"tag":33,"props":339,"children":340},{},[341,343,349,351,357],{"type":37,"value":342},"Plausibles SaaS-Endpoint ist ",{"type":32,"tag":52,"props":344,"children":346},{"className":345},[],[347],{"type":37,"value":348},"plausible.io\u002Fapi\u002Fevent",{"type":37,"value":350},". Der Browser POST'et dorthin. Ad-Blocker landen ",{"type":32,"tag":52,"props":352,"children":354},{"className":353},[],[355],{"type":37,"value":356},"plausible.io",{"type":37,"value":358}," auf der Blockliste, der Event fällt aus. Lösung: Event-Traffic über einen Reverse Proxy des eigenen Domains laufen lassen. Nginx-Config:",{"type":32,"tag":110,"props":360,"children":364},{"className":361,"code":362,"language":363,"meta":15,"style":15},"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  # IP-Anonymisierung — letztes Oktet maskieren\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",[365],{"type":32,"tag":52,"props":366,"children":367},{"__ignoreMap":15},[368,376,384,392,400,408,416,424,432,440,449,458,467],{"type":32,"tag":120,"props":369,"children":370},{"class":122,"line":123},[371],{"type":32,"tag":120,"props":372,"children":373},{},[374],{"type":37,"value":375},"location \u002Fstats\u002Fapi\u002Fevent {\n",{"type":32,"tag":120,"props":377,"children":378},{"class":122,"line":150},[379],{"type":32,"tag":120,"props":380,"children":381},{},[382],{"type":37,"value":383},"  proxy_pass https:\u002F\u002Fplausible.io\u002Fapi\u002Fevent;\n",{"type":32,"tag":120,"props":385,"children":386},{"class":122,"line":169},[387],{"type":32,"tag":120,"props":388,"children":389},{},[390],{"type":37,"value":391},"  proxy_set_header Host plausible.io;\n",{"type":32,"tag":120,"props":393,"children":394},{"class":122,"line":187},[395],{"type":32,"tag":120,"props":396,"children":397},{},[398],{"type":37,"value":399},"  proxy_set_header X-Forwarded-For $remote_addr;\n",{"type":32,"tag":120,"props":401,"children":402},{"class":122,"line":223},[403],{"type":32,"tag":120,"props":404,"children":405},{},[406],{"type":37,"value":407},"  proxy_set_header X-Forwarded-Proto $scheme;\n",{"type":32,"tag":120,"props":409,"children":410},{"class":122,"line":254},[411],{"type":32,"tag":120,"props":412,"children":413},{},[414],{"type":37,"value":415},"  \n",{"type":32,"tag":120,"props":417,"children":418},{"class":122,"line":272},[419],{"type":32,"tag":120,"props":420,"children":421},{},[422],{"type":37,"value":423},"  # IP-Anonymisierung — letztes Oktet maskieren\n",{"type":32,"tag":120,"props":425,"children":426},{"class":122,"line":296},[427],{"type":32,"tag":120,"props":428,"children":429},{},[430],{"type":37,"value":431},"  set $anonymized_ip $remote_addr;\n",{"type":32,"tag":120,"props":433,"children":434},{"class":122,"line":26},[435],{"type":32,"tag":120,"props":436,"children":437},{},[438],{"type":37,"value":439},"  if ($remote_addr ~* ^(\\d+\\.\\d+\\.\\d+)\\.\\d+$) {\n",{"type":32,"tag":120,"props":441,"children":443},{"class":122,"line":442},10,[444],{"type":32,"tag":120,"props":445,"children":446},{},[447],{"type":37,"value":448},"    set $anonymized_ip $1.0;\n",{"type":32,"tag":120,"props":450,"children":452},{"class":122,"line":451},11,[453],{"type":32,"tag":120,"props":454,"children":455},{},[456],{"type":37,"value":457},"  }\n",{"type":32,"tag":120,"props":459,"children":461},{"class":122,"line":460},12,[462],{"type":32,"tag":120,"props":463,"children":464},{},[465],{"type":37,"value":466},"  proxy_set_header X-Forwarded-For $anonymized_ip;\n",{"type":32,"tag":120,"props":468,"children":470},{"class":122,"line":469},13,[471],{"type":32,"tag":120,"props":472,"children":473},{},[474],{"type":37,"value":475},"}\n",{"type":32,"tag":33,"props":477,"children":478},{},[479],{"type":37,"value":480},"Das Frontend-Script ändert sich:",{"type":32,"tag":110,"props":482,"children":486},{"className":483,"code":484,"language":485,"meta":15,"style":15},"language-html shiki shiki-themes github-dark","\u003Cscript defer data-domain=\"yourdomain.com\" \n  src=\"\u002Fstats\u002Fjs\u002Fscript.js\">\u003C\u002Fscript>\n","html",[487],{"type":32,"tag":52,"props":488,"children":489},{"__ignoreMap":15},[490,530],{"type":32,"tag":120,"props":491,"children":492},{"class":122,"line":123},[493,498,504,509,514,519,525],{"type":32,"tag":120,"props":494,"children":495},{"style":144},[496],{"type":37,"value":497},"\u003C",{"type":32,"tag":120,"props":499,"children":501},{"style":500},"--shiki-default:#85E89D",[502],{"type":37,"value":503},"script",{"type":32,"tag":120,"props":505,"children":506},{"style":138},[507],{"type":37,"value":508}," defer",{"type":32,"tag":120,"props":510,"children":511},{"style":138},[512],{"type":37,"value":513}," data-domain",{"type":32,"tag":120,"props":515,"children":516},{"style":144},[517],{"type":37,"value":518},"=",{"type":32,"tag":120,"props":520,"children":522},{"style":521},"--shiki-default:#9ECBFF",[523],{"type":37,"value":524},"\"yourdomain.com\"",{"type":32,"tag":120,"props":526,"children":527},{"style":144},[528],{"type":37,"value":529}," \n",{"type":32,"tag":120,"props":531,"children":532},{"class":122,"line":150},[533,538,542,547,552,556],{"type":32,"tag":120,"props":534,"children":535},{"style":138},[536],{"type":37,"value":537},"  src",{"type":32,"tag":120,"props":539,"children":540},{"style":144},[541],{"type":37,"value":518},{"type":32,"tag":120,"props":543,"children":544},{"style":521},[545],{"type":37,"value":546},"\"\u002Fstats\u002Fjs\u002Fscript.js\"",{"type":32,"tag":120,"props":548,"children":549},{"style":144},[550],{"type":37,"value":551},">\u003C\u002F",{"type":32,"tag":120,"props":553,"children":554},{"style":500},[555],{"type":37,"value":503},{"type":32,"tag":120,"props":557,"children":558},{"style":144},[559],{"type":37,"value":560},">\n",{"type":32,"tag":33,"props":562,"children":563},{},[564,570,572,578,580,586],{"type":32,"tag":52,"props":565,"children":567},{"className":566},[],[568],{"type":37,"value":569},"\u002Fstats\u002Fjs\u002Fscript.js",{"type":37,"value":571}," wird auch über Nginx proxy'd. Event-Traffic geht zu ",{"type":32,"tag":52,"props":573,"children":575},{"className":574},[],[576],{"type":37,"value":577},"yourdomain.com\u002Fstats\u002Fapi\u002Fevent",{"type":37,"value":579},", wird von dort zu Plausibles SaaS-Backend weitergeleitet. Das Ad-Blocker-Bypass-Effekt bringt %15–20 Messverlust auf null (Plausible 2025-Bericht). Entscheidender Punkt: Der Reverse Proxy anonymisiert die IP schon bei Versand — Das Plausible-Backend sieht nur das letzte Oktet als ",{"type":32,"tag":52,"props":581,"children":583},{"className":582},[],[584],{"type":37,"value":585},"0",{"type":37,"value":587},".",{"type":32,"tag":90,"props":589,"children":591},{"id":590},"self-hosted-plausible-vollständige-kontrolle",[592],{"type":37,"value":593},"Self-Hosted Plausible: Vollständige Kontrolle",{"type":32,"tag":33,"props":595,"children":596},{},[597],{"type":37,"value":598},"Plausible auf den eigenen Servern laufen lassen bedeutet, Ereignisdaten verlassen nie den 3rd-Party-Endpoint. Docker-Compose-Setup:",{"type":32,"tag":110,"props":600,"children":604},{"className":601,"code":602,"language":603,"meta":15,"style":15},"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",[605],{"type":32,"tag":52,"props":606,"children":607},{"__ignoreMap":15},[608,626,639,651,668,680,693,705,722,739,756,773,785,797,810,818,831,848,861,874,882,895,912,924],{"type":32,"tag":120,"props":609,"children":610},{"class":122,"line":123},[611,616,621],{"type":32,"tag":120,"props":612,"children":613},{"style":500},[614],{"type":37,"value":615},"version",{"type":32,"tag":120,"props":617,"children":618},{"style":144},[619],{"type":37,"value":620},": ",{"type":32,"tag":120,"props":622,"children":623},{"style":521},[624],{"type":37,"value":625},"'3.8'\n",{"type":32,"tag":120,"props":627,"children":628},{"class":122,"line":150},[629,634],{"type":32,"tag":120,"props":630,"children":631},{"style":500},[632],{"type":37,"value":633},"services",{"type":32,"tag":120,"props":635,"children":636},{"style":144},[637],{"type":37,"value":638},":\n",{"type":32,"tag":120,"props":640,"children":641},{"class":122,"line":169},[642,647],{"type":32,"tag":120,"props":643,"children":644},{"style":500},[645],{"type":37,"value":646},"  plausible",{"type":32,"tag":120,"props":648,"children":649},{"style":144},[650],{"type":37,"value":638},{"type":32,"tag":120,"props":652,"children":653},{"class":122,"line":187},[654,659,663],{"type":32,"tag":120,"props":655,"children":656},{"style":500},[657],{"type":37,"value":658},"    image",{"type":32,"tag":120,"props":660,"children":661},{"style":144},[662],{"type":37,"value":620},{"type":32,"tag":120,"props":664,"children":665},{"style":521},[666],{"type":37,"value":667},"plausible\u002Fanalytics:v2.0\n",{"type":32,"tag":120,"props":669,"children":670},{"class":122,"line":223},[671,676],{"type":32,"tag":120,"props":672,"children":673},{"style":500},[674],{"type":37,"value":675},"    ports",{"type":32,"tag":120,"props":677,"children":678},{"style":144},[679],{"type":37,"value":638},{"type":32,"tag":120,"props":681,"children":682},{"class":122,"line":254},[683,688],{"type":32,"tag":120,"props":684,"children":685},{"style":144},[686],{"type":37,"value":687},"      - ",{"type":32,"tag":120,"props":689,"children":690},{"style":521},[691],{"type":37,"value":692},"\"8000:8000\"\n",{"type":32,"tag":120,"props":694,"children":695},{"class":122,"line":272},[696,701],{"type":32,"tag":120,"props":697,"children":698},{"style":500},[699],{"type":37,"value":700},"    environment",{"type":32,"tag":120,"props":702,"children":703},{"style":144},[704],{"type":37,"value":638},{"type":32,"tag":120,"props":706,"children":707},{"class":122,"line":296},[708,713,717],{"type":32,"tag":120,"props":709,"children":710},{"style":500},[711],{"type":37,"value":712},"      BASE_URL",{"type":32,"tag":120,"props":714,"children":715},{"style":144},[716],{"type":37,"value":620},{"type":32,"tag":120,"props":718,"children":719},{"style":521},[720],{"type":37,"value":721},"https:\u002F\u002Fanalytics.yourdomain.com\n",{"type":32,"tag":120,"props":723,"children":724},{"class":122,"line":26},[725,730,734],{"type":32,"tag":120,"props":726,"children":727},{"style":500},[728],{"type":37,"value":729},"      SECRET_KEY_BASE",{"type":32,"tag":120,"props":731,"children":732},{"style":144},[733],{"type":37,"value":620},{"type":32,"tag":120,"props":735,"children":736},{"style":521},[737],{"type":37,"value":738},"${SECRET}\n",{"type":32,"tag":120,"props":740,"children":741},{"class":122,"line":442},[742,747,751],{"type":32,"tag":120,"props":743,"children":744},{"style":500},[745],{"type":37,"value":746},"      DATABASE_URL",{"type":32,"tag":120,"props":748,"children":749},{"style":144},[750],{"type":37,"value":620},{"type":32,"tag":120,"props":752,"children":753},{"style":521},[754],{"type":37,"value":755},"postgres:\u002F\u002Fplausible:password@db\u002Fplausible\n",{"type":32,"tag":120,"props":757,"children":758},{"class":122,"line":451},[759,764,768],{"type":32,"tag":120,"props":760,"children":761},{"style":500},[762],{"type":37,"value":763},"      CLICKHOUSE_DATABASE_URL",{"type":32,"tag":120,"props":765,"children":766},{"style":144},[767],{"type":37,"value":620},{"type":32,"tag":120,"props":769,"children":770},{"style":521},[771],{"type":37,"value":772},"http:\u002F\u002Fclickhouse:8123\u002Fplausible\n",{"type":32,"tag":120,"props":774,"children":775},{"class":122,"line":460},[776,781],{"type":32,"tag":120,"props":777,"children":778},{"style":500},[779],{"type":37,"value":780},"    depends_on",{"type":32,"tag":120,"props":782,"children":783},{"style":144},[784],{"type":37,"value":638},{"type":32,"tag":120,"props":786,"children":787},{"class":122,"line":469},[788,792],{"type":32,"tag":120,"props":789,"children":790},{"style":144},[791],{"type":37,"value":687},{"type":32,"tag":120,"props":793,"children":794},{"style":521},[795],{"type":37,"value":796},"db\n",{"type":32,"tag":120,"props":798,"children":800},{"class":122,"line":799},14,[801,805],{"type":32,"tag":120,"props":802,"children":803},{"style":144},[804],{"type":37,"value":687},{"type":32,"tag":120,"props":806,"children":807},{"style":521},[808],{"type":37,"value":809},"clickhouse\n",{"type":32,"tag":120,"props":811,"children":813},{"class":122,"line":812},15,[814],{"type":32,"tag":120,"props":815,"children":816},{"style":144},[817],{"type":37,"value":415},{"type":32,"tag":120,"props":819,"children":821},{"class":122,"line":820},16,[822,827],{"type":32,"tag":120,"props":823,"children":824},{"style":500},[825],{"type":37,"value":826},"  db",{"type":32,"tag":120,"props":828,"children":829},{"style":144},[830],{"type":37,"value":638},{"type":32,"tag":120,"props":832,"children":834},{"class":122,"line":833},17,[835,839,843],{"type":32,"tag":120,"props":836,"children":837},{"style":500},[838],{"type":37,"value":658},{"type":32,"tag":120,"props":840,"children":841},{"style":144},[842],{"type":37,"value":620},{"type":32,"tag":120,"props":844,"children":845},{"style":521},[846],{"type":37,"value":847},"postgres:14-alpine\n",{"type":32,"tag":120,"props":849,"children":851},{"class":122,"line":850},18,[852,857],{"type":32,"tag":120,"props":853,"children":854},{"style":500},[855],{"type":37,"value":856},"    volumes",{"type":32,"tag":120,"props":858,"children":859},{"style":144},[860],{"type":37,"value":638},{"type":32,"tag":120,"props":862,"children":864},{"class":122,"line":863},19,[865,869],{"type":32,"tag":120,"props":866,"children":867},{"style":144},[868],{"type":37,"value":687},{"type":32,"tag":120,"props":870,"children":871},{"style":521},[872],{"type":37,"value":873},"postgres-data:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata\n",{"type":32,"tag":120,"props":875,"children":877},{"class":122,"line":876},20,[878],{"type":32,"tag":120,"props":879,"children":880},{"style":144},[881],{"type":37,"value":415},{"type":32,"tag":120,"props":883,"children":885},{"class":122,"line":884},21,[886,891],{"type":32,"tag":120,"props":887,"children":888},{"style":500},[889],{"type":37,"value":890},"  clickhouse",{"type":32,"tag":120,"props":892,"children":893},{"style":144},[894],{"type":37,"value":638},{"type":32,"tag":120,"props":896,"children":898},{"class":122,"line":897},22,[899,903,907],{"type":32,"tag":120,"props":900,"children":901},{"style":500},[902],{"type":37,"value":658},{"type":32,"tag":120,"props":904,"children":905},{"style":144},[906],{"type":37,"value":620},{"type":32,"tag":120,"props":908,"children":909},{"style":521},[910],{"type":37,"value":911},"clickhouse\u002Fclickhouse-server:23.3-alpine\n",{"type":32,"tag":120,"props":913,"children":915},{"class":122,"line":914},23,[916,920],{"type":32,"tag":120,"props":917,"children":918},{"style":500},[919],{"type":37,"value":856},{"type":32,"tag":120,"props":921,"children":922},{"style":144},[923],{"type":37,"value":638},{"type":32,"tag":120,"props":925,"children":927},{"class":122,"line":926},24,[928,932],{"type":32,"tag":120,"props":929,"children":930},{"style":144},[931],{"type":37,"value":687},{"type":32,"tag":120,"props":933,"children":934},{"style":521},[935],{"type":37,"value":936},"clickhouse-data:\u002Fvar\u002Flib\u002Fclickhouse\n",{"type":32,"tag":33,"props":938,"children":939},{},[940],{"type":37,"value":941},"Self-Hosted ist ab v2.0 von PostgreSQL auf ClickHouse umgestiegen. Event-Aggregations-Geschwindigkeit ist 10x schneller: Bei 1M Events\u002FTag ist Query-Latenz \u003C50ms. In dieser Architektur sind IP-Hashing, Salt-Rotation komplett in Ihrer Kontrolle — Im DSGVO-Bericht können Sie schreiben: „Event-Daten verlassen unsere Server nicht.\"",{"type":32,"tag":40,"props":943,"children":945},{"id":944},"vergleich-mit-ga4-trade-off-tabelle",[946],{"type":37,"value":947},"Vergleich mit GA4: Trade-off-Tabelle",{"type":32,"tag":949,"props":950,"children":951},"table",{},[952,976],{"type":32,"tag":953,"props":954,"children":955},"thead",{},[956],{"type":32,"tag":957,"props":958,"children":959},"tr",{},[960,966,971],{"type":32,"tag":961,"props":962,"children":963},"th",{},[964],{"type":37,"value":965},"Kriterium",{"type":32,"tag":961,"props":967,"children":968},{},[969],{"type":37,"value":970},"Plausible",{"type":32,"tag":961,"props":972,"children":973},{},[974],{"type":37,"value":975},"GA4",{"type":32,"tag":977,"props":978,"children":979},"tbody",{},[980,1015,1043,1064,1085,1106,1127],{"type":32,"tag":957,"props":981,"children":982},{},[983,992,997],{"type":32,"tag":984,"props":985,"children":986},"td",{},[987],{"type":32,"tag":61,"props":988,"children":989},{},[990],{"type":37,"value":991},"Cookie-Nutzung",{"type":32,"tag":984,"props":993,"children":994},{},[995],{"type":37,"value":996},"Keine",{"type":32,"tag":984,"props":998,"children":999},{},[1000,1005,1007,1013],{"type":32,"tag":52,"props":1001,"children":1003},{"className":1002},[],[1004],{"type":37,"value":78},{"type":37,"value":1006},", ",{"type":32,"tag":52,"props":1008,"children":1010},{"className":1009},[],[1011],{"type":37,"value":1012},"_ga_*",{"type":37,"value":1014}," (2 Jahre)",{"type":32,"tag":957,"props":1016,"children":1017},{},[1018,1026,1031],{"type":32,"tag":984,"props":1019,"children":1020},{},[1021],{"type":32,"tag":61,"props":1022,"children":1023},{},[1024],{"type":37,"value":1025},"IP-Protokollierung",{"type":32,"tag":984,"props":1027,"children":1028},{},[1029],{"type":37,"value":1030},"Hash + 24h TTL",{"type":32,"tag":984,"props":1032,"children":1033},{},[1034,1036,1041],{"type":37,"value":1035},"Redacted (mit Consent Mode v2), aber BigQuery-Export enthält ",{"type":32,"tag":52,"props":1037,"children":1039},{"className":1038},[],[1040],{"type":37,"value":86},{"type":37,"value":1042}," = Cookie-ID",{"type":32,"tag":957,"props":1044,"children":1045},{},[1046,1054,1059],{"type":32,"tag":984,"props":1047,"children":1048},{},[1049],{"type":32,"tag":61,"props":1050,"children":1051},{},[1052],{"type":37,"value":1053},"Zustimmungserfordernis (DSGVO)",{"type":32,"tag":984,"props":1055,"children":1056},{},[1057],{"type":37,"value":1058},"Nein (legitimes Interesse reicht)",{"type":32,"tag":984,"props":1060,"children":1061},{},[1062],{"type":37,"value":1063},"Ja (explizites Opt-in)",{"type":32,"tag":957,"props":1065,"children":1066},{},[1067,1075,1080],{"type":32,"tag":984,"props":1068,"children":1069},{},[1070],{"type":32,"tag":61,"props":1071,"children":1072},{},[1073],{"type":37,"value":1074},"Attributions-Fähigkeit",{"type":32,"tag":984,"props":1076,"children":1077},{},[1078],{"type":37,"value":1079},"Keine — nur Referrer + UTM",{"type":32,"tag":984,"props":1081,"children":1082},{},[1083],{"type":37,"value":1084},"Cross-Domain, Conversion Path, datengesteuerte Attribution",{"type":32,"tag":957,"props":1086,"children":1087},{},[1088,1096,1101],{"type":32,"tag":984,"props":1089,"children":1090},{},[1091],{"type":32,"tag":61,"props":1092,"children":1093},{},[1094],{"type":37,"value":1095},"Custom-Event-Tracking",{"type":32,"tag":984,"props":1097,"children":1098},{},[1099],{"type":37,"value":1100},"Manuelle API-Aufrufe (Goal-Events)",{"type":32,"tag":984,"props":1102,"children":1103},{},[1104],{"type":37,"value":1105},"Automatisch + Messplan",{"type":32,"tag":957,"props":1107,"children":1108},{},[1109,1117,1122],{"type":32,"tag":984,"props":1110,"children":1111},{},[1112],{"type":32,"tag":61,"props":1113,"children":1114},{},[1115],{"type":37,"value":1116},"Kosten (10M Hit\u002FMonat)",{"type":32,"tag":984,"props":1118,"children":1119},{},[1120],{"type":37,"value":1121},"Self-Hosted: Server (~$50\u002FMo), SaaS: $19\u002FMo (Business)",{"type":32,"tag":984,"props":1123,"children":1124},{},[1125],{"type":37,"value":1126},"Kostenlos, aber BigQuery Export kostet GCP (~$5\u002FTB Query)",{"type":32,"tag":957,"props":1128,"children":1129},{},[1130,1138,1143],{"type":32,"tag":984,"props":1131,"children":1132},{},[1133],{"type":32,"tag":61,"props":1134,"children":1135},{},[1136],{"type":37,"value":1137},"Dateneigentum",{"type":32,"tag":984,"props":1139,"children":1140},{},[1141],{"type":37,"value":1142},"Ihr (Self-Hosted) \u002F EU-Server (SaaS)",{"type":32,"tag":984,"props":1144,"children":1145},{},[1146],{"type":37,"value":1147},"Google (US-Server)",{"type":32,"tag":33,"props":1149,"children":1150},{},[1151,1153,1158,1160,1165],{"type":37,"value":1152},"Bei Plausible ",{"type":32,"tag":61,"props":1154,"children":1155},{},[1156],{"type":37,"value":1157},"gibt es keine Attribution",{"type":37,"value":1159}," — Sie sehen nicht, aus welcher Kampagne eine Conversion kam, nur „diese Seite wurde X-mal besucht, Y Unique Visitors\". Wenn Sie Zweit-Marketing-Mix-Modeling oder Incrementality-Tests fahren, ist das Datenvolumen ausreichend: Korrelation der aggregierten Traffic-Veränderung mit Sales. User-Level-Journey, Cohort-Analyse, Funnel-Dropoff sind unmöglich. GA4 glänzt darin: BigQuery-Export mit ",{"type":32,"tag":52,"props":1161,"children":1163},{"className":1162},[],[1164],{"type":37,"value":86},{"type":37,"value":1166},"-Join ermöglicht Multi-Touch-Attribution.",{"type":32,"tag":33,"props":1168,"children":1169},{},[1170,1172,1181],{"type":37,"value":1171},"Der Trade-off: Sie reduzieren Compliance-Risiko auf Null und verlieren granulare Insights. Lösung: Hybrid-Stack. Site-Analytics Plausible (cookie-los), Conversion-Tracking über ",{"type":32,"tag":1173,"props":1174,"children":1178},"a",{"href":1175,"rel":1176},"https:\u002F\u002Fwww.roibase.com.tr\u002Fde\u002Ffirstparty",[1177],"nofollow",[1179],{"type":37,"value":1180},"First-Party-Daten-Architektur",{"type":37,"value":1182}," — sGTM + Conversion API. Plausible zeigt allgemeine Traffic-Trends, Decision-Metriken (ROAS, LTV, CAC) kommen aus der Server-seitigen Pipeline.",{"type":32,"tag":40,"props":1184,"children":1186},{"id":1185},"server-seitige-aggregations-pipeline-plausible-dbt-bigquery",[1187],{"type":37,"value":1188},"Server-seitige Aggregations-Pipeline: Plausible + dbt + BigQuery",{"type":32,"tag":33,"props":1190,"children":1191},{},[1192],{"type":37,"value":1193},"In einer Self-Hosted-Plausible-Installation haben Sie direkten Zugang zur ClickHouse-Datenbank. Event-Counter in BigQuery replizieren zum Join mit Marketing-Daten:",{"type":32,"tag":1195,"props":1196,"children":1197},"ol",{},[1198,1217],{"type":32,"tag":1199,"props":1200,"children":1201},"li",{},[1202,1207,1209,1215],{"type":32,"tag":61,"props":1203,"children":1204},{},[1205],{"type":37,"value":1206},"ClickHouse → BigQuery CDC:",{"type":37,"value":1208}," Airbyte-Connector synkt ",{"type":32,"tag":52,"props":1210,"children":1212},{"className":1211},[],[1213],{"type":37,"value":1214},"plausible.events",{"type":37,"value":1216}," täglich inkrementell zu BigQuery. ClickHouse speichert bereits aggregierte Counter, keine Raw-Events.",{"type":32,"tag":1199,"props":1218,"children":1219},{},[1220,1225,1227,1233],{"type":32,"tag":61,"props":1221,"children":1222},{},[1223],{"type":37,"value":1224},"dbt-Modell:",{"type":37,"value":1226}," In BigQuery eine ",{"type":32,"tag":52,"props":1228,"children":1230},{"className":1229},[],[1231],{"type":37,"value":1232},"fct_pageviews",{"type":37,"value":1234},"-Tabelle bauen:",{"type":32,"tag":110,"props":1236,"children":1238},{"className":112,"code":1237,"language":114,"meta":15,"style":15},"-- 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",[1239],{"type":32,"tag":52,"props":1240,"children":1241},{"__ignoreMap":15},[1242,1250,1272,1280,1311,1319,1327,1335,1365,1382,1414,1446,1486,1494,1503,1519,1526,1538,1546,1568,1589,1609,1617,1624,1632,1653,1674,1695,1716,1737,1758,1780,1831,1845,1859,1900],{"type":32,"tag":120,"props":1243,"children":1244},{"class":122,"line":123},[1245],{"type":32,"tag":120,"props":1246,"children":1247},{"style":217},[1248],{"type":37,"value":1249},"-- models\u002Ffct_pageviews.sql\n",{"type":32,"tag":120,"props":1251,"children":1252},{"class":122,"line":150},[1253,1258,1263,1268],{"type":32,"tag":120,"props":1254,"children":1255},{"style":127},[1256],{"type":37,"value":1257},"WITH",{"type":32,"tag":120,"props":1259,"children":1260},{"style":144},[1261],{"type":37,"value":1262}," plausible_raw ",{"type":32,"tag":120,"props":1264,"children":1265},{"style":127},[1266],{"type":37,"value":1267},"AS",{"type":32,"tag":120,"props":1269,"children":1270},{"style":144},[1271],{"type":37,"value":147},{"type":32,"tag":120,"props":1273,"children":1274},{"class":122,"line":169},[1275],{"type":32,"tag":120,"props":1276,"children":1277},{"style":127},[1278],{"type":37,"value":1279},"  SELECT\n",{"type":32,"tag":120,"props":1281,"children":1282},{"class":122,"line":187},[1283,1288,1293,1298,1302,1307],{"type":32,"tag":120,"props":1284,"children":1285},{"style":144},[1286],{"type":37,"value":1287},"    toDate(",{"type":32,"tag":120,"props":1289,"children":1290},{"style":127},[1291],{"type":37,"value":1292},"timestamp",{"type":32,"tag":120,"props":1294,"children":1295},{"style":144},[1296],{"type":37,"value":1297},") ",{"type":32,"tag":120,"props":1299,"children":1300},{"style":127},[1301],{"type":37,"value":1267},{"type":32,"tag":120,"props":1303,"children":1304},{"style":127},[1305],{"type":37,"value":1306}," date",{"type":32,"tag":120,"props":1308,"children":1309},{"style":144},[1310],{"type":37,"value":166},{"type":32,"tag":120,"props":1312,"children":1313},{"class":122,"line":223},[1314],{"type":32,"tag":120,"props":1315,"children":1316},{"style":144},[1317],{"type":37,"value":1318},"    domain,\n",{"type":32,"tag":120,"props":1320,"children":1321},{"class":122,"line":254},[1322],{"type":32,"tag":120,"props":1323,"children":1324},{"style":144},[1325],{"type":37,"value":1326},"    pathname,\n",{"type":32,"tag":120,"props":1328,"children":1329},{"class":122,"line":272},[1330],{"type":32,"tag":120,"props":1331,"children":1332},{"style":144},[1333],{"type":37,"value":1334},"    referrer_source,\n",{"type":32,"tag":120,"props":1336,"children":1337},{"class":122,"line":296},[1338,1343,1347,1352,1356,1360],{"type":32,"tag":120,"props":1339,"children":1340},{"style":206},[1341],{"type":37,"value":1342},"    COUNT",{"type":32,"tag":120,"props":1344,"children":1345},{"style":144},[1346],{"type":37,"value":203},{"type":32,"tag":120,"props":1348,"children":1349},{"style":127},[1350],{"type":37,"value":1351},"*",{"type":32,"tag":120,"props":1353,"children":1354},{"style":144},[1355],{"type":37,"value":1297},{"type":32,"tag":120,"props":1357,"children":1358},{"style":127},[1359],{"type":37,"value":1267},{"type":32,"tag":120,"props":1361,"children":1362},{"style":144},[1363],{"type":37,"value":1364}," pageviews,\n",{"type":32,"tag":120,"props":1366,"children":1367},{"class":122,"line":26},[1368,1373,1377],{"type":32,"tag":120,"props":1369,"children":1370},{"style":144},[1371],{"type":37,"value":1372},"    uniqExact(visitor_hash) ",{"type":32,"tag":120,"props":1374,"children":1375},{"style":127},[1376],{"type":37,"value":1267},{"type":32,"tag":120,"props":1378,"children":1379},{"style":144},[1380],{"type":37,"value":1381}," unique_visitors\n",{"type":32,"tag":120,"props":1383,"children":1384},{"class":122,"line":442},[1385,1390,1395,1400,1404,1409],{"type":32,"tag":120,"props":1386,"children":1387},{"style":127},[1388],{"type":37,"value":1389},"  FROM",{"type":32,"tag":120,"props":1391,"children":1392},{"style":144},[1393],{"type":37,"value":1394}," {{ source(",{"type":32,"tag":120,"props":1396,"children":1397},{"style":521},[1398],{"type":37,"value":1399},"'plausible'",{"type":32,"tag":120,"props":1401,"children":1402},{"style":144},[1403],{"type":37,"value":1006},{"type":32,"tag":120,"props":1405,"children":1406},{"style":521},[1407],{"type":37,"value":1408},"'events'",{"type":32,"tag":120,"props":1410,"children":1411},{"style":144},[1412],{"type":37,"value":1413},") }}\n",{"type":32,"tag":120,"props":1415,"children":1416},{"class":122,"line":451},[1417,1422,1426,1431,1436,1441],{"type":32,"tag":120,"props":1418,"children":1419},{"style":127},[1420],{"type":37,"value":1421},"  WHERE",{"type":32,"tag":120,"props":1423,"children":1424},{"style":127},[1425],{"type":37,"value":1306},{"type":32,"tag":120,"props":1427,"children":1428},{"style":127},[1429],{"type":37,"value":1430}," >=",{"type":32,"tag":120,"props":1432,"children":1433},{"style":144},[1434],{"type":37,"value":1435}," CURRENT_DATE ",{"type":32,"tag":120,"props":1437,"children":1438},{"style":127},[1439],{"type":37,"value":1440},"-",{"type":32,"tag":120,"props":1442,"children":1443},{"style":206},[1444],{"type":37,"value":1445}," 30\n",{"type":32,"tag":120,"props":1447,"children":1448},{"class":122,"line":460},[1449,1454,1459,1463,1468,1472,1477,1481],{"type":32,"tag":120,"props":1450,"children":1451},{"style":127},[1452],{"type":37,"value":1453},"  GROUP BY",{"type":32,"tag":120,"props":1455,"children":1456},{"style":206},[1457],{"type":37,"value":1458}," 1",{"type":32,"tag":120,"props":1460,"children":1461},{"style":144},[1462],{"type":37,"value":1006},{"type":32,"tag":120,"props":1464,"children":1465},{"style":206},[1466],{"type":37,"value":1467},"2",{"type":32,"tag":120,"props":1469,"children":1470},{"style":144},[1471],{"type":37,"value":1006},{"type":32,"tag":120,"props":1473,"children":1474},{"style":206},[1475],{"type":37,"value":1476},"3",{"type":32,"tag":120,"props":1478,"children":1479},{"style":144},[1480],{"type":37,"value":1006},{"type":32,"tag":120,"props":1482,"children":1483},{"style":206},[1484],{"type":37,"value":1485},"4\n",{"type":32,"tag":120,"props":1487,"children":1488},{"class":122,"line":469},[1489],{"type":32,"tag":120,"props":1490,"children":1491},{"style":144},[1492],{"type":37,"value":1493},"),\n",{"type":32,"tag":120,"props":1495,"children":1496},{"class":122,"line":799},[1497],{"type":32,"tag":120,"props":1498,"children":1500},{"emptyLinePlaceholder":1499},true,[1501],{"type":37,"value":1502},"\n",{"type":32,"tag":120,"props":1504,"children":1505},{"class":122,"line":812},[1506,1511,1515],{"type":32,"tag":120,"props":1507,"children":1508},{"style":144},[1509],{"type":37,"value":1510},"marketing_spend ",{"type":32,"tag":120,"props":1512,"children":1513},{"style":127},[1514],{"type":37,"value":1267},{"type":32,"tag":120,"props":1516,"children":1517},{"style":144},[1518],{"type":37,"value":147},{"type":32,"tag":120,"props":1520,"children":1521},{"class":122,"line":820},[1522],{"type":32,"tag":120,"props":1523,"children":1524},{"style":127},[1525],{"type":37,"value":1279},{"type":32,"tag":120,"props":1527,"children":1528},{"class":122,"line":833},[1529,1534],{"type":32,"tag":120,"props":1530,"children":1531},{"style":127},[1532],{"type":37,"value":1533},"    date",{"type":32,"tag":120,"props":1535,"children":1536},{"style":144},[1537],{"type":37,"value":166},{"type":32,"tag":120,"props":1539,"children":1540},{"class":122,"line":850},[1541],{"type":32,"tag":120,"props":1542,"children":1543},{"style":144},[1544],{"type":37,"value":1545},"    channel,\n",{"type":32,"tag":120,"props":1547,"children":1548},{"class":122,"line":863},[1549,1554,1559,1563],{"type":32,"tag":120,"props":1550,"children":1551},{"style":206},[1552],{"type":37,"value":1553},"    SUM",{"type":32,"tag":120,"props":1555,"children":1556},{"style":144},[1557],{"type":37,"value":1558},"(spend) ",{"type":32,"tag":120,"props":1560,"children":1561},{"style":127},[1562],{"type":37,"value":1267},{"type":32,"tag":120,"props":1564,"children":1565},{"style":144},[1566],{"type":37,"value":1567}," total_spend\n",{"type":32,"tag":120,"props":1569,"children":1570},{"class":122,"line":876},[1571,1575,1580,1585],{"type":32,"tag":120,"props":1572,"children":1573},{"style":127},[1574],{"type":37,"value":1389},{"type":32,"tag":120,"props":1576,"children":1577},{"style":144},[1578],{"type":37,"value":1579}," {{ ref(",{"type":32,"tag":120,"props":1581,"children":1582},{"style":521},[1583],{"type":37,"value":1584},"'stg_marketing_spend'",{"type":32,"tag":120,"props":1586,"children":1587},{"style":144},[1588],{"type":37,"value":1413},{"type":32,"tag":120,"props":1590,"children":1591},{"class":122,"line":884},[1592,1596,1600,1604],{"type":32,"tag":120,"props":1593,"children":1594},{"style":127},[1595],{"type":37,"value":1453},{"type":32,"tag":120,"props":1597,"children":1598},{"style":206},[1599],{"type":37,"value":1458},{"type":32,"tag":120,"props":1601,"children":1602},{"style":144},[1603],{"type":37,"value":1006},{"type":32,"tag":120,"props":1605,"children":1606},{"style":206},[1607],{"type":37,"value":1608},"2\n",{"type":32,"tag":120,"props":1610,"children":1611},{"class":122,"line":897},[1612],{"type":32,"tag":120,"props":1613,"children":1614},{"style":144},[1615],{"type":37,"value":1616},")\n",{"type":32,"tag":120,"props":1618,"children":1619},{"class":122,"line":914},[1620],{"type":32,"tag":120,"props":1621,"children":1622},{"emptyLinePlaceholder":1499},[1623],{"type":37,"value":1502},{"type":32,"tag":120,"props":1625,"children":1626},{"class":122,"line":926},[1627],{"type":32,"tag":120,"props":1628,"children":1629},{"style":127},[1630],{"type":37,"value":1631},"SELECT\n",{"type":32,"tag":120,"props":1633,"children":1635},{"class":122,"line":1634},25,[1636,1641,1645,1649],{"type":32,"tag":120,"props":1637,"children":1638},{"style":206},[1639],{"type":37,"value":1640},"  p",{"type":32,"tag":120,"props":1642,"children":1643},{"style":144},[1644],{"type":37,"value":587},{"type":32,"tag":120,"props":1646,"children":1647},{"style":206},[1648],{"type":37,"value":288},{"type":32,"tag":120,"props":1650,"children":1651},{"style":144},[1652],{"type":37,"value":166},{"type":32,"tag":120,"props":1654,"children":1656},{"class":122,"line":1655},26,[1657,1661,1665,1670],{"type":32,"tag":120,"props":1658,"children":1659},{"style":206},[1660],{"type":37,"value":1640},{"type":32,"tag":120,"props":1662,"children":1663},{"style":144},[1664],{"type":37,"value":587},{"type":32,"tag":120,"props":1666,"children":1667},{"style":206},[1668],{"type":37,"value":1669},"domain",{"type":32,"tag":120,"props":1671,"children":1672},{"style":144},[1673],{"type":37,"value":166},{"type":32,"tag":120,"props":1675,"children":1677},{"class":122,"line":1676},27,[1678,1682,1686,1691],{"type":32,"tag":120,"props":1679,"children":1680},{"style":206},[1681],{"type":37,"value":1640},{"type":32,"tag":120,"props":1683,"children":1684},{"style":144},[1685],{"type":37,"value":587},{"type":32,"tag":120,"props":1687,"children":1688},{"style":206},[1689],{"type":37,"value":1690},"pathname",{"type":32,"tag":120,"props":1692,"children":1693},{"style":144},[1694],{"type":37,"value":166},{"type":32,"tag":120,"props":1696,"children":1698},{"class":122,"line":1697},28,[1699,1703,1707,1712],{"type":32,"tag":120,"props":1700,"children":1701},{"style":206},[1702],{"type":37,"value":1640},{"type":32,"tag":120,"props":1704,"children":1705},{"style":144},[1706],{"type":37,"value":587},{"type":32,"tag":120,"props":1708,"children":1709},{"style":206},[1710],{"type":37,"value":1711},"referrer_source",{"type":32,"tag":120,"props":1713,"children":1714},{"style":144},[1715],{"type":37,"value":166},{"type":32,"tag":120,"props":1717,"children":1719},{"class":122,"line":1718},29,[1720,1724,1728,1733],{"type":32,"tag":120,"props":1721,"children":1722},{"style":206},[1723],{"type":37,"value":1640},{"type":32,"tag":120,"props":1725,"children":1726},{"style":144},[1727],{"type":37,"value":587},{"type":32,"tag":120,"props":1729,"children":1730},{"style":206},[1731],{"type":37,"value":1732},"pageviews",{"type":32,"tag":120,"props":1734,"children":1735},{"style":144},[1736],{"type":37,"value":166},{"type":32,"tag":120,"props":1738,"children":1740},{"class":122,"line":1739},30,[1741,1745,1749,1754],{"type":32,"tag":120,"props":1742,"children":1743},{"style":206},[1744],{"type":37,"value":1640},{"type":32,"tag":120,"props":1746,"children":1747},{"style":144},[1748],{"type":37,"value":587},{"type":32,"tag":120,"props":1750,"children":1751},{"style":206},[1752],{"type":37,"value":1753},"unique_visitors",{"type":32,"tag":120,"props":1755,"children":1756},{"style":144},[1757],{"type":37,"value":166},{"type":32,"tag":120,"props":1759,"children":1761},{"class":122,"line":1760},31,[1762,1767,1771,1776],{"type":32,"tag":120,"props":1763,"children":1764},{"style":206},[1765],{"type":37,"value":1766},"  m",{"type":32,"tag":120,"props":1768,"children":1769},{"style":144},[1770],{"type":37,"value":587},{"type":32,"tag":120,"props":1772,"children":1773},{"style":206},[1774],{"type":37,"value":1775},"total_spend",{"type":32,"tag":120,"props":1777,"children":1778},{"style":144},[1779],{"type":37,"value":166},{"type":32,"tag":120,"props":1781,"children":1783},{"class":122,"line":1782},32,[1784,1789,1793,1797,1801,1805,1810,1814,1818,1822,1826],{"type":32,"tag":120,"props":1785,"children":1786},{"style":144},[1787],{"type":37,"value":1788},"  SAFE_DIVIDE(",{"type":32,"tag":120,"props":1790,"children":1791},{"style":206},[1792],{"type":37,"value":33},{"type":32,"tag":120,"props":1794,"children":1795},{"style":144},[1796],{"type":37,"value":587},{"type":32,"tag":120,"props":1798,"children":1799},{"style":206},[1800],{"type":37,"value":1753},{"type":32,"tag":120,"props":1802,"children":1803},{"style":144},[1804],{"type":37,"value":1006},{"type":32,"tag":120,"props":1806,"children":1807},{"style":206},[1808],{"type":37,"value":1809},"m",{"type":32,"tag":120,"props":1811,"children":1812},{"style":144},[1813],{"type":37,"value":587},{"type":32,"tag":120,"props":1815,"children":1816},{"style":206},[1817],{"type":37,"value":1775},{"type":32,"tag":120,"props":1819,"children":1820},{"style":144},[1821],{"type":37,"value":1297},{"type":32,"tag":120,"props":1823,"children":1824},{"style":127},[1825],{"type":37,"value":1267},{"type":32,"tag":120,"props":1827,"children":1828},{"style":144},[1829],{"type":37,"value":1830}," visitors_per_dollar\n",{"type":32,"tag":120,"props":1832,"children":1834},{"class":122,"line":1833},33,[1835,1840],{"type":32,"tag":120,"props":1836,"children":1837},{"style":127},[1838],{"type":37,"value":1839},"FROM",{"type":32,"tag":120,"props":1841,"children":1842},{"style":144},[1843],{"type":37,"value":1844}," plausible_raw p\n",{"type":32,"tag":120,"props":1846,"children":1848},{"class":122,"line":1847},34,[1849,1854],{"type":32,"tag":120,"props":1850,"children":1851},{"style":127},[1852],{"type":37,"value":1853},"LEFT JOIN",{"type":32,"tag":120,"props":1855,"children":1856},{"style":144},[1857],{"type":37,"value":1858}," marketing_spend m\n",{"type":32,"tag":120,"props":1860,"children":1862},{"class":122,"line":1861},35,[1863,1868,1873,1877,1881,1886,1891,1895],{"type":32,"tag":120,"props":1864,"children":1865},{"style":127},[1866],{"type":37,"value":1867},"  ON",{"type":32,"tag":120,"props":1869,"children":1870},{"style":206},[1871],{"type":37,"value":1872}," p",{"type":32,"tag":120,"props":1874,"children":1875},{"style":144},[1876],{"type":37,"value":587},{"type":32,"tag":120,"props":1878,"children":1879},{"style":206},[1880],{"type":37,"value":288},{"type":32,"tag":120,"props":1882,"children":1883},{"style":127},[1884],{"type":37,"value":1885}," =",{"type":32,"tag":120,"props":1887,"children":1888},{"style":206},[1889],{"type":37,"value":1890}," m",{"type":32,"tag":120,"props":1892,"children":1893},{"style":144},[1894],{"type":37,"value":587},{"type":32,"tag":120,"props":1896,"children":1897},{"style":206},[1898],{"type":37,"value":1899},"date\n",{"type":32,"tag":120,"props":1901,"children":1903},{"class":122,"line":1902},36,[1904,1909,1913,1917,1921,1925,1929,1933],{"type":32,"tag":120,"props":1905,"children":1906},{"style":127},[1907],{"type":37,"value":1908},"  AND",{"type":32,"tag":120,"props":1910,"children":1911},{"style":206},[1912],{"type":37,"value":1872},{"type":32,"tag":120,"props":1914,"children":1915},{"style":144},[1916],{"type":37,"value":587},{"type":32,"tag":120,"props":1918,"children":1919},{"style":206},[1920],{"type":37,"value":1711},{"type":32,"tag":120,"props":1922,"children":1923},{"style":127},[1924],{"type":37,"value":1885},{"type":32,"tag":120,"props":1926,"children":1927},{"style":206},[1928],{"type":37,"value":1890},{"type":32,"tag":120,"props":1930,"children":1931},{"style":144},[1932],{"type":37,"value":587},{"type":32,"tag":120,"props":1934,"children":1935},{"style":206},[1936],{"type":37,"value":1937},"channel\n",{"type":32,"tag":33,"props":1939,"children":1940},{},[1941,1943,1949,1951,1956],{"type":37,"value":1942},"In diesem Modell kommt ",{"type":32,"tag":52,"props":1944,"children":1946},{"className":1945},[],[1947],{"type":37,"value":1948},"visitor_hash",{"type":37,"value":1950}," nicht zu BigQuery — ClickHouse-Aggregat ",{"type":32,"tag":52,"props":1952,"children":1954},{"className":1953},[],[1955],{"type":37,"value":1753},{"type":37,"value":1957}," als reiner Zahlenwert. Im Data Warehouse gibt es also keine individuelle Nutzer-Tracking. Join mit Marketing-Spend ergibt „zu dieser Landing Page $X ausgegeben, Y Besucher gekommen\". Für Incrementality-Tests können Sie keine Cookie-basierte Randomisierung machen; stattdessen Geo-Level-Split (Kampagne regional an\u002Faus) oder Time-Based-Holdout.",{"type":32,"tag":90,"props":1959,"children":1961},{"id":1960},"live-dashboard-aggregierte-metriken",[1962],{"type":37,"value":1963},"Live-Dashboard: Aggregierte Metriken",{"type":32,"tag":33,"props":1965,"children":1966},{},[1967],{"type":37,"value":1968},"Plausible-Dashboard zeigt Echtzeit-Counter (letzte 30 Minuten Pageviews). In BigQuery für ähnliche Dashboards: Looker Studio + BigQuery-Materialized-View:",{"type":32,"tag":110,"props":1970,"children":1972},{"className":112,"code":1971,"language":114,"meta":15,"style":15},"CREATE MATERIALIZED VIEW analytics.mv_realtime_traffic\nAS\nSELECT\n  FORMAT_TIMESTAMP('%Y-%m-%d %H:%M', timestamp, 'Europe\u002FBerlin') 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",[1973],{"type":32,"tag":52,"props":1974,"children":1975},{"__ignoreMap":15},[1976,2002,2010,2017,2060,2068,2097,2119,2140,2186],{"type":32,"tag":120,"props":1977,"children":1978},{"class":122,"line":123},[1979,1983,1988,1993,1997],{"type":32,"tag":120,"props":1980,"children":1981},{"style":127},[1982],{"type":37,"value":130},{"type":32,"tag":120,"props":1984,"children":1985},{"style":144},[1986],{"type":37,"value":1987}," MATERIALIZED VIEW ",{"type":32,"tag":120,"props":1989,"children":1990},{"style":206},[1991],{"type":37,"value":1992},"analytics",{"type":32,"tag":120,"props":1994,"children":1995},{"style":144},[1996],{"type":37,"value":587},{"type":32,"tag":120,"props":1998,"children":1999},{"style":206},[2000],{"type":37,"value":2001},"mv_realtime_traffic\n",{"type":32,"tag":120,"props":2003,"children":2004},{"class":122,"line":150},[2005],{"type":32,"tag":120,"props":2006,"children":2007},{"style":127},[2008],{"type":37,"value":2009},"AS\n",{"type":32,"tag":120,"props":2011,"children":2012},{"class":122,"line":169},[2013],{"type":32,"tag":120,"props":2014,"children":2015},{"style":127},[2016],{"type":37,"value":1631},{"type":32,"tag":120,"props":2018,"children":2019},{"class":122,"line":187},[2020,2025,2030,2034,2038,2042,2047,2051,2055],{"type":32,"tag":120,"props":2021,"children":2022},{"style":144},[2023],{"type":37,"value":2024},"  FORMAT_TIMESTAMP(",{"type":32,"tag":120,"props":2026,"children":2027},{"style":521},[2028],{"type":37,"value":2029},"'%Y-%m-%d %H:%M'",{"type":32,"tag":120,"props":2031,"children":2032},{"style":144},[2033],{"type":37,"value":1006},{"type":32,"tag":120,"props":2035,"children":2036},{"style":127},[2037],{"type":37,"value":1292},{"type":32,"tag":120,"props":2039,"children":2040},{"style":144},[2041],{"type":37,"value":1006},{"type":32,"tag":120,"props":2043,"children":2044},{"style":521},[2045],{"type":37,"value":2046},"'Europe\u002FBerlin'",{"type":32,"tag":120,"props":2048,"children":2049},{"style":144},[2050],{"type":37,"value":1297},{"type":32,"tag":120,"props":2052,"children":2053},{"style":127},[2054],{"type":37,"value":1267},{"type":32,"tag":120,"props":2056,"children":2057},{"style":144},[2058],{"type":37,"value":2059}," time_bucket,\n",{"type":32,"tag":120,"props":2061,"children":2062},{"class":122,"line":223},[2063],{"type":32,"tag":120,"props":2064,"children":2065},{"style":144},[2066],{"type":37,"value":2067},"  pathname,\n",{"type":32,"tag":120,"props":2069,"children":2070},{"class":122,"line":254},[2071,2076,2080,2084,2088,2092],{"type":32,"tag":120,"props":2072,"children":2073},{"style":206},[2074],{"type":37,"value":2075},"  COUNT",{"type":32,"tag":120,"props":2077,"children":2078},{"style":144},[2079],{"type":37,"value":203},{"type":32,"tag":120,"props":2081,"children":2082},{"style":127},[2083],{"type":37,"value":1351},{"type":32,"tag":120,"props":2085,"children":2086},{"style":144},[2087],{"type":37,"value":1297},{"type":32,"tag":120,"props":2089,"children":2090},{"style":127},[2091],{"type":37,"value":1267},{"type":32,"tag":120,"props":2093,"children":2094},{"style":144},[2095],{"type":37,"value":2096}," hits,\n",{"type":32,"tag":120,"props":2098,"children":2099},{"class":122,"line":272},[2100,2105,2110,2114],{"type":32,"tag":120,"props":2101,"children":2102},{"style":206},[2103],{"type":37,"value":2104},"  APPROX_COUNT_DISTINCT",{"type":32,"tag":120,"props":2106,"children":2107},{"style":144},[2108],{"type":37,"value":2109},"(visitor_hash) ",{"type":32,"tag":120,"props":2111,"children":2112},{"style":127},[2113],{"type":37,"value":1267},{"type":32,"tag":120,"props":2115,"children":2116},{"style":144},[2117],{"type":37,"value":2118}," visitors\n",{"type":32,"tag":120,"props":2120,"children":2121},{"class":122,"line":296},[2122,2126,2131,2135],{"type":32,"tag":120,"props":2123,"children":2124},{"style":127},[2125],{"type":37,"value":1839},{"type":32,"tag":120,"props":2127,"children":2128},{"style":206},[2129],{"type":37,"value":2130}," plausible",{"type":32,"tag":120,"props":2132,"children":2133},{"style":144},[2134],{"type":37,"value":587},{"type":32,"tag":120,"props":2136,"children":2137},{"style":206},[2138],{"type":37,"value":2139},"events\n",{"type":32,"tag":120,"props":2141,"children":2142},{"class":122,"line":26},[2143,2148,2153,2157,2162,2167,2172,2177,2182],{"type":32,"tag":120,"props":2144,"children":2145},{"style":127},[2146],{"type":37,"value":2147},"WHERE",{"type":32,"tag":120,"props":2149,"children":2150},{"style":127},[2151],{"type":37,"value":2152}," timestamp",{"type":32,"tag":120,"props":2154,"children":2155},{"style":127},[2156],{"type":37,"value":1430},{"type":32,"tag":120,"props":2158,"children":2159},{"style":144},[2160],{"type":37,"value":2161}," TIMESTAMP_SUB(",{"type":32,"tag":120,"props":2163,"children":2164},{"style":206},[2165],{"type":37,"value":2166},"CURRENT_TIMESTAMP",{"type":32,"tag":120,"props":2168,"children":2169},{"style":144},[2170],{"type":37,"value":2171},"(), INTERVAL ",{"type":32,"tag":120,"props":2173,"children":2174},{"style":206},[2175],{"type":37,"value":2176},"30",{"type":32,"tag":120,"props":2178,"children":2179},{"style":127},[2180],{"type":37,"value":2181}," MINUTE",{"type":32,"tag":120,"props":2183,"children":2184},{"style":144},[2185],{"type":37,"value":1616},{"type":32,"tag":120,"props":2187,"children":2188},{"class":122,"line":442},[2189,2194,2198,2202],{"type":32,"tag":120,"props":2190,"children":2191},{"style":127},[2192],{"type":37,"value":2193},"GROUP BY",{"type":32,"tag":120,"props":2195,"children":2196},{"style":206},[2197],{"type":37,"value":1458},{"type":32,"tag":120,"props":2199,"children":2200},{"style":144},[2201],{"type":37,"value":1006},{"type":32,"tag":120,"props":2203,"children":2204},{"style":206},[2205],{"type":37,"value":1608},{"type":32,"tag":33,"props":2207,"children":2208},{},[2209,2211,2217,2219,2225],{"type":37,"value":2210},"View materialisiert alle 5 Minuten (BigQuery-MV-Limit). In Looker Studio Line Chart: X-Achse ",{"type":32,"tag":52,"props":2212,"children":2214},{"className":2213},[],[2215],{"type":37,"value":2216},"time_bucket",{"type":37,"value":2218},", Y-Achse ",{"type":32,"tag":52,"props":2220,"children":2222},{"className":2221},[],[2223],{"type":37,"value":2224},"hits",{"type":37,"value":2226},". Auch dieses Dashboard enthält keine User-Level-Daten — nur Aggregations-Counter.",{"type":32,"tag":40,"props":2228,"children":2230},{"id":2229},"compliance-dokumentation-dsgvo-datenverarbeitungsvertrag",[2231],{"type":37,"value":2232},"Compliance-Dokumentation: DSGVO Datenverarbeitungsvertrag",{"type":32,"tag":33,"props":2234,"children":2235},{},[2236],{"type":37,"value":2237},"Bei Plausible-SaaS unterzeichnen Sie eine DPA (Data Processing Agreement). Die Plausible-2026-Template enthält:",{"type":32,"tag":2239,"props":2240,"children":2241},"ul",{},[2242,2252,2262,2272,2282],{"type":32,"tag":1199,"props":2243,"children":2244},{},[2245,2250],{"type":32,"tag":61,"props":2246,"children":2247},{},[2248],{"type":37,"value":2249},"Datenkategorien:",{"type":37,"value":2251}," „Aggregierte Website-Traffic-Metriken (Pageview-Anzahl, Referrer-Anzahl, Gerättyp-Verteilung)\". Keine persönlichen Identifizierer.",{"type":32,"tag":1199,"props":2253,"children":2254},{},[2255,2260],{"type":32,"tag":61,"props":2256,"children":2257},{},[2258],{"type":37,"value":2259},"Datenverarbeitungszweck:",{"type":37,"value":2261}," „Website-Leistungsanalyse und Traffic-Quellen-Attribution\". Kein Retargeting, Profiling, automatisierte Entscheidungsfindung.",{"type":32,"tag":1199,"props":2263,"children":2264},{},[2265,2270],{"type":32,"tag":61,"props":2266,"children":2267},{},[2268],{"type":37,"value":2269},"Unterauftragsverarbeiter:",{"type":37,"value":2271}," ClickHouse Cloud (EU-Server), Hetzner (Deutschland).",{"type":32,"tag":1199,"props":2273,"children":2274},{},[2275,2280],{"type":32,"tag":61,"props":2276,"children":2277},{},[2278],{"type":37,"value":2279},"Speicherdauer:",{"type":37,"value":2281}," 2 Jahre (Dashboard-Anzeige), danach automatische Löschung.",{"type":32,"tag":1199,"props":2283,"children":2284},{},[2285,2290],{"type":32,"tag":61,"props":2286,"children":2287},{},[2288],{"type":37,"value":2289},"Betroffenenrechte:",{"type":37,"value":2291}," Aggregierte Daten lassen sich nicht auf einzelne Personen zurückführen; Lösch-\u002FKorrekturanträge nicht anwendbar. DPA-Clause: „Due to aggregation at ingestion, data subject requests cannot be fulfilled on a per-individual basis.\"",{"type":32,"tag":33,"props":2293,"children":2294},{},[2295,2297,2302],{"type":37,"value":2296},"DSGVO-Compliance-Bericht mit Plausible-Architektur: Sie argumentieren gegenüber der Behörde „Wir speichern keine Nutzerdaten, nur aggregierte Counter.\" GA4 funktioniert nicht so — BigQuery-Export enthält ",{"type":32,"tag":52,"props":2298,"children":2300},{"className":2299},[],[2301],{"type":37,"value":86},{"type":37,"value":2303},", das ist „Personenbezogenes Datum.\"",{"type":32,"tag":33,"props":2305,"children":2306},{},[2307],{"type":37,"value":2308},"Bei Self-Hosted: Sie brauchen keine DPA zu unterzeichnen — Sie sind Data Controller. Aber DSGVO Artikel 10 „Technische und organisatorische Maßnahmen\": Database Encryption (PostgreSQL TDE), Access Logging (pg_audit), Automated Backup + PITR. Standard-Plausible-Docker hat das nicht — Sie installieren es selbst.",{"type":32,"tag":40,"props":2310,"children":2312},{"id":2311},"plausibles-grenzen-wann-es-nicht-ausreicht",[2313],{"type":37,"value":2314},"Plausibles Grenzen: Wann es nicht ausreicht",{"type":32,"tag":33,"props":2316,"children":2317},{},[2318,2320,2325],{"type":37,"value":2319},"Plausible ",{"type":32,"tag":61,"props":2321,"children":2322},{},[2323],{"type":37,"value":2324},"macht keine Funnel-Analyse",{"type":37,"value":2326},". „Produktseite → Warenkorb → Checkout\" Schritt-für-Schritt-Dropoff sehen Sie nicht. Sie können Custom Events senden („Add to Cart\" Goal-Event) und dessen Häufigkeit s",{"type":32,"tag":2328,"props":2329,"children":2330},"style",{},[2331],{"type":37,"value":2332},"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":15,"searchDepth":169,"depth":169,"links":2334},[2335,2338,2341,2342,2345,2346],{"id":42,"depth":150,"text":45,"children":2336},[2337],{"id":92,"depth":169,"text":95},{"id":334,"depth":150,"text":337,"children":2339},[2340],{"id":590,"depth":169,"text":593},{"id":944,"depth":150,"text":947},{"id":1185,"depth":150,"text":1188,"children":2343},[2344],{"id":1960,"depth":169,"text":1963},{"id":2229,"depth":150,"text":2232},{"id":2311,"depth":150,"text":2314},"markdown","content:de:data:datenschutz-erste-analytik-plausible-server-aggregation.md","content","de\u002Fdata\u002Fdatenschutz-erste-analytik-plausible-server-aggregation.md","de\u002Fdata\u002Fdatenschutz-erste-analytik-plausible-server-aggregation","md",1783663506062]