FullStory Digital Upplevelse och Sessionsuppspelning Cookie-samtycke Integrationsuide: Spelbok 2026
FullStory är den dominerande plattformen i kategorin analys av digital upplevelse av ett skäl: den samlar in allt som standard. Där traditionella analysverktyg registrerar diskreta händelser som utvecklaren har instrumenterat, och där produktanalysplattformar registrerar interaktioner plus ett autoinsamlat komplement, samlar FullStory in den fullständigt renderade DOM:en, markörspåret, tidpunkten för tangenttryckningar, rullningsbeteendet, rasklick, döda klick, nätverksförfrågningar och JavaScript-fel — och syr ihop dem till sessionsinspelningar som analytikern kan spola igenom bild för bild. Den täckningen är produkten. Det är också varför FullStory befinner sig i skärningspunkten för de strängaste samtyckesreglerna i varje modernt integritetssystem. EDPB:s vägledning från 2023 för sessionsuppspelning och arbetsgruppens prioriteringar för 2026 behandlar sessionsuppspelning som en distinkt, strängare samtyckeskategori. CNIL har varit den mest offentliga tillsynsmyndigheten i ämnet men är inte ensam — Garante, ICO, spanska AEPD och holländska AP har alla utfärdat samstämmiga ståndpunkter. En FullStory-distribution som konfigurerats för insamling med samtycke i första hand, med korrekt maskering, korrekt portinställning och korrekt revisionsspår, är ett av de kraftfullare verktygen en utgivare kan driva; en som inte har konfigurerats på det sättet är ett av de enklaste målen som en tillsynsmyndighet kommer att hitta.
Varför FullStory befinner sig i den strängaste samtyckeskategorin
En standardinitiering av FullStory gör vad varje verktyg för sessionsuppspelning gör, plus mer. Den ställer in förstapartscookies under namnrymden fs_uid och fs_lua som innehåller den beständiga besöksidentifieraren och tidstämpeln för senaste aktivitet, genererar en sessionsidentifierare under fs_session och börjar strömma den renderade DOM:en till rs.fullstory.com inom millisekunder efter sidladdning. Strömmen inkluderar varje indatahändelse, varje musrörelse, varje rullningsposition, varje sidövergång och — när nätverksinsamlingsmodulen är aktiverad — varje XHR- och hämtningssvar som sidan utfärdar, med svarsorgan inkluderade om inte operatören har konfigurerat undertryckning.
Var och en av dessa insamlingar aktiverar en separat samtyckesport. Att bevara besöksidentifieraren är en lagrings- och tillgångsoperation under Artikel 5(3) i ePrivacy-direktivet som kräver föregående, frivilligt givet, specifikt, informerat och otvetydigt samtycke i hela EES, Storbritannien och varje jurisdiktion som har importerat samma standard. Att spela in den renderade DOM:en är behandling av personuppgifter under GDPR eftersom det visuella registret är tillräckligt för att identifiera och avslöja substantiellt innehåll om användaren. Att fånga tangentbehovsströmmen är en särskild känslighet: allt som användaren skriver i ett formulärfält fångas bild för bild, och om fältet inte är maskerat innehåller inspelningen det inmatade innehållet. EDPB har varit explicit att insamling av sessionsuppspelning är en kategori som kräver uttryckligt, granulat samtycke separat från generiskt analysamtycke.
Vad FullStory skriver innan samtycke — och vad som måste undertryckas
Standard FullStory-snabbstart installerar spårningsfragmentet direkt i sidans <head>. Det fungerar som dokumenterat och är källan till de vanligaste efterlevnadsfelen: fragmentet körs innan cookie-bannern har renderats, cookies fs_uid och fs_session skrivs inom millisekunder och sessionsuppspelningsströmmen börjar flöda till rs.fullstory.com oavsett vad användaren senare bestämmer. Varje europeisk tillsynsmyndighet som har dömt i detta mönster har dömt på samma sätt: cookies satta innan samtycke är olagliga, inspelningen fångad innan samtycke är olaglig behandling och utgivaren bär ansvar.
En kompatibel integration måste därför förhindra att FullStory-fragmentet initieras tills den relevanta samtyckeskategorin har beviljats. Mönstret som fungerar i produktion är FS.consent()-API:et kombinerat med fördröjd inspelning: fragmentet laddas med FullStory({ orgId: 'XXX', recordOnlyThisIFrame: false }) och FS.shutdown() anropas omedelbart, sedan anropas FS.restart() och FS.consent(true) bara efter att CMP signalerar att sessionsuppspelningskategorin har beviljats.
Cookies och lagring som FullStory skriver
FullStory-fragmentet skriver följande identifierare vid initiering, alla icke-väsentliga och som kräver samtycke: fs_uid med flerårig utgång som innehåller den beständiga besöksidentifieraren; fs_lua med tidstämpeln för senaste användaraktivitet; fs_session med sessionsidentifieraren; och inspelningsstatusmarkörerna FullStory använder internt. Att återkalla samtycke måste både låta dessa cookies löpa ut och anropa FS.consent(false) följt av FS.shutdown() för att stoppa ytterligare insamling, och utgivaren måste skicka en borttagningsbegäran via FullStorys integritetsslutpunkt för användarens tidigare inspelningar.
Kartlägga FullStory mot samtyckesramverk
FullStory implementerar inte IAB TCF eller IAB Global Privacy Platform inbyggt — det är en förstapartsplattform för digital upplevelse, inte en annonsteknikleverantör. Den exponerar ett inbyggt samtyckes-API och stöder en standardprivat maskeringsmodell som fungerar oavsett samtyckestillstånd. Mönstret som överlever en tillsynsmyndighets granskning behandlar varje FullStory-modul som en separat port bunden till en specifik CMP-signal.
- Sessionsuppspelning och hela DOM-strömmen är bundna till en dedikerad sessionsuppspelnings- eller forskningskategori som är skild från generisk analys. EDPB:s vägledning är explicit på denna punkt — uppspelningssamtycke måste vara separat och granulat, inte buntad med analys eller marknadsföring.
- Nätverksinsamling sitter bakom en strängare underport inom samma kategori eftersom den fångar HTTP-svarsorgan som kan innehålla personuppgifter som inte är relaterade till det synliga gränssnittet.
- Identitetssöm via FS.identify() kan köras med en tillfällig sessionsidentifierare på legitim intressebasis när användaren är anonym, men att sy samman identifiering med en beständig förstapartsidentifierare över sessioner kräver samma samtycke som sessionsuppspelning.
- Värmekartorna och konverteringsanalysen härledda från sessionsuppspelningsströmmen ärver porten från uppströmsflödet — de är inte separata samtyckesytor, de är nedströms produkter av samma insamlade data.
Integrationsmönstret som fungerar
Referensdistributionen har fyra delar: en CMP som exponerar en realtids samtyckesändringshändelse, en fördröjd bootstrap som initierar FullStory med undertryckt insamling via FS.shutdown(), en samtyckeslyssnare som anropar FS.consent(true) och FS.restart() när sessionsuppspelningsporten öppnas, och en standardprivat maskeringskonfiguration som hårt undertrycker varje inmatningsfält om det inte är explicit valts.
Standardprivat maskering
FullStorys maskeringslager fungerar oberoende av samtycke och bör konfigureras aggressivt även när samtycke har beviljats. CSS-klassen fs-mask på ett element undertrycker innehållet i det elementet från inspelning; CSS-klassen fs-exclude utesluter elementet helt från DOM-strömmen; fs-block-klassen blockerar både innehåll och struktur. Under GDPR:s regler för särskilda kategorier och CCPA:s definition av känslig personlig information måste varje fält som kan fånga hälsoinformation, ekonomiska detaljer, myndighetsidentifierare, biometriska data, precis geolokalisering eller innehållet i privata kommunikationer använda maskeringsattribut oavsett användarens samtyckestillstånd. Den rekommenderade hållningen är att tillämpa fs-mask på formulärnivå snarare än på fältnivå.
Regionsval och dataresidency
FullStory driver separata ingestionsslutpunkter för USA och EU. För EES- och brittisk trafik är EU-slutpunkten rätt standard — den håller ingestion, behandling och lagring inom EES och minskar Schrems II-exponeringen som varannan sessionsuppspelningsdistribution i USA-regionen skulle medföra. Slutpunkten är konfigurerad per FullStory-organisation och kan inte ändras retroaktivt, så regionvalet måste göras innan skalning och dokumenteras i integritetsmeddelandet så att rättslig grund-kedjan från insamling till lagring är ren.
Validering av integrationen och revisionsspåret
Valideringssteget är vad tillsynsmyndigheter kontrollerar och vad utgivare oftast hoppar över på sessionsuppspelningsverktyg. En korrekt integrerad FullStory-distribution måste klara fyra tester i följd. För det första måste en ren webbläsarsession med bannern visad men utan gjort val producera noll förfrågningar till rs.fullstory.com utöver SDK-filhämtningen och noll fs_-cookies i document.cookie. För det andra måste avvisning av sessionsuppspelningssamtycke behålla det tillståndet — ingen insamling, ingen identifierare, ingen inspelning. För det tredje måste acceptans av sessionsuppspelningssamtycke producera den förväntade fs_uid-cookien, en enskild FS.consent(true)-händelse och DOM-strömmen som flödar till den konfigurerade regionslutpunkten, med maskerade fält bekräftade att fånga bara maskeringsplatshållaren. För det fjärde måste återkallande av samtycke omedelbart stoppa ytterligare insamling, låta fs_-cookies löpa ut och utlösa en borttagningsbegäran via FullStorys integritetsslutpunkt för användarens tidigare inspelningar.
Förväntningen på revisionsspåret är där sessionsuppspelningsverktyg möter den strängaste granskningen. EDPB:s cookie-bannerriktlinjer från 2023 och de förnyade arbetsgruppsprioriteringarna för 2026 är explicita om att utgivaren måste kunna bevisa, för varje specifik sessionsinspelning i FullStory-projektet, att användaren som genererade den hade gett giltigt sessionsuppspelningssamtycke vid tidpunkten för insamlingen. Standardmönstret är att ange samtyckesversionen och tidstämpeln som användarvariabler på FullStory-identifieraren via FS.setUserVars({ consent_version: 'v3', consent_ts: ts }) så att varje enskild inspelning kan spåras tillbaka till en specifik samtyckesloggpost. En korrekt portad distribution, i kombination med maskeringsattribut som är standardprivata och en borttagningsväg som aktiveras vid återkallande, är det som omvandlar FullStorys täckning från en regulatorisk koncentrationsrisk till en försvarbar del av en utgivares digitala upplevelsesstack.