Fullstory erstellt pixelgenaue Darstellungen der Wege der/die Benutzer/Benutzerin für unsere Kunden, damit sie Probleme finden und beseitigen und das beste Benutzererlebnis bieten können. Jede Aktion für jeden/jede Benutzer/Benutzerin auf Tausenden von Websites zu rekonstruieren, ist keine schlechte Leistung. Unser Fullstory-Skript ist die Kerntechnologie, die all diese Ereignisse aufzeichnet und sie zur Suche und Wiederholung an unsere Server sendet. Dieser Artikel beschreibt die wichtigsten Funktionen unserer Datenerfassungstechnologie und wie unsere Kunden den Datenerfassungsprozess verwalten können, um zu verhindern, dass sensible Benutzerdaten an unsere Server gesendet werden.
Bootstrapping
Browser-Events sind der Treibstoff, der die Fullstory-Engine antreibt. Bevor diese Ereignisse an Fullstory gesendet werden können, muss unser Datenerfassungsskript heruntergeladen und im Browser ausgeführt werden.
Schritt 1: Führe den Fullstory-Snippet im Browser aus.
Das Fullstory-Snippet ist eine kleine JavaScript-Anweisung, die (idealerweise) im<> Hauptelement einer Webseite enthalten ist. Das Snippet definiert eine Handvoll JavaScript-API-Funktionen und beginnt mit dem Herunterladen des Skripts fs.js.
Schritt 2: lade das Datenerfassungsskript
Das Skript fs.js ist etwa 60 KB groß und wird asynchron geladen, d. h. es blockiert nicht das Laden anderer Elemente (wie Bilder und Stile), während es geladen wird. Mit anderen Worten: Das asynchrone Laden verhindert, dass fs.js das Laden der Seite insgesamt behindert, und sorgt dafür, dass die Benutzer/Benutzerinnen die Inhalte so schnell wie möglich sehen. Das Skript fs.js enthält den gesamten Datenerfassungscode von Fullstory, den JavaScript-API-Code und den Ausschlusscode für die Privatsphäre.
Schritt 3: Organisations-Einstellungen überprüfen
Was ist überhaupt eine „Org“?Orgs sind die Bezeichnung für Kundenkonten bei Fullstory.Jedes Konto erhält seine eigene Organisations-ID, die im Fullstory-Snippet enthalten ist.Jede Organisation hat eigene Einstellungen: Sitzungskontingente, Elementausschlüsse, die in der Fullstory-App erstellt wurden, und mehrere Konfigurationselemente.
Sobald fs.js geladen ist, werden Org-Einstellungen über einen Aufruf an eine /rec/page-URL abgefragt und dann diese Einstellungen angewendet, bevor etwas erfasst wird.Während dieses Schritts wird auch das fs_uid-Cookie gesetzt.Das fs_uid-Cookie ist ein Erstanbieter-Cookie, das verwendet wird, um Sitzungen für anonyme Benutzer/Benutzerinnen zu gruppieren.
Schritt 4: Ereignis-Listener anhängen und mit der Aufzeichnung beginnen
Das Skript fs.js hängt Ereignis-Listener an alle Arten von Browserereignissen an. Dazu gehören:
-
Schaltflächen-Klicks
-
Bewegungen der Maus
-
Durch das Fenster scrollen
-
Die Größe des Fensters ändern
-
Berührungen (für mobile Browser)
-
Tastendrücke (naturgemäß, „einige Tasten wurden gedrückt”, nicht an bestimmte Tasten gebunden)
-
Seitennavigation
-
DOM-Mutationen — auch bekannt als Änderungen an visuellen Elementen im Browser
-
Netzwerkanfragen (Abrufen von Bildern, Stilen oder Daten von Backend-Diensten, die auf sicheren Listen stehen)
-
Und mehr
Ausgeschlossene Webseitenelemente senden keine Tastenanschläge, DOM-Mutationen oder Wertänderungsereignisse an die Fullstory-Server.Alle erfassten Ereignisse werden vorübergehend in einer Warteschlange im Browser „gebündelt“ und alle 5 Sekunden über einen Aufruf von /rec/bundle an die Fullstory-Server weitergeleitet.Bevor Ereignisse an die Fullstory-Server gesendet werden, werden alle Ereignisdaten um mehr als 60 % komprimiert.Das reduziert die Menge der Daten, die über das Internet an die Fullstory-Server gesendet werden.Der gesamte Bootstrapping-Vorgang dauert normalerweise weniger als 300 ms und ist für die Benutzer/Benutzerinnen nicht wahrnehmbar.Weitere Informationen über die Drehbuchperformance von Fullstory findest du hier: Performance und das Fullstory-Skript.
Datenerfassung
Fullstory erfasst Daten auf Websites, die mit einem beliebigen Framework erstellt wurden (React, Angular, Polymer usw.) und kann jedes Element außerhalb von Canvas, WebGL und Plugins wie Flash erfassen. Sobald das Fullstory-Skript eingerichtet ist und ausgeführt wird, sendet es kontinuierlich Ereignisse an Fullstory, bis der/die Benutzer/Benutzerin die Website verlässt oder den Tab/Browser schließt. Es erfasst Daten über Tabs hinweg und in jedem iframe, das dem Kunden gehört.
Alle HTML-Markups werden an Fullstory gesendet, ebenso wie alle Inline-Bilder und Stile. Bild- oder CSS-Referenzen (z.B. das `src`-Attribut eines ``-Elements oder das `href` eines ``-Elements) werden abgespeichert und dann von einem Fullstory-Bot abgerufen und auf den Servern von Fullstory für die spätere Wiedergabe abgespeichert. Während der Wiedergabe werden alle gehosteten Bild- oder CSS-Asset-Referenzen so umgeschrieben, dass sie von den Fullstory-Servern und nicht von den Servern des Kunden abgerufen werden können.
Falls die Seite nicht öffentlich zugänglich ist, wechselt Fullstory während der Wiedergabe in den Fallback-Modus und versucht, Assets von den Servern des Kunden abzurufen. In diesem Fall funktioniert die Wiedergabe, solange der Fullstory-Kunde sich die Wiederholung im selben internen Netzwerk ansieht, in dem auch die interne Website gehostet wird.
Datenschutz- und Einwilligungskontrollen
Zusätzlich zu den robusten Kontrollen zum Ausschluss von Elementen bietet Fullstory eine API, die es unseren Kunden ermöglicht, Datenerfassung, Opt-In und Deaktivierung von Benutzer-Flows für ihre End-Benutzer/Benutzerinnen zu erstellen.
-
FS.Consent aktiviert/deaktiviert die Datenerfassung für einzelne Elemente oder Gruppen von Elementen.
-
FS.Shutdown und FS.Restart schaltet die Datenerfassung vollständig aus (fs.Shutdown) oder startet sie nach dem Herunterfahren neu (fs.Restart)
Unsere Kunden definieren die Benutzererfahrung für Opt-In und Opt-Out bei der Integration in diese APIs, um zu steuern, wann und welche Ereignisse an Fullstory gesendet werden.
Wiedergabe
Fullstory stellt die Ansicht, die deine Benutzer/Benutzerinnen in deinen Browsern sehen, wieder her, indem alle erfassten Ereignisse originalgetreu rekonstruiert werden, genau so, wie sie während der Benutzererfahrung aufgetreten sind. Einige dieser Ereignisse werden weiter analysiert, um Frustrationsmetriken zu erstellen (zum Beispiel Wutklicks, tote Klicks und Fehlerklicks), und in unserer Suchdatenbank abgespeichert, um Filter und Trichter zu erstellen.
Erfahre mehr, indem du unsere häufig gestellten technischen Fragen erkundest.