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
| Arg | Typ | Beschreibung |
|---|---|---|
granted | boolean | true 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
| Arg | Typ | Beschreibung |
|---|---|---|
name | string | Event-Name (1–128 Zeichen). Leere/ungültige Namen werden verworfen. |
props | object (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— nutzevalue_numfü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
| Arg | Typ | Beschreibung |
|---|---|---|
name | string | Tag-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
| Arg | Typ | Beschreibung |
|---|---|---|
user | string | object | Ein 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: