getting-started

Das Flowsery Analytics Tracking-Skript unterstuetzt verschiedene Datenattribute zur Anpassung des Tracking-Verhaltens. Diese Anleitung behandelt alle verfuegbaren Konfigurationsoptionen.

Neu bei Flowsery Analytics?

Beginnen Sie zuerst mit der Installationsanleitung, um das Tracking-Skript zu Ihrer Website hinzuzufuegen.

Skriptattribute

Website-ID -- data-fl-website-id (erforderlich)

Ihre eindeutige Website-Kennung von Flowsery Analytics. Dies ist das einzige erforderliche Attribut.

Einfaches Script-Tag
<script
  defer
  data-fl-website-id="flid_******"
  src="https://cdn.flowsery.com/main.js"
></script>

Domain -- data-domain (optional)

Legt den Cookie-Geltungsbereich fuer Besucher- und Sitzungs-IDs fest. Standardmaessig wird location.hostname verwendet, sodass Single-Domain-Websites das Attribut weglassen koennen. Setzen Sie es, wenn ein einziges Besucher-Cookie ueber mehrere Subdomains hinweg geteilt werden soll – beispielsweise sorgt data-domain="example.com" dafuer, dass example.com, app.example.com und blog.example.com dieselbe Besucher-ID verwenden. Im Cookieless-Modus hat das Attribut keine Wirkung.

Subdomain-Tracking

Flowsery Analytics verfolgt standardmaessig alle Subdomains Ihrer Stammdomain – data-domain steuert lediglich den Cookie-Geltungsbereich, nicht welche Hostnamen erfasst werden. Lautet Ihre Stammdomain beispielsweise example.com, funktioniert Flowsery Analytics ebenso auf app.example.com, blog.example.com, shop.example.com usw.

Erlaubte Hostnamen -- data-allowed-hostnames (optional)

Kommagetrennte Liste zusaetzlicher Domains fuer Cross-Domain-Tracking.

  • Standard: Leer (kein Cross-Domain-Tracking)
  • Beispiel: app.io,shop.example.com
  • Anwendungsfall: Nutzer ueber verschiedene Stammdomains hinweg verfolgen
Cross-Domain-Tracking
<script
  defer
  data-fl-website-id="flid_******"
  data-allowed-hostnames="app.io,myapp.org"
  src="https://cdn.flowsery.com/main.js"
></script>

API-URL -- data-api (optional)

Benutzerdefinierter API-Endpunkt zum Senden von Ereignissen. Akzeptiert eine vollstaendige URL oder einen relativen Pfad.

  • Beispiel: https://api.example.com/events oder /custom-events
  • Anwendungsfall: Benutzerdefinierte API-Endpunkte, Analytics-Proxys von Drittanbietern oder erweiterte Proxy-Konfigurationen

Wenn Sie einen relativen Pfad angeben, wird er an Ihre Domain angehaengt.

Automatische Proxy-Erkennung

Flowsery Analytics erkennt Proxy-Setups automatisch. Verwenden Sie dies nur, wenn Sie einen benutzerdefinierten Endpunktpfad benoetigen oder Ereignisse an einen voellig anderen Server senden moechten.

Localhost erlauben -- data-local (optional)

Tracking auf Localhost fuer Entwicklung und Tests aktivieren. Akzeptiert "true" oder "false". Standard: false.

Dateiprotokoll erlauben -- data-allow-file-protocol (optional)

Tracking beim direkten Oeffnen von HTML-Dateien im Browser (file://-Protokoll) aktivieren. Akzeptiert "true" oder "false". Standard: false.

Debug-Modus -- data-debug (optional)

Debug-Modus aktivieren, um Tracking innerhalb von iframes zu ermoeglichen. Akzeptiert "true" oder "false". Standard: false. Standardmaessig verfolgt Flowsery Analytics nicht innerhalb von iframes, um doppeltes Tracking zu vermeiden.

Konsole deaktivieren -- data-disable-console (optional)

Alle Konsolenausgaben des Flowsery Analytics Trackers deaktivieren. Akzeptiert "true" oder "false". Standard: false.

Zahlungen deaktivieren -- data-disable-payments (optional)

Automatisches Zahlungs-Tracking und Umsatzzuordnung ueber URL-Parameter (Stripe session_id, LemonSqueezy order_id, Polar checkout_id) deaktivieren. Akzeptiert "true" oder "false". Standard: false.

  • Anwendungsfall: Bei serverseitiger Umsatzzuordnung, um doppelte Zahlungsereignisse zu vermeiden

Manuelles Zahlungs-Tracking

Manuelle window.flowsery("payment", { email })-Aufrufe funktionieren weiterhin, wenn diese Option aktiviert ist. Nur die automatische Erkennung ueber URL-Parameter wird deaktiviert.

HTML-Element-Attribute

Diese Attribute werden HTML-Elementen auf Ihrer Seite hinzugefuegt, um automatisches Tracking zu ermoeglichen.

Ziel-Tracking -- data-fs-goal (optional)

Klicks auf jedes Element als benutzerdefiniertes Ziel verfolgen. Nur Kleinbuchstaben, Zahlen, Unterstriche, Bindestriche. Max. 64 Zeichen.

<button data-fs-goal="add_to_cart">Add to Cart</button>

Zielparameter -- data-fs-goal-* (optional)

Benutzerdefinierte Parameter zu Zielereignissen hinzufuegen. Der Parametername wird vom Attributnamen abgeleitet (kebab-case, umgewandelt in snake_case). Max. 10 Parameter pro Ereignis. Parameternamen: max. 64 Zeichen. Werte: max. 255 Zeichen.

Ziel mit Parametern
<button
  data-fs-goal="product_added"
  data-fs-goal-product-id="prod_123"
  data-fs-goal-product-name="Premium Plan"
  data-fs-goal-price="49">
  Add to Cart
</button>

Scroll-Tracking -- data-fs-scroll (optional)

Automatisch verfolgen, wenn ein Element beim Scrollen sichtbar wird. Standard-Ausloeser: Element ist zu 50% sichtbar. Gleiche Benennungsregeln wie data-fs-goal.

<section data-fs-scroll="viewed_pricing">
  <h2>Pricing</h2>
</section>

Scroll-Schwellenwert -- data-fs-scroll-threshold (optional)

Sichtbarkeitsschwellenwert fuer Scroll-Tracking anpassen. Dezimalwert zwischen 0 und 1. Standard: 0.5 (50% des Elements sichtbar). Gaengige Werte: 0.1 (10%), 0.5 (50%), 0.9 (90%), 1.0 (100%).

Scroll-Verzoegerung -- data-fs-scroll-delay (optional)

Verzoegerung in Millisekunden hinzufuegen, bevor das Scroll-Ereignis verfolgt wird. Standard: 0 (keine Verzoegerung).

Scroll-Tracking mit Schwellenwert und Verzoegerung
<section
  data-fs-scroll="read_testimonials"
  data-fs-scroll-threshold="0.7"
  data-fs-scroll-delay="3000">
  <!-- Tracks only if element stays visible for 3 seconds -->
</section>

Scroll-Parameter -- data-fs-scroll-*

Benutzerdefinierte Parameter zu Scroll-Tracking-Ereignissen hinzufuegen, aehnlich wie data-fs-goal-*.

Gaengige Konfigurationsbeispiele

Entwicklungsumgebung

<script
  defer
  data-fl-website-id="flid_******"
  data-local="true"
  src="https://cdn.flowsery.com/main.js"
></script>

Produktion mit Proxy

<script
  defer
  data-fl-website-id="flid_******"
  src="/js/main.js"
></script>

Flowsery Analytics erkennt Proxy-Setups automatisch. Es ist keine Daten-API erforderlich, wenn Sie sowohl /js/main.js als auch /api/track als Proxy verwenden.

Cross-Domain-Tracking

<script
  defer
  data-fl-website-id="flid_******"
  data-domain="example.com"
  data-allowed-hostnames="app.io,shop.example.net"
  src="https://cdn.flowsery.com/main.js"
></script>

Verwenden Sie die gleiche Konfiguration auf allen verfolgten Domains.

Hash-basierte Navigations-Verfolgung

Fuer Single Page Applications mit Hash-Routing:

<script
  defer
  data-fl-website-id="flid_******"
  src="https://analytics.flowsery.com/js/script.hash.js"
></script>

Zusammenfassung der Validierungsregeln

Ziel- und Ereignisnamen

  • Zeichen: Kleinbuchstaben, Zahlen, Unterstriche (_), Bindestriche (-)
  • Laenge: Maximal 64 Zeichen

Benutzerdefinierte Parameternamen

  • Zeichen: Kleinbuchstaben, Zahlen, Unterstriche (_), Bindestriche (-)
  • Laenge: Maximal 64 Zeichen
  • Konvertierung: kebab-case-Attribute werden automatisch in snake_case umgewandelt

Benutzerdefinierte Parameterwerte

  • Laenge: Maximal 255 Zeichen
  • HTML/XSS: Gefaehrliche Zeichen werden automatisch bereinigt
  • Limit: Maximal 10 benutzerdefinierte Parameter pro Ereignis

Scroll-Schwellenwert

Dezimalzahl, Bereich 0.0 bis 1.0, Standard 0.5.

Scroll-Verzoegerung

Ganzzahl (Millisekunden), Bereich 0 oder groesser, Standard 0.

Fehlerbehebung

Tracking funktioniert nicht auf Localhost

Fuegen Sie data-local="true" hinzu, um lokales Tracking zu aktivieren.

Benutzerdefinierte Ziele werden nicht ausgeloest

Ueberpruefen Sie, ob Ihr Zielname den Validierungsregeln entspricht: nur Kleinbuchstaben, keine Leerzeichen oder Sonderzeichen (ausser _ und -), max. 64 Zeichen.

Cross-Domain-Tracking funktioniert nicht

Ueberpruefen Sie: gleiche data-fl-website-id auf allen Domains, alle zusaetzlichen Domains in data-allowed-hostnames aufgelistet, Nutzer klicken auf Links zwischen den Domains.

Scroll-Tracking wird nicht ausgeloest

Haeufige Probleme: Element nicht lange genug im sichtbaren Bereich, Schwellenwert zu hoch gesetzt, IntersectionObserver wird nicht unterstuetzt.