Sprievodca integráciou súhlasu so súbormi cookie pre PostHog Product Analytics: Príručka nasadenia vlastného hostingu a cloudu na rok 2026
PostHog je platforma produktovej analytiky, po ktorú siahajú inžinierske tímy, keď chcú produktovú analytiku, prehrávanie relácií, príznaky funkcií, experimentovanie, prieskumy a webovú analytiku v jednom zásobníku namiesto piatich dodávateľov prepojených dohromady. Toto zlúčenie je hodnotová ponuka. Je tiež dôvodom, prečo predvolené nasadenie PostHog nesie viac skoncentrovaných povinností ohľadom súhlasu ako takmer akýkoľvek iný nástroj, ktorý vydavateľ nainštaluje. Rovnaké volanie posthog.init(), ktoré zachytáva udalosti produktu, môže začať nahrávať relácie, vyhodnocovať príznaky funkcií voči trvalému identifikátoru a radiť do fronty zobrazenia prieskumov — a každá z týchto aktivít zakladá iný právny základ podľa GDPR, ePrivacy a CCPA. Dobrá správa je, že PostHog dodáva jedno z najpodrobnejších API na súhlas v analytickom ekosystéme; práca spočíva v jeho skutočnom využívaní. Táto príručka prechádza tým, ako nasadiť PostHog tak, aby právna pozícia zodpovedala technickej realite naprieč nasadeniami vlastného hostingu aj PostHog Cloud, v regiónoch USA aj EÚ a na celom povrchu analytiky, prehrávania, príznakov a prieskumov.
Prečo PostHog vyžaduje súhlas — a prečo odpoveď nie je rovnaká pre každý modul
Webové SDK PostHog nie je pasívna stránková značka. Pri predvolenej inicializácii SDK nastaví jeden alebo viac záznamov o perzistencii prvej strany — štandardne kombinovanú schému súboru cookie a localStorage s kľúčom ph_{projectKey}_posthog — vygeneruje stabilný odlišný identifikátor, zachytí počiatočné zobrazenie stránky s odkazovacou stránkou, parametrami UTM a identifikátormi kliknutí, a otvorí dlhotrvajúci kanál udalostí ku konfigurovanému hostiteľovi príjmu. Ak je prehrávanie relácií povolené na úrovni projektu, SDK okrem toho začne streamovať kontinuálny záznam vyrendereného DOM, súradníc myši a vstupných udalostí. Ak sú nakonfigurované príznaky funkcií, SDK ich vyhodnotí voči odlišnému identifikátoru, uloží rozhodnutia pre reláciu a emituje udalosť $feature_flag_called pre každé vyhodnotenie.
Každá z týchto aktivít zodpovedá inej bráne súhlasu. Ukladanie odlišného identifikátora je operácia ukladania a prístupu podľa Article 5(3) smernice ePrivacy a vyžaduje predchádzajúci, slobodne udelený, konkrétny, informovaný a jednoznačný súhlas v celom EHP, Veľkej Británii a akejkoľvek jurisdikcii, ktorá prevzala rovnaký štandard. Zachytávanie behaviorálnych udalostí je spracúvanie osobných údajov podľa GDPR, pretože kombinácia identifikátora, IP adresy a behaviorálnej stopy postačuje na identifikáciu jednotlivca. Prehrávanie relácií spadá do samostatnej, prísnejšej kategórie podľa usmernenia EDPB o prehrávaní relácií — prehrávanie zachytáva vyrendereovaný DOM a akékoľvek nemaskované vstupné polia a vyžaduje explicitný, podrobný súhlas, ktorý je odlišný od všeobecného súhlasu s analytickiou. Vyhodnocovanie príznakov funkcií je to jemné: kontrola príznaku, ktorá vracia booleovskú hodnotu, sama o sebe súhlas nevyžaduje, ale ukladanie priradenia príznaku používateľa k stabilnému identifikátoru naprieč reláciami ho vyžaduje, pretože takto vytvára experimentovanie na základe príznakov sledovateľné údaje na úrovni používateľa.
Čo PostHog zapisuje pred súhlasom — a čo sa musí potlačiť
Predvolený Browser SDK PostHog pri inicializácii zapisuje nasledujúce: jeden kombinovaný záznam súboru cookie a localStorage pod ph_{projectKey}_posthog obsahujúci odlišný identifikátor, identifikátor relácie a rozhodnutia o príznakoch funkcií, plus — keď je prehrávanie relácie povolené — ďalší nahrávacie buffer v pamäti, ktorý sa vyprázdňuje na endpoint príjmu každých niekoľko sekúnd. SDK tiež odošle okamžitú udalosť $pageview a, ak je zapnuté automatické zachytávanie, každý ďalší klik, interakciu s formulárom a klik z frustrácie na stránke.
Odporúčaný vzor je inicializovať PostHog s opt_out_capturing_by_default: true a disable_session_recording: true, potom obrátiť oba príznaky akonáhle banner súhlasu vráti pozitívny signál. Toto je postoj integrácie, ktorý dokumentácia PostHog teraz odporúča, a je to postoj, ktorý prežije preskúmanie regulátora, pretože obracia predvolené: nič sa nezachytáva, kým nie je zaznamenaný súhlas, a SDK poskytuje čistý prechod namiesto stavovej modernizácie.
Súbory cookie, záznamy localStorage a identifikátory, ktoré PostHog ukladá
Browser SDK 1.x zapisuje jeden záznam o perzistencii na projekt, s kľúčom ph_{projectKey}_posthog, s predvolenou dobou platnosti 365 dní. Inicializačná možnosť persistence riadi základný mechanizmus: iba cookie, iba localStorage, localStorage+cookie (predvolené), sessionStorage alebo memory. Pre nasadenie so súhlasom na prvom mieste je perzistencia memory správnym predvoleným nastavením, keď súhlas ešte nebol udelený — zabezpečuje, že žiadny identifikátor neprekročí reláciu stránky — s prechodom na localStorage+cookie keď je súhlas udelený. SDK tiež zapisuje značku opt-in alebo opt-out pod __ph_opt_in_out_{projectKey} na zapamätanie si voľby používateľa medzi návštevami; tá značka samotná je nevyhnutne potrebný súbor cookie, pretože uchováva rozhodnutie o súhlase.
Mapovanie modulov PostHog na rámce súhlasu
PostHog natívne neimplementuje IAB TCF ani IAB Global Privacy Platform a nie je postavený ako dodávateľ ad-tech. Integruje sa však s Google Consent Mode v2 prostredníctvom premosťovania na strane vydavateľa, sprístupňuje natívne API opt-in a opt-out a rešpektuje hlavičku Do Not Track prostredníctvom inicializačnej možnosti respect_dnt. Vzor, ktorý funguje v produkcii, zaobchádza s každým modulom PostHog ako s oddelenouanou bránou viazanou na konkrétny signál CMP.
- Udalosti produktovej analytiky sú viazané na analytický účel. V termínoch TCF je to najčastejšie účel 8 (meranie výkonu obsahu) v kombinácii s účelom 1 (ukladanie informácií a/alebo prístup k nim). Pre Consent Mode to zodpovedá analytics_storage.
- Prehrávanie relácií sa nachádza za prísnejšou bránou. Prehrávanie relácií PostHog zachytáva vyrendereovaný DOM a akékoľvek nemaskované vstupné polia, takže opt-in na úrovni preferencií alebo výskumu odlišný od analytiky je obhájiteľný postoj podľa usmernenia EDPB.
- Príznaky funkcií a experimentovanie môžu bežať s efemérnym hodnotením v pamäti na základe legitímneho záujmu, keď je cieľom iba zmena vyrenderovanej stránky. Trvalé priradenie príznaku viazané na stabilný identifikátor naprieč reláciami vyžaduje rovnaký súhlas ako analytika, pretože vtedy sa príznak stáva sledovateľným dátovým bodom na úrovni používateľa.
- Prieskumy a spätná väzba sú viazané na rovnakú bránu ako prehrávanie relácií, keď zbierajú vstupný text voľnej formy, alebo na analytickú bránu, keď zbierajú iba hodnotenia alebo jednoduché odpovede na výber.
Integrečný vzor, ktorý funguje
Referenčné nasadenie má štyri časti: CMP, ktorý sprístupňuje udalosť zmeny súhlasu v reálnom čase, odložený bootstrap, ktorý inicializuje PostHog s vypnutým zachytávaním a prehrávaním, poslucháč súhlasu, ktorý prepne opt_in_capturing a prepínač nahrávania, keď sa otvoria príslušné brány, a cesta odvolania, ktorá zavolá opt_out_capturing, zastaví buffer prehrávania a vymaže trvalé identifikátory prostredníctvom API obnovenia SDK.
Webová implementácia
Najčistejší vzor je načítať SDK PostHog na každej stránke, ale zavolať posthog.init(apiKey, { api_host: 'https://eu.posthog.com', opt_out_capturing_by_default: true, disable_session_recording: true, persistence: 'memory', respect_dnt: true }) ako počiatočný bootstrap. Prihláste sa na odber udalosti zmeny súhlasu CMP. Keď sa kategória analytiky prepne na true, zavolajte posthog.set_config({ persistence: 'localStorage+cookie' }) nasledované posthog.opt_in_capturing(); to znova povolí zachytávanie udalostí a prechod perzistencie začne zapisovať odlišný identifikátor. Keď sa kategória prehrávania relácií prepne na true, zavolajte posthog.startSessionRecording(). Keď je niektorá z brán odvolaná, zavolajte posthog.opt_out_capturing() pre analytickú bránu alebo posthog.stopSessionRecording() pre bránu prehrávania, nechajte vyprší príslušné záznamy perzistencie cez posthog.reset() a odošlite žiadosť o vymazanie prostredníctvom GDPR API PostHog, ak používateľ uplatnil právo na vymazanie.
Výber regiónu: PostHog Cloud USA vs EÚ vs vlastný hosting
PostHog prevádzkuje dva cloudové regióny — USA (us.posthog.com) a EÚ (eu.posthog.com) — a podporuje inštalácie s vlastným hostingom na vlastnej infraštruktúre zákazníka. Pre prevádzku z EHP a Spojeného kráľovstva je cloud EÚ správnym predvoleným nastavením; udržuje príjem, spracúvanie a ukladanie v rámci EHP a znižuje expozíciu Schrems II, ktorú nesie každé nasadenie analytiky v regióne USA. Inicializačná možnosť api_host určuje región. PostHog s vlastným hostingom presúva celý zásobník na vlastnú infraštruktúru vydavateľa, čo je najsilnejší postoj z hľadiska rezidency dát, ale neodstraňuje povinnosti súhlasu — právny základ nasleduje dáta, nie prevádzkovateľa. Akákoľvek vybraná možnosť sa musí odraziť v oznámení o ochrane súkromia a v zázname o spracovateľských činnostiach správcu.
Zachytávanie na strane servera
PostHog podporuje príjem udalostí na strane servera prostredníctvom SDK pre Python, Node, Go, Ruby a PHP. Udalosti na strane servera nie sú oslobodené od súhlasu — právny základ nasleduje dáta — ale príjem na strane servera dáva vydavateľovi plnú kontrolu nad tým, ktoré polia sú emitované a kedy. Bežným vzorom je zachytiť minimálnu sadu iba nevyhnutných udalostí na strane servera na základe legitímneho záujmu, potom obohatiť tieto udalosti o behaviorálne podrobnosti z klienta až potom, čo používateľ udelil súhlas s analytiky. Udalosti na strane servera a klienta sa spájajú na rovnakom odlišnom identifikátore, keď bol súhlas udelený; pred súhlasom sú udalosti na strane servera emitované s anonymným, efemérnym identifikátorom, ktorý je resetovaný pri každej relácii.
Validácia integrácie a revíznej stopy
Krok validácie je to, čo regulátory kontrolujú a čo vydavatelia najčastejšie vynechávajú. Správne integrované nasadenie PostHog musí prejsť štyrmi testmi v poradí. Po prvé, čistá relácia prehliadača so zobrazeným bannerom, ale bez urobenej voľby musí produkovať nulové požiadavky na nakonfigurovaný api_host okrem načítania súboru SDK, nulové súbory cookie ph_ v document.cookie a nulové záznamy ph_ v localStorage. Po druhé, odmietnutie analytiky musí udržiavať tento stav — žiadne zachytávanie, žiadne nahrávanie, žiadny trvalý identifikátor. Po tretie, prijatie analytiky musí produkovať okamžitú udalosť $opt_in, očakávaný záznam perzistencie ph_{projectKey}_posthog so správnymi atribútmi SameSite a prevádzku udalostí tečúcu ku konfigurovanému hostu. Po štvrté, odvolanie súhlasu po faktotom musí okamžite zastaviť ďalšie zachytávanie a prehrávanie, vyprší trvalé identifikátory a spustiť žiadosť o vymazanie prostredníctvom GDPR API PostHog, ak používateľ uplatnil vymazanie.
Očakávanie revíznej stopy podľa usmernení EDPB z roku 2023 o banneroch súborov cookie a obnovených prioritách pracovnej skupiny z roku 2026 je, že vydavateľ môže preukázať, pre akúkoľvek danú udalosť v projekte PostHog, že používateľ, ktorý ju vygeneroval, dal platný súhlas v čase zachytenia. Štandardný vzor je nastaviť verziu súhlasu a časovú pečiatku ako vlastnosti osoby na odlišnom ID prostredníctvom posthog.setPersonProperties({ consent_version: 'v3', consent_ts: ts }), aby akákoľvek individuálna udalosť bola sledovateľná späť ku konkrétnemu záznamu v denníku súhlasu. Správne zabezpečené nasadenie, v kombinácii s výberom regiónu zodpovedajúceho publiku, perzistenciou, ktorá je predvolene v pamäti, a cestou vymazania aktivovanou pri odvolaní, je to, čo mení PostHog z regulačného rizika koncentrácie na obhájiteľné centrum zásobníka produktovej analytiky.