Skip to Content
API-ReferenzJavaScript-API

JavaScript-API Verfügbar (v1)

Sobald das Tracking-Snippet installiert ist, stellt es eine einzige globale Funktion bereit, visz(...), als Command-Queue (dasselbe Muster wie bei Google Analytics oder Segment). Du rufst sie mit einem Command-Namen und Argumenten auf:

visz("event", "add_to_cart", { sku: "SHOE-42", value_num: 49.9 });

Das Snippet übernimmt Batching, Transport, Consent und PII-Maskierung für dich. Das ist die Schnittstelle, die 95 % der Integrationen brauchen — die REST-API rufst du fast nie direkt auf.

Wie die Queue funktioniert

Das Snippet definiert visz, sobald es lädt, und puffert alle Aufrufe, die vor dem fertigen Booten passieren — du kannst visz(...) also gefahrlos sofort aufrufen, sogar oberhalb des Snippet-<script>-Tags.

Consent-Gate. Vor der Einwilligung des Besuchers wird nichts gesendet. Aufrufe von visz('event' | 'tag') vor dem Consent werden stillschweigend verworfen (nicht für später gepuffert). visz('consent', true) öffnet das Gate.

Frequency-Cap. Custom Events (event + tag, plus automatisch erfasste Events) teilen sich ein Limit von 100 Events pro Session. Darüber hinaus werden weitere Events stillschweigend verworfen. Das ist eine Kostenkontroll-Schranke, kein Fehler.


visz('consent', granted)

Tracking-Consent erteilen oder widerrufen. Es wird nichts getrackt, bis du das mit true aufrufst (es sei denn, du verdrahtest Consent stattdessen über das Banner des Dashboards).

Parameter

ArgTypBeschreibung
grantedbooleantrue erteilt Consent und startet das Tracking; false widerruft ihn, stoppt die Erfassung und verwirft den In-Memory-Buffer.

Beispiel

// In your cookie-banner "Accept" handler: visz("consent", true); // In your "Reject" / withdraw handler: visz("consent", false);

„Do Not Track“ gewinnt immer: Sendet der Browser DNT, bleibt das Snippet inaktiv — unabhängig von diesem Aufruf.


visz('event', name, props?)

Ein Custom Event aufzeichnen — ein benanntes Ereignis (add_to_cart, signup_completed, video_played).

Parameter

ArgTypBeschreibung
namestringEvent-Name (1–128 Zeichen). Leere/ungültige Namen werden verworfen.
propsobject (optional)Bis zu 10 Properties. value_num wird als unmaskierter numerischer Skalar extrahiert; jeder andere String-Wert wird client-seitig PII-maskiert und auf 200 Zeichen gekürzt.

Beispiel

visz("event", "add_to_cart", { sku: "SHOE-42", // masked + truncated category: "sneakers", // masked + truncated value_num: 49.9 // kept as a raw number (e.g. for revenue) });

PII-Schutz. Property-Werte werden im Browser maskiert, bevor irgendetwas gesendet wird. Trotzdem: Übergib niemals rohe PII (E-Mails, Namen, Kartennummern) in props — nutze value_num für Beträge und stabile, nicht-identifizierende Labels für alles andere.


visz('tag', name)

Hängt der aktuellen Session ein leichtgewichtiges Tag an — ein Label, nach dem du später filtern und segmentieren kannst (vip, beta_tester, returning_buyer).

Parameter

ArgTypBeschreibung
namestringTag-Name (1–128 Zeichen). Leere/ungültige Namen werden verworfen.

Beispiel

visz("tag", "vip");

Unter der Haube wird ein Tag als Custom Event mit einem reservierten Flag gesendet — es zählt also gegen dasselbe Limit von 100 Events pro Session.


visz('identify', user)

Verknüpft die aktuelle Session mit einer pseudonymen Nutzer-Identität.

Parameter

ArgTypBeschreibung
userstring | objectEin stabiler Identifier. Es wird nur ein client-seitiger FNV-1a-Hash davon berechnet und nachfolgenden Events als metadata.uid angehängt. Der Rohwert verlässt den Browser nie.

Beispiel

visz("identify", "user_8f31c2");

Privacy by Design. Visz erhält nie den rohen Identifier — nur den Hash. So kannst du die Sessions eines Nutzers korrelieren, ohne PII über die Leitung zu schicken. Verlass dich nicht darauf, den Hash umzukehren — er ist eine Einbahnstraße.


visz('shutdown')

Stoppt sofort jedes Tracking für die aktuelle Seite: löst alle Capture-Listener, stoppt Recorder-/Umfrage-/Feedback-Widgets und flusht ausstehende Events. Entspricht einem Consent-Widerruf auf Runtime-Ebene.

Beispiel

visz("shutdown");

Zuletzt aktualisiert:

Zuletzt aktualisiert am