Session replay & analytics conformes RGPD (consent-gated)
Le conflit : conformité vs observabilité produit
Tu veux du session replay (rejouer le parcours d'un utilisateur, ex. via PostHog) pour comprendre les bugs et l'UX. Mais le RGPD impose que le tracking non essentiel attende le consentement â gĂ©rĂ© par un Consent Management Platform (CMP) comme Axeptio. Par dĂ©faut, avant consentement, l'analytics tourne en mode cookieless.
Et lĂ , surprise technique : le cookieless casse le session replay. La cause est mĂ©canique â pas de cookie persistant â pas de session_id stable entre les Ă©vĂ©nements â l'outil de replay (rrweb sous le capot) ne peut pas coudre (stitch) les Ă©vĂ©nements en une session rejouable. Tu captures des fragments orphelins, pas un parcours. Le replay est techniquement dĂ©sactivĂ© par le mode conforme, pas par un bug.
Le pattern : consent-gated, dégradé par défaut
La bonne architecture n'oppose pas les deux â elle les sĂ©quence sur le consentement :
- par dĂ©faut (avant consentement) : analytics en mode cookieless/dĂ©gradĂ© â pas de replay, pas d'
identify, pas d'session_idpersistant. Conforme, minimal, aucun cookie non essentiel. - Ă l'acceptation (
on_acceptdu CMP) : on rĂ©active ce qui Ă©tait bridĂ© âsession_idpersistant (donc replay qui stitch de nouveau),identifyde l'utilisateur, et les feature flags qui dĂ©pendent de l'identitĂ©. - au refus (
on_reject) : on reste en cookieless, explicitement â et on gĂšre le passage acceptĂ©ârefusĂ© (couper proprement).
CMP (Axeptio)
ââ on_accept(vendor=posthog) â set_config({persistence: cookies, session_id stable})
â â replay reprend, identify(user), flags par identitĂ©
ââ on_reject / dĂ©faut â cookieless : events anonymes, pas de replay
Le point clé : le consentement est la source de vérité qui pilote la configuration de l'analytics, pas une case cochée à cÎté. L'init écoute le CMP et (re)configure le SDK en fonction. Conforme par défaut, riche aprÚs opt-in.
Le principe transférable
Une contrainte de conformitĂ© (RGPD) a des consĂ©quences techniques concrĂštes (pas de session stable â pas de replay). Ne la traite pas comme une couche cosmĂ©tique posĂ©e aprĂšs coup : fais du signal de consentement l'entrĂ©e de la configuration de tes outils, avec un mode dĂ©gradĂ© sĂ»r par dĂ©faut et une rĂ©activation Ă l'opt-in.
C'est le mĂȘme esprit que le fail-closed : l'Ă©tat par dĂ©faut est le plus restrictif (cookieless), et on Ă©largit sur un signal explicite (l'acceptation), jamais l'inverse.
Pourquoi le mode cookieless casse-t-il le session replay ?