Faro Stats
Eine Analytics-Konsole für Besuche, Einnahmen und Nutzerverhalten, gemeinsam genutzt von allen Unterprojekten des Portals.
Jedes Projekt unter portale3d.it — von Spielen über Tools bis zu Demos — erzeugt Traffic und Interaktionen, und anfangs hatte jedes sein eigenes, getrenntes Dashboard. Zahlen über zehn Subdomains hinweg zu verfolgen ist der sicherste Weg, sie nie anzusehen. Genau dafür gibt es Faro: ein einziges internes Analytics-System, das alles an einem Ort sammelt, gebaut für das gesamte Portal-Ökosystem statt für eine Website nach der anderen. Der Name ist kein Zufall — ein faro ist ein Leuchtturm, der Punkt, von dem aus man alles Übrige im Blick behält.
Warum kein beliebiges Analytics
Die technische Entscheidung, die Faro ausmacht, ist das serverseitige Tracking. Die gängigsten Analytics-Tools laden im Browser ein Drittanbieter-Skript, das eine bekannte externe Domain aufruft — und genau diese Domain blockiert jeder Adblocker als Erstes. Das Ergebnis ist, dass ein erheblicher Teil der Besuche nie gezählt wird. Faro macht das Gegenteil: ein kleines Skript (track.php) ist auf jeder Seite eingebunden und erfasst das Event vom Server aus, nicht mit einem Aufruf vom Browser des Nutzers an einen Dritten. Es gibt keine Anfrage an eine Werbe-Domain, die man blockieren könnte, also wird sie nicht blockiert: die Zahlen sind näher an der Realität.
Es gibt auch einen zweiten Vorteil, weniger technisch und eher grundsätzlich: die Daten laufen nicht über einen externen Dienst. Sie bleiben auf dem Server des Portals, unter meiner Kontrolle, ohne das Verhalten der Besucher an eine Drittplattform zu senden.
Was es misst
- Besuche und Traffic-Quellen für jedes verbundene Projekt
- Klicks auf Projekte und Social-Links von der Startseite, erfasst als eigenes Event (
project_click): nicht nur, wie viele Menschen ankommen, sondern worauf sie wirklich klicken - Verlauf über die Zeit, um zu sehen, welche Inhalte funktionieren und welche nicht
- Einnahmen pro Projekt, um den Traffic mit dem Ergebnis zu verknüpfen
Es ist keine theoretische Demo: während ich das schreibe, hat Faro bereits über 20.000 Events in neun verschiedenen Typen gesammelt (Seitenaufrufe, Spielstarts, angezeigte und abgeschlossene Anzeigen, Projekt-Klicks und weitere), vom 15. Juni 2026 bis heute, aus dreizehn verbundenen Projekten — der Portal-Startseite, den Spielen auf ihren Subdomains und den verschiedenen Tools. Es ist das System, mit dem sich diese Website selbst misst, einschließlich der Leistung der ersten Werbeplätze auf den Spielen.
Mensch oder Bot? Filter in Reihe
Ein Besuchszähler ist wenig wert, wenn er auch Roboter mitzählt. Die Hälfte der Arbeit von Faro besteht in Wirklichkeit darin, nicht-menschlichen Traffic draußen zu halten, und das tut es mit drei Kontrollen nacheinander.
Die Browser-Signatur. Jeder Besuch meldet sich mit einer Zeichenkette, die erklärt, wer er ist: «Chrome unter Windows», «Googlebot» und so weiter. Faro liest sie und klassifiziert: echter Browser, Suchmaschinen-Crawler, KI-Agent (die verschiedenen GPTBot, ClaudeBot, Perplexity, die das Web im Auftrag von KIs lesen), Sicherheits-Scanner, die die Seite nach Lücken absuchen, oder «verdächtig», wenn es weder ein Browser noch ein bekannter Bot ist. Alles, was kein echter Browser ist, wird im Moment, in dem das Event geschrieben wird, einmalig als Bot markiert: so kann jede spätere Zählung ihn einfach ignorieren, ohne die Arbeit zu wiederholen.
Das Verhalten. Manche Bots lügen und geben sich als «Chrome» aus, ohne es zu sein. Gegen diese schaut Faro auf die Art zu surfen: wenn von derselben Adresse — nur in verschlüsselter Form aufbewahrt — viele verschiedene «Besucher» kommen, die eine einzige Seite öffnen, kein Skript ausführen und verschwinden, dann ist das etwas, das Identitäten durchwechselt, um nicht erkannt zu werden. Nur diese Geisterbesuche werden markiert, nie die ganze Adresse, damit ein echter Nutzer, der einmal vorbeikommt und geht, nicht berührt wird.
Das Fehlen von JavaScript. Ein Besuch, der eine einzige Seite lädt und nie ein einziges Signal aus dem Browser sendet, bei einer seit einer halben Stunde geschlossenen Sitzung, ist fast sicher ein Programm, das einen Browser vortäuscht, aber keinen Code ausführt. Auch dieser landet bei den Bots.
Der praktische Effekt: von über 20.000 gesammelten Events wurden bereits rund 6.000 als nicht-menschlich erkannt und aus den «echten» Zahlen entfernt. Es gibt auch eine Liste von Adressen, die immer auszuschließen sind — meine, die von zu Hause —, damit meine eigenen Kontrollbesuche die Statistik nicht verfälschen.
Was schiefgegangen ist
Faro startete minimal und wuchs durch Ergänzungen, und ein paar Mal bedeutete das, dass eine Zahl nicht genau das maß, was sie zu messen schien. Bevor es die Bot-Klassifizierung gab, landeten Crawler unter den «Besuchern» und blähten die Summen auf; vor den Verhaltensprüfungen kamen Bots, die einen Browser vortäuschen, trotzdem durch. Jedes Mal war die Korrektur dieselbe: einen Filter hinzufügen und neu klassifizieren, nicht die Historie umschreiben — die neuen Strukturen legen sich beim ersten Durchlauf selbst an, und die alten Events bleiben, wo sie sind, mit den aktualisierten Regeln neu gelesen. Es ist der Preis eines Werkzeugs, das sich anpasst, während man es benutzt, statt auf die «endgültige» Version zu warten.
Wie es funktioniert
Ein kleines JavaScript-SDK (faro/sdk.js) wird auf jeder Portalseite eingebunden und sendet Events an einen Sammel-Endpunkt (collect.php); ein PHP-Dashboard aggregiert sie und stellt sie lesbar dar. Über den Rohzahlen liegt eine KI-gestützte Zusammenfassungsebene: ein Modell (gpt-oss über Groq, geleitet durch einen Cloudflare-Worker, weil das Hosting den direkten Aufruf blockiert) liest die Metriken des Zeitfensters und schreibt zwei oder drei Zeilen an den Anfang des Berichts — was gestiegen ist, was gefallen ist, ein Alarm, wenn sich etwas verschlechtert, und eine konkrete «Aktion». Es ist kein Prozess, der von allein läuft: er wird ausgelöst, wenn das Briefing gebraucht wird — jeden Morgen per Cron oder auf Anfrage — und fasst die Daten dieses Moments zusammen.
Seit heute: die organische Suche
Bis gestern wusste Faro, wie viele Besuche und von welchem markierten Link (zum Beispiel ?src=reddit), aber der gesamte Traffic, der von einer Google-Suche kommt, fiel in einen einzigen «(direkt)»-Block, blind. Seit heute liest Faro auch die Google Search Console: welche Schlüsselwörter Impressionen und Klicks bringen, die durchschnittliche Ranking-Position und vor allem die Suchanfragen einen Schritt von der ersten Seite entfernt — jene auf Position 5-20, wo eine kleine Anpassung die Seite nach oben bringen kann. Es ist ein separater Datensatz, aggregiert und ohne Identität des einzelnen Besuchers, der neben den Events steht, sich aber nicht zu ihnen addiert.
Warum selbst gebaut
Ein selbst gebautes Analytics-Tool wird nie mit den Branchenriesen an Funktionsumfang mithalten. Aber für ein Ökosystem von Projekten wie dieses hat es drei Vorteile, die mehr zählen: es zählt die Besuche, die die anderen verlieren, es hält die Daten im eigenen Haus, und es ist einfach genug, um es anzupassen — ein neues Event, eine andere Metrik, ein weiterer Anti-Bot-Filter — genau dann, wenn man es braucht, ohne vom Release-Kalender eines anderen abzuhängen.