Dokumentation

Analysen

Wer auf Ihrer Website ankommt — und ein Alarm, wenn niemand mehr ankommt. Das gehört in ein Überwachungsprodukt und nicht daneben, denn „läuft, gesund, und niemand kommt an“ ist ein echter Ausfall, den jede Prüfung aus dem Netz als in Ordnung meldet.

Das Tag

Legen Sie im Dashboard eine Website an und setzen Sie deren Tag auf jede Seite, vor das schließende Body-Tag:

<script defer src="https://vitrinaengine.com/insight.js" data-site="..."></script>

Das ist alles. Zahlen erscheinen innerhalb einer Minute nach dem ersten Besuch.

Kein Banner — und warum man sich darauf verlassen kann

Auf der Endeinrichtung der Besucher wird nichts gespeichert und nichts ausgelesen. Kein Cookie, kein lokaler Speicher, kein Fingerprint. Die Einwilligungsregeln betreffen genau das Speichern auf oder Auslesen von fremden Geräten, und hier geschieht weder das eine noch das andere — es gibt also nichts, wofür um Erlaubnis zu fragen wäre.

Ein Besucher wird für den Tag über einen kurzen Hash aus seiner Adresse, Ihrer Website und einem Geheimnis erkannt, das wir täglich erzeugen und nach zwei Tagen vernichten. Solange dieses Geheimnis existiert, könnte jemand mit Zugriff auf die Datenbank den Hash für eine Adresse, die er ohnehin hat, neu berechnen; ist es weg, kann das niemand mehr — auch wir nicht. Das ist der Unterschied zwischen anonym und bloß pseudonym, und darauf ist alles ausgelegt.

Was Sie das kostet

Besucherzahlen lassen sich nicht über Tage hinweg entdoppeln. Eine Woche ist die Summe von sieben Tagen eindeutiger Besucher; wer am Montag und am Donnerstag da war, zählt zweimal. Das steht im Dashboard direkt neben der Zahl und nicht in einer Fußnote, weil es eine unmittelbare Folge des vernichteten Geheimnisses ist und kein Rundungsfehler.

Was erhoben wird

Der Seitenpfad, der verweisende Host, ein grober Browser, Betriebssystem und Gerätetyp sowie ein Land vom Netzwerkrand. Die Liste ist abgeschlossen — es gibt keine freien Tags, denn genau so bekommt eine Analysetabelle eine Spalte mit E-Mail-Adressen, die niemand rechtfertigen kann.

Der Query-String wird vor dem Speichern verworfen, bis auf utm_* und ref, die namentlich herausgezogen werden, weil sie als Einzige zur Veröffentlichung gedacht waren. Im Query-String stehen auf einer echten Website ein Passwort-Reset-Token und ein ?email=-Parameter.

Eigene Ereignisse

Zählen Sie etwas Bestimmtes — eine Anmeldung, einen Kauf — mit einem Aufruf:

window.vitrina('signup');

Ein Name und sonst nichts. Ein Payload-Argument gibt es bewusst nicht: Über ein Payload landet in einem Analysewerkzeug am Ende eine E-Mail-Adresse, die niemand senden wollte. Ereignisse werden getrennt von Seitenaufrufen gezählt, sodass das Messen von Conversions Ihre eigene Traffic-Zahl nicht aufbläht.

Der Traffic-Alarm

Schalten Sie ihn für eine Website ein, und wir melden uns, wenn die Ankünfte weit genug unter das Normale fallen, um etwas zu bedeuten — ein kaputtes Deployment, eine DNS-Änderung, eine Bezahlseite, die nicht mehr lädt.

Normal ist der Median derselben Stunde am selben Wochentag über vier Wochen, denn Traffic ist in zwei Dimensionen zugleich periodisch, und ein flacher Durchschnitt würde Sie jeden Samstagabend wecken. Es gibt außerdem eine Untergrenze, damit eine ruhige Website nicht wegen eines Prozentsatzes von fast nichts alarmiert, und einen offenen Alarm pro Website, damit eine über Nacht dunkle Website nicht sechsundneunzigmal jemanden weckt.

Ein Dashboard teilen

Das Dashboard einer Website lässt sich über einen Link veröffentlichen — für einen Kunden oder als öffentliche „Open Metrics“-Seite. Der Link ist ein abgeleitetes Token und nicht die Website-ID: Die ID steht im Quelltext jeder Seite, die sie misst, sie zu verwenden hieße also, dass jeder mit Blick in den Quelltext Ihren Traffic lesen könnte.

Die Freigabe wird bei jedem Aufruf erneut geprüft, sodass ihr Abschalten schon bei der nächsten Anfrage wirkt.

Wenn ein Content-Blocker es stoppt

Liefern Sie das Skript und den Endpunkt von Ihrer eigenen Domain aus. Das Skript ermittelt aus dem Ort, von dem es geladen wurde, wohin es senden soll — ein einfacher Reverse Proxy braucht also keine Konfiguration. Das Skript wird unminifiziert ausgeliefert, und nichts ist verschleiert.