Wie du erfassten Traffic mithilfe des Fullstory-Relays an deine Erstanbieter-Domain sendest

Das Fullstory Relay

Das Fullstory Relay ist ein Open-Source-Projekt, das es dir ermöglicht, den gesamten erfassten Fullstory-Traffic vom Browser deiner Benutzer/Benutzerinnen direkt über deine eigene Domain weiterzuleiten, was maximal sichere CSP-Regeln ermöglicht und potenzielle Störungen der Datenerfassung, die durch einen restriktiven Browser verursacht werden können, vermieden werden. Einstellungen oder Erweiterungen, die so konfiguriert sind, dass Netzwerk-Traffic zu Domänen von Drittanbietern blockiert wird. 

Von deiner Website erfasste Daten sind deine Daten

Die Fullstory-Mission besteht darin, Unternehmen zu befähigen, Daten zu nutzen, um das Online-Erlebnis für ihre Kunden zu verbessern. Fullstory läuft auf deiner Website oder App und speichert und verarbeitet Informationen über echte Kunden, die versuchst, dein Produkt oder deine Dienstleistung für Dinge zu nutzen, die ihnen wichtig sind.

Diese Rohdaten, die von deinem digitalen Eigentum erfasst wurden, gehören dir, nicht Fullstory.

Fullstory Relay bietet unseren Kunden eine Möglichkeit, diesen Begriff des Datenbesitzes von Erstanbietern in den Köpfen ihrer End-Benutzer/Benutzerinnen zu festigen, indem der Fullstory-Traffic über ihre eigene Domain geleitet wird. Die Legitimierung von Fullstory-Traffic auf diese Weise hat viele Vorteile sowohl für die Wahrnehmung der End-Benutzer/Benutzerinnen als auch für die Sicherheit der Website, und wir hoffen, dass du dieses Angebot wertvoll findest.

Hinweis: Es ist nicht das Ziel von Relay, die Nutzung von Fullstory vor End-Benutzern/Benutzerinnen zu verbergen oder zu verschleiern, und wir beabsichtigen nicht, Funktionen für diesen Zweck zu entwickeln.Es ist wichtig, dass deine Datenschutzrichtlinie auf dem neuesten Stand ist und dass die End-Benutzer/Benutzerinnen ordnungsgemäß über deine Datenerfassungspraktiken informiert werden.

 

Wie funktioniert es

In dem Artikel Wie funktioniert die Fullstory-Datenerfassung? Du wirst feststellen, dass Interaktionen mit deiner Website „gebündelt“ und alle 5 Sekunden an Fullstory-Server gesendet werden, wie unten gezeigt.

mceclip0.png

 

Wenn Fullstory Relay installiert ist, wird derselbe Daten-Traffic zuerst an einen Dienst gesendet, der in deiner eigenen Domain gehostet wird, und dann sofort zur Verarbeitung an die Fullstory-Server weitergeleitet. Zum Beispiel könnte der Daten-Traffic vom Browser deiner Benutzer/Benutzerinnen jetzt wie folgt aussehen (wobei die Domain stattdessen die Domain deines eigenen Unternehmens wäre):

mceclip2.png

 

Die Verwendung von Relay ermöglicht es dir, den Daten-Traffic auf deiner eigenen Website als vorab genehmigte Erstanbieter-Domain zu erfassen und so Netzwerkeinschränkungen zu vermeiden, die andernfalls von einer Untergruppe deiner Benutzer/Benutzerinnen über Browsereinstellungen oder Erweiterungen konfiguriert worden wären. 

Um Relay zu verwenden, musst du es einfach irgendwo in deiner Domain installieren und dein Fullstory-Datenerfassungsskript so konfigurieren, dass erfasster Daten-Traffic an einen neuen Endpunkt geleitet wird, den du bereitstellst. Der folgende Abschnitt wird dich ausführlich durch diesen Prozess führen.

Hinweis: Zu deiner eigenen Sicherheit empfehlen wir dringend, das Fullstory Relay in einer Sandbox-Umgebung innerhalb deiner Domäne ohne Berechtigungen für den Rest deiner Produktionsumgebung zu installieren.

Wie installiere ich das Fullstory Relay

The Fullstory Relay ist ein Open-Source-Projekt, das auf Github unterhttps://github.com/fullstorydev/relay-core/ verfügbar ist.

Der vollständige Quellcode steht dir zum Inspizieren und Erstellen zur Verfügung, oder du kannst eines unserer vorgefertigten Docker-Imagesinstallieren. Um loszulegen, schaue dir zuerst die Running Relay- Projektseite an

Es gibt zwei Möglichkeiten, Relay zu verwenden: über ein „Pfadpräfix“ auf deiner Hauptdomain oder als öffentlich zugängliche Subdomain.

Ein Pfad-Präfix verwenden

Mit dieser Methode konfigurierst du deinen Load Balancer so, dass er Relay-Anfragen auf einem bestimmten Pfad von deiner Haupt-Site-URL empfängt. Wenn deine Site-Root-Domain beispielsweisehttps://your-company.comwäre, könntest du Relay-Traffic an https://your-company.com/fsrelay weiterleiten.

Durch die Verwendung eines Pfadpräfixes wird der Browserdatenerfassungs-Traffic nur mit deiner Hauptseite verbunden und nicht mit anderen Hosts. Diese Option bietet deinen Benutzern/Benutzerinnen eine vereinfachte Erfahrung (der gesamte Daten-Traffic geht an dieselbe Stamm-Domain), ist aber auf der Serverseite möglicherweise etwas schwieriger zu konfigurieren.

Eine dedizierte Subdomain verwenden

In diesem Beispiel registrierst du eine öffentlich zugängliche Subdomain außerhalb deiner Site-Root-Domain, um Relay-Traffic zu empfangen. Zum Beispiel, wenn deine Site-Root-Domainhttps://your-company.comwäre, könntest du https://fsrelay.your-company.com registrieren.

Die Verwendung der Subdomain-Methode hat den Vorteil, dass kein spezielles Routing im Load Balancer deiner Hauptseite erforderlich ist, aber das bedeutet, dass deine Benutzer/Benutzerinnen Verbindungen zu mehreren Subdomains außerhalb deiner Website herstellen, was Auswirkungen darauf haben kann, wie du deine TLS-Zertifikate konfigurierst und andere Browser-Sicherheitsmaßnahmen wie Richtlinien zur Inhaltssicherheit.

Das Relay konfigurieren

Das Fullstory Relay-Projekt ist eine generische Lösung, um jegliche Art von Daten-Traffic an einen beliebigen Endpunkt umzuleiten. Um die Fullstory-Datenerfassung zu konfigurieren, ist eine zusätzliche Konfiguration durch Umgebungsvariablen erforderlich.

Das Relay wird durch Umgebungsvariablen konfiguriert, die entweder an deinen Docker-Container übergeben werden, oder statisch definiert in einer .env-Datei.Du kannst auf dotenv.example verweisen, um eine Beschreibung aller verfügbaren Variablen sowie ihrer Standardwerte zu erhalten.

Um mit der Fullstory-Datenerfassung verwendet zu werden, müssen für den Relay-Prozess (wenn er als Docker-Container ausgeführt wird) die folgenden Umgebungsvariablen konfiguriert sein. Verwende für RELAY_PORT die Portnummer, die du beim Starten deines Docker-Containers konfigurierst (8086 wird in diesem Fall als Beispiel verwendet):

RELAY_PORT=8086
TRAFFIC_RELAY_TARGET= https://rs.fullstory.com
traffic_relay_specials=^/s/fs\ .js https://edge.fullstory.com/s/fs.js

Wenn du die Pfadpräfix-Methode verwendest (siehe oben), benötigst du auch diese beiden Werte:

TRAFFIC_PATHS_MATCH=^/FSRelay/
TRAFFIC_PATHS_REPLACEMENT=/

Beachte, dass TRAFFIC_PATHS_MATCH auf den tatsächlichen Pfad gesetzt werden sollte, den du in deiner Stammdomäne für das Fullstory-Relay angegeben hast. Zum Beispiel, wenn deine vollständige URL https://your-company.com/fsrelay wäre, dann würdest du wie oben setzen: traffic_paths_match=^/fsRelay/.

Verschachtelte Pfade werden auch funktionieren, zum Beispiel https://your-company.com/apps/fullstory wäre:


TRAFFIC_PATHS_MATCH=^/apps/fullstory/TRAFFIC_PATHS_REPLACEMENT=/

Für das Docker-Image solltest du diese Werte als Umgebungsvariablen übergeben, wie im Dokument Running Relay beschrieben.

Wenn du eine Relay-Binärdatei verwendest, solltest du dieselben Umgebungsvariablen in einem Shell-Skript setzen oder die Konfigurationsoptionen deines Service-Hosts verwenden.

dein Datenerfassungs-Snippet konfigurieren

Wenn Relay läuft, musst du jetzt dein Fullstory-Datenerfassungs-Snippet aktualisieren, um Datenerfassungs-Traffic an das Relay zu senden. Vielleicht möchtenst du zuerst den Artikel Wie bringe ich Fullstory zum Laufen lesen?

In deinem Fullstory-Snippet findest du oben einen Parameter namens window['_fs_host'] wie diesen:

mceclip3.png

Wenn du ein Pfadpräfix verwendest (siehe oben), solltest du zwei Variablen wie folgt ändern:

window ['_fs_host'] = 'your-company.com/fsrelay'; 
window ['_fs_script'] = 'your-company.com/fsrelay/s/fs.js';

Wenn du eine dedizierte Subdomain für das Relay verwendesz, ändere dieselben Variablen, aber verwende diese Werte (wobei fsrelay durch die Subdomain ersetzt wird, die du verwenden möchtest):

window ['_fs_host'] = 'relay.your-company.com'; 
window ['_fs_script'] = 'relay.your-company.com/s/fs.js';

Hinweis: Der Endpunkt fsrelay.your-company.com muss weltweit über HTTPS zugänglich sein. Füge außerdem nicht das https://oder ein letztes/in _fs_host ein.

Wenn du das Browser-SDK direkt installieren möchtest, wenn du FS Relay verwendest (anstelle des Snippets), sollten die Parameter, die wir an das Init übergeben, wie folgt aussehen:

Fullstory. Init ({
orgId: environment.fullStoryOrg,
host: 'your-company.com/fsrelay',
script: 'your-company.com/fsrelay/s/fs.js'
})

Verifizieren, dass es funktioniert

Um zu bestätigen, dass Relay funktioniert, solltest du in erster Linie sehen, dass neue Datenerfassungssitzungen in deinem Fullstory-Konto angezeigt werden. Zusätzlich empfehlen wir dir, deine Website mit Chrome zu besuchst, den Netzwerk-Tab der Entwicklertools zu öffnen und nach dem Wort „Bundle“ zu filtern. Alle 5 Sekunden sollte eine XHR-Anforderung an einen Endpunkt außerhalb des Pfades gesendet werden, den du oben für window ['_fs_host'] definiert hast. Zum Beispiel, wenn dein Wert für fs_host customer.transmutable.com wäre, solltest du dir etwas wie das Folgende ansehen:

mceclip4.png

Du solltest keinen Traffic zu einer Fullstory.com-Domain sehen.Wenn du immer noch Traffic zu Fullstory siehst, überprüfe noch einmal, ob du den fs_host-Wert im Abschnitt Configuring Your Data Capture Snippet oben richtig eingestellt hast.

Hast du Probleme beim Zurückgeben gültiger URLs beim Aufrufen von fs.GetCurrentSessionUrl?

Füge dieses Flaggenfenster ['_fs_app_host'] = 'app.fullstory.com' hinzu; zu deinem FS-Snippet wie diesem (stelle sicher, dass du deine Relay-URL in_fs_hostund_fs_script verwendest.)

<>
Skriptfenster ['_fs_debug'] = falsch;
window ['_fs_host'] = 'your-company.com/fsrelay';
window ['_fs_script'] = 'your-company.com/fsrelay/s/fs.js';
window ['_fs_app_host'] = 'app.fullstory.com';
window ['_fs_org'] = 'deine Organisations-ID';
window ['_fs_namespace'] = 'FS';
(function (m, n, e, t, l, o, g, y) {
if (e in m) {if (m.console &&m.console.log) { m.console.log('Fullstory namespace conflict. Please set window["_fs_namespace"].');}return;}
g=m [e] =Funktion (a, b, s){g.q?g.q.push([a,b,s]):g._api(a,b,s);}; g.q= [];
o=n.createElement (t); o.async=1; o.crossOrigin='anonymous'; o.src=' https://'+_fs_script;
y=n.getElementsByTagName (t) [0]; y.parentnode.InsertBefore (o, y);
g.identify=function (i, v, s) {g (l{uid:i}, s); if (v) g (l, v, s)}; g.setUserVars=Funktion (v, s){g(l,v,s)}; g.event=function (i, v, s) {g ('event'{n:i,p:v}, s)};
g.anonymize=function (){g.identify(!!0)};
g.shutdown=function (){g("rec",!1)}; g.restart=function (){g("rec",!0)};
g.log = Funktion (a, b){g("log",[a,b])};
g.consent=Funktion (a) {g("consent",!arguments.length||a)};
g.identifyAccount=function (i, v) {o='account'; v=v|| {}; v.acctID=I; g (o, v)};
G.clearUserCookie=function () {};
g.setVars=Function (n, p){g('setVars',[n,p]);};
g._w= {}; y='xmlHttpRequest'; g._w [y] =m [y]; y='fetch'; g._w [y] =m [y];
if (m [y]) m [y] =Funktion (){return g._w[y].apply(this,arguments)};
g. _v=" 1.3.0 ";
}) (Fenster, Dokument, Fenster ['_fs_namespace'], 'Skript', 'Benutzer');
</script>

War dieser Beitrag hilfreich?

Got Questions?

Get in touch with a Fullstory rep, ask the community or check out our developer documentation.