FullStory Digitale Ervaring en Sessieherhaling Cookie Toestemmingsintegratie Gids: 2026 Playbook
FullStory is het dominante platform in de categorie digitale ervaringsanalytics om één reden: het legt standaard alles vast. Waar traditionele analysetools discrete events vastleggen die de ontwikkelaar heeft geïnstrumenteerd, en waar productanalyseplatformen interacties plus een automatisch vastgelegd supplement vastleggen, legt FullStory de volledig weergegeven DOM vast, het cursorspoor, de timing van toetsaanslagen, het scrollgedrag, de woede-klikken, de dode klikken, de netwerkverzoeken en de JavaScript-fouten — en naait ze samen tot sessie-opnames die de analist frame voor frame kan doorscrollen. Die dekking is het product. Het is ook waarom FullStory op het kruispunt staat van de meest rigoureuze toestemmingsregels in elk modern privacyregime. De EDPB-richtlijn voor sessieherhaling van 2023 en de taakforceprioritáiteiten van 2026 behandelen sessieherhaling als een afzonderlijke, strengere toestemmingscategorie. De CNIL is de meest publiekelijke toezichthouder over dit onderwerp geweest maar staat niet alleen — de Garante, de ICO, de Spaanse AEPD en de Nederlandse AP hebben allemaal afgestemde standpunten ingenomen. Een FullStory-implementatie die is geconfigureerd voor toestemming-eerst vastlegging, met de juiste maskering, de juiste gate-setting en het juiste auditspoor, is een van de krachtigere tools die een uitgever kan gebruiken; een die niet zo is geconfigureerd is een van de gemakkelijkste doelwitten die een toezichthouder zal vinden.
Waarom FullStory in de strengste toestemmingscategorie valt
Een standaard FullStory-initialisatie doet wat elke tool voor sessieherhaling doet plus meer. Het stelt first-party cookies in onder de namespace fs_uid en fs_lua die de persistente bezoekersidentificator en de tijdstempel van de laatste activiteit bevatten, genereert een sessie-identificator onder fs_session, en begint de weergegeven DOM naar rs.fullstory.com te streamen binnen milliseconden na het laden van de pagina. De stream bevat elke invoergebeurtenis, elke muisbeweging, elke scrollpositie, elke paginaovergang, en — wanneer de module voor netwerkvastlegging is ingeschakeld — elk XHR- en fetch-antwoord dat de pagina uitgeeft, met antwoordteksten inbegrepen tenzij de operator onderdrukking heeft geconfigureerd.
Elk van die vastleggingen activeert een afzonderlijke toestemmingsgate. Het bewaren van de bezoekersidentificator is een opslag- en toegangsoperatie onder Artikel 5(3) van de ePrivacy-richtlijn die voorafgaande, vrij gegeven, specifieke, geïnformeerde en ondubbelzinnige toestemming vereist in de hele EER, het VK en elk rechtsgebied dat dezelfde standaard heeft geïmporteerd. Het opnemen van de weergegeven DOM is verwerking van persoonsgegevens onder de AVG omdat het visuele record voldoende is om de gebruiker te identificeren en substantiële inhoud over hem/haar te onthullen. Het vastleggen van de toetsaanslagstroom is bijzonder gevoelig: alles wat de gebruiker in een formulierveld typt, wordt frame voor frame vastgelegd, en als het veld niet is gemaskeerd bevat de opname de getypte inhoud. De EDPB heeft expliciet gesteld dat vastlegging van sessieherhaling een categorie is die expliciete, granulaire toestemming vereist die losstaat van generieke analysetoestemming — en dat maskering een aanvulling op toestemming is, geen vervanging ervan.
Wat FullStory schrijft vóór toestemming — en wat moet worden onderdrukt
De standaard FullStory-quickstart installeert het tracking-fragment direct in de pagina <head>. Dat werkt zoals gedocumenteerd en is de bron van de meest voorkomende nalevingsfouten: het fragment wordt uitgevoerd voordat de cookiebanner is weergegeven, de cookies fs_uid en fs_session worden binnen milliseconden geschreven, en de sessieherhalingsstroom begint te vloeien naar rs.fullstory.com ongeacht wat de gebruiker later besluit. Elke Europese toezichthouder die over dit patroon heeft geoordeeld, heeft op dezelfde manier geoordeeld: cookies die vóór toestemming zijn ingesteld zijn onrechtmatig, de opname die vóór toestemming is vastgelegd is onrechtmatige verwerking, en de uitgever draagt de aansprakelijkheid.
Een conforme integratie moet daarom voorkomen dat het FullStory-fragment wordt geïnitialiseerd totdat de relevante toestemmingscategorie is verleend. Het patroon dat in productie werkt is de FS.consent()-API gecombineerd met uitgestelde opname: het fragment wordt geladen met FullStory({ orgId: 'XXX', recordOnlyThisIFrame: false }) en FS.shutdown() wordt onmiddellijk aangeroepen, daarna worden FS.restart() en FS.consent(true) alleen aangeroepen nadat de CMP heeft gesignaleerd dat de sessieherhalingscategorie is verleend.
De cookies en opslag die FullStory schrijft
Het FullStory-fragment schrijft bij initialisatie de volgende identificatoren, die allemaal niet-essentieel zijn en toestemming vereisen: fs_uid met een meerjarige vervaldatum die de persistente bezoekersidentificator bevat; fs_lua met de tijdstempel van de laatste gebruikersactiviteit; fs_session met de sessie-identificator; en de opnamestatusmarkers die FullStory intern gebruikt. Het intrekken van toestemming moet die cookies laten verlopen en FS.consent(false) gevolgd door FS.shutdown() aanroepen om verdere vastlegging te stoppen, en de uitgever moet een verzoek tot verwijdering indienen via het privacyeindpunt van FullStory voor de eerdere opnames van de gebruiker.
FullStory koppelen aan toestemmingskaders
FullStory implementeert IAB TCF of het IAB Global Privacy Platform niet van nature — het is een first-party digitaal ervaringsplatform, geen advertentietechniekleverancier. Het biedt een native toestemmings-API en ondersteunt een privé-standaard maskeringsmodel dat werkt ongeacht de toestemmingsstatus. Het patroon dat een toezichthouderbeoordeling doorstaat, behandelt elke FullStory-module als een afzonderlijke gate gebonden aan een specifiek CMP-signaal.
- Sessieherhaling en de volledige DOM-stream zijn gekoppeld aan een speciale sessieherhalings- of onderzoekscategorie die losstaat van generieke analyses. De EDPB-richtlijn is hierover expliciet — toestemming voor herhaling moet afzonderlijk en granulier zijn, niet gebundeld met analyses of marketing.
- Netwerkvastlegging zit achter een strengere subgate binnen dezelfde categorie omdat het HTTP-antwoordteksten vastlegt die persoonsgegevens kunnen bevatten die geen verband houden met de zichtbare interface.
- Identiteitsstitching via FS.identify() kan worden uitgevoerd met een tijdelijke sessie-identificator op basis van legitiem belang wanneer de gebruiker anoniem is, maar het verbinden van identificatie aan een persistente first-party identificator over sessies heen vereist dezelfde toestemming als sessieherhaling.
- Heatmaps en conversieanalyses afgeleid van de sessieherhalingsstroom erven de gate van de stroomopwaartse stroom — het zijn geen afzonderlijke toestemmingsoppervlakken, het zijn stroomafwaartse producten van dezelfde vastgelegde gegevens.
Het integratiepatroon dat werkt
De referentie-implementatie heeft vier onderdelen: een CMP die een realtime toestemmingswijzigingsgebeurtenis blootstelt, een uitgestelde bootstrap die FullStory initialiseert met onderdrukte vastlegging via FS.shutdown(), een toestemmingsluisteraar die FS.consent(true) en FS.restart() aanroept wanneer de sessieherhalingsgate opengaat, en een privé-standaard maskerconfiguratie die elk invoerveld hard onderdrukt tenzij expliciet geopteerd.
Privé-standaard maskering
De maskeringslaag van FullStory werkt onafhankelijk van toestemming en moet agressief worden geconfigureerd zelfs wanneer toestemming is verleend. De CSS-klasse fs-mask op een element onderdrukt de inhoud van dat element van opname; de CSS-klasse fs-exclude sluit het element volledig uit van de DOM-stream; de klasse fs-block blokkeert zowel inhoud als structuur. Onder de regels voor bijzondere categorieën van de AVG en de definitie van gevoelige persoonlijke informatie van de CCPA moet elk veld dat gezondheidsinformatie, financiële details, overheidskentekens, biometrische gegevens, nauwkeurige geolocatie of de inhoud van privécommunicatie kan vastleggen, maskeringsattributen gebruiken ongeacht de toestemmingsstatus van de gebruiker. De aanbevolen houding is om fs-mask op formulierniveau toe te passen in plaats van op veldniveau.
Regiokeuze en gegevenslocatie
FullStory beheert afzonderlijke ingest-eindpunten voor de VS en de EU. Voor EER- en VK-verkeer is het EU-eindpunt de juiste standaard — het houdt ingestie, verwerking en opslag binnen de EER en vermindert de Schrems II-blootstelling die elke VS-regio sessieherhalingsimplementatie met zich meebrengt. Het eindpunt is geconfigureerd per FullStory-organisatie en kan niet achteraf worden gewijzigd, dus de regiokeuze moet worden gemaakt vóór schaling en gedocumenteerd in het privacybeleid zodat de keten van rechtsgrondslagen van verzameling tot opslag helder is.
De integratie en het auditspoor valideren
De validatiestap is wat toezichthouders controleren en wat uitgevers het vaakst overslaan bij tools voor sessieherhaling. Een correct geïntegreerde FullStory-implementatie moet vier tests achtereenvolgens doorstaan. Ten eerste moet een schone browsersessie waarbij de banner wordt getoond maar er geen keuze is gemaakt, nul verzoeken aan rs.fullstory.com produceren buiten het ophalen van het SDK-bestand en nul fs_-cookies in document.cookie. Ten tweede moet het weigeren van toestemming voor sessieherhaling die staat bewaren — geen vastlegging, geen identificator, geen opname. Ten derde moet het accepteren van toestemming voor sessieherhaling de verwachte fs_uid-cookie produceren, één FS.consent(true)-gebeurtenis en de DOM-stream die naar het geconfigureerde regio-eindpunt stroomt, met bevestiging dat gemaskeerde velden alleen de maskerplaatshouder vastleggen. Ten vierde moet het intrekken van toestemming verdere vastlegging onmiddellijk stoppen, de fs_-cookies laten verlopen en een verwijderverzoek activeren via het privacyeindpunt van FullStory voor de eerdere opnames van de gebruiker.
De verwachting van het auditspoor is waar tools voor sessieherhaling de strengste controle ondergaan. De EDPB-cookiebanner-richtlijnen van 2023 en de vernieuwde taakforceprioritáiteiten van 2026 zijn expliciet dat de uitgever voor elke specifieke sessie-opname in het FullStory-project moet kunnen aantonen dat de gebruiker die het genereerde geldige toestemming voor sessieherhaling had gegeven op het moment van vastlegging. Het standaardpatroon is om de toestemmingsversie en tijdstempel als gebruikersvariabelen in te stellen op de FullStory-identificator via FS.setUserVars({ consent_version: 'v3', consent_ts: ts }) zodat elke individuele opname terug te herleiden is naar een specifieke logvermelding van toestemming. Een correct gated implementatie, gecombineerd met maskeringsattributen die standaard privé zijn en een verwijderpad dat activeert bij intrekking, is wat de dekking van FullStory omzet van een regulatoir concentratierisico naar een verdedigbaar onderdeel van de digitale ervaringsstapel van een uitgever.