Zum Inhalt springen

Real User Monitoring für Shopware 6

Wo dein Shopware-ShopZeit verliert,und woran es liegt.

Jedes RUM-Tool zeigt dir einen hohen LCP. fastmon zeigt dir beim selben Seitenaufruf, ob der Full-Page-Cache gegriffen hat, wie lange PHP gerechnet hat und wie lange das Template gerendert wurde. Das Shopware-6-Plugin liefert diese Werte als Server-Timing-Header mit.

Was es dir bringt

Was fastmon für deinen Shopware-Shop tut.

Ohne Fachbegriffe, bevor es weiter unten technisch wird.

  • 01

    Du siehst, welche Seiten deine Kunden warten lassen

    Nicht ein Durchschnitt über den ganzen Shop, sondern getrennt nach Startseite, Kategorie, Produktseite und Checkout. fastmon erkennt diese Seitentypen bei Shopware von selbst.

  • 02

    Du siehst, ob der Server oder das Frontend schuld ist

    Das ist die Frage, die entscheidet, wen du anrufst: den Hoster oder die Agentur. fastmon misst bei jedem Seitenaufruf beides und legt es nebeneinander.

  • 03

    Du siehst, wo im Checkout die Leute abspringen

    Und wie schnell genau die Seite war, auf der sie abgesprungen sind. Warenkorb, Checkout und Abschluss stehen als eigene Stufen nebeneinander.

  • 04

    Du musst nichts am Theme anfassen

    Das Plugin baut den Messcode selbst in die Storefront ein. Und weil fastmon keine Cookies setzt, braucht die Messung kein Banner.

Kurz erklärt

LCP
Largest Contentful Paint: wie lange das größte sichtbare Element einer Seite zum Erscheinen braucht, etwa das Produktbild. Google bewertet Seiten danach.
Full-Page-Cache
Die fertig zusammengebaute Seite, die dein Shop zwischenspeichert, damit PHP sie nicht bei jedem Aufruf neu bauen muss. Greift er nicht, wird es langsam.
p75
Der Wert, den drei von vier Besuchern erreichen oder unterbieten. Aussagekräftiger als ein Durchschnitt, weil einzelne Ausreißer ihn nicht schönen.

Der Unterschied

Ein hoher LCP ist ein Symptom. Der Header nennt die Ursache.

Ein Script-Tag sieht, was im Browser passiert. Es sieht nicht, was dein Server davor getan hat. Das FastmonCollector-Plugin schreibt deshalb einen Server-Timing-Header in jede Storefront-Antwort, und fastmon korreliert ihn mit den Core Web Vitals genau dieses Besuchers.

Was der Header liefert, ohne Zusatzsoftware

fm-origin-cache
Full-Page-Cache: hit, miss oder bypass
fm-origin-age
Alter der gecachten Kopie in Sekunden
fm-backend
PHP-Wall-Time gesamt
fm-render
Zeit fürs Template-Rendering
fm-pagetype
Seitentyp aus der aufgerufenen Route
fm-host
Maschine, die geantwortet hat (optional)
fm-loggedin
eingeloggt oder nicht (optional)

Optional: noch eine Ebene tiefer

Ist die Tideways-PHP-Extension ab 5.23 installiert, meldet das Plugin zusätzlich, wie sich die Backend-Zeit auf die einzelnen Schichten verteilt. Ohne Tideways bleiben alle sieben Werte oben trotzdem vollständig.

  • Datenbank
  • Cache
  • Suche
  • Ausgehendes HTTP

Server-Timing lässt sich pro Sales Channel abschalten. Hostname und Login-Status sind standardmäßig aus.

Vom Regal bis zur Kasse

Sieh, auf welcher Stufe der Umsatz liegen bleibt.

fastmon erkennt bei Shops die Checkout-Stufe und baut daraus einen Funnel: eine Leiste je Stufe, dazu der Anteil an der Stufe davor. Damit wird sichtbar, wo Leute abbrechen, und nicht nur, dass sie es tun.

Checkout-Funnel

Beispiel
  • Warenkorb
    Besucher
    1.240
    Anteil davor
    100 %
    LCP p75
    1,9 s
  • Checkout
    Besucher
    712
    Anteil davor
    57 %
    LCP p75
    2,8 s
  • Abgeschlossen
    Besucher
    389
    Anteil davor
    55 %
    LCP p75
    2,1 s

So liest du das

Zwischen Warenkorb und Checkout gehen hier 43 % verloren, und genau dort ist der LCP am höchsten. Ein Funnel allein zeigt den Abbruch, ein RUM allein die Ladezeit. Erst beide zusammen zeigen den Zusammenhang.

Beispielwerte zur Veranschaulichung, keine echten Kundendaten.

  • 01

    Checkout-Stufe als Filter und Dimension über alle Auswertungen hinweg

  • 02

    Aktuelle Besucher der letzten fünf Minuten, aufgeschlüsselt nach Warenkorb, Checkout und Abschlussseite

  • 03

    Im Besucherdetail die Stufe und die Warenkorb-Aktionen dieses einen Besuchs

Ehrlich dazu: die Stufen kommen aus den Seitentypen, nicht aus instrumentierten Events. Und eine Bounce-Rate gibt es nicht, ob jemand danach gegangen ist, steht nicht in den Daten.

Ohne Konfiguration

Metriken pro Shopware-Seitentyp, ab dem ersten Aufruf.

Beim Anlegen der Application setzt das Plugin das Seitentyp-Regelwerk auf shopware6. Die Seitentypen kommen aus den Body-Klassen der Storefront, du musst keine Pfade pflegen. Jede Sales-Channel-Domain meldet sich beim ersten Seitenaufruf selbst an.

  • Listing gegen Detailseite

    Ein langsames Listing und eine langsame Produktseite haben selten dieselbe Ursache. Getrennt gemessen, getrennt bewertet.

  • Checkout als eigener Typ

    Die Seiten, an denen Geld hängt, verschwinden nicht mehr im Durchschnitt aller Seitenaufrufe.

  • Mehrere Verkaufskanäle

    Jede Domain bekommt ihr eigenes Dashboard, die Einstellungen bleiben pro Sales Channel steuerbar.

Installation

Zwei Wege rein, je nach Shop.

Ohne Composer-Deploy lädst du das Plugin als ZIP hoch. Mit Composer nimmst du den Befehl. Verbunden wird danach per Klick im Admin, über OAuth 2.0 mit PKCE und ohne Schlüssel zum Kopieren.

Ohne Konsole

Plugin als ZIP hochladen

Der Weg ohne Kommandozeile. Das ZIP bringt die fertig gebauten Admin-Dateien schon mit, deshalb entfällt der Build-Schritt und du bleibst durchgehend im Shopware-Admin.

  1. 1FastmonCollector-X.Y.Z.zip aus den Releases auf GitHub laden
  2. 2Im Admin unter Erweiterungen, Meine Erweiterungen, Erweiterung hochladen einspielen
  3. 3Installieren und aktivieren, beides direkt im Admin
  4. 4Auf Konfigurieren klicken und mit fastmon verbinden

Kein Composer, kein Build, keine Konsole. Wenn du keinen Serverzugang hast, ist das dein Weg.

Mit Composer

Per Composer installieren

Für Agenturen und Deploy-Pipelines. Der Admin-Build in der Mitte ist nicht optional: das Composer-Paket enthält die gebauten Admin-Dateien nicht, sie werden erzeugt.

composer require fastmon/shopware-collector
bin/console plugin:refresh
bin/console plugin:install --activate FastmonCollector
shopware-cli project admin-build . --only-extensions FastmonCollector
bin/console cache:clear

Ohne den Build-Schritt hat die Konfigurationsseite im Admin gar kein Bedienfeld.

Und dann nur noch verbinden

Erweiterungen, Meine Erweiterungen, fastmon.eu, Konfigurieren, und dort auf Mit fastmon verbinden. Das ist ein Klick, kein Kopieren von Schlüsseln: die Verbindung läuft über OAuth und lässt sich jederzeit widerrufen.

Voraussetzungen

Shopware
6.6.x oder 6.7.x
PHP
8.2 oder neuer
Tideways
optional, ab 5.23
Mehrere Nodes
LOCK_DSN auf einen gemeinsamen Lock-Store

Du kannst Tracker und Beacon über fastmon ausliefern, über eine eigene Domain oder von derselben Herkunft wie der Shop. Für die beiden letzteren muss dein Webserver auf fastmon weiterleiten. Die Funktion Setup prüfen kontrolliert jeden Endpunkt, bevor eine Änderung greift.

Zum Plugin auf GitHub

Datenschutz

Kein Cookie-Banner für die Messung.

fastmon setzt keine Cookies, in keiner Konfiguration. Neue Applications starten im Preset Standard, das ohne personenbezogene Daten auskommt und nichts auf dem Endgerät ablegt.

  • Minimal: nur Vitals, Fehlerarten und Geräteklassen, keine Identifier
  • Standard (Default): dazu Fetch- und XHR-Summen, Query-Namen und Stack-Frames, weiterhin ohne Fehlertext, Query-Werte und Session-ID
  • Full: schreibt eine Kennung in den sessionStorage und braucht deshalb eine Einwilligung
  • Gehostet in Deutschland, 100 % EU-Datenpfad

* In den Modi Minimal und Standard speichert fastmon nichts auf dem Endgerät; gelesen werden nur Statuswerte, die der Browser zur Laufzeit selbst erzeugt. Das ist nach unserer Einschätzung kein Zugriff auf gespeicherte Informationen im Sinne des § 25 TDDDG. Gerichtlich geklärt ist das nicht, ein Restrisiko bleibt, und die Prüfung für den konkreten Einsatz obliegt dem Shop-Betreiber.

Miss deinen Shopware-Shop, nicht ein Testgerät.

Kostenlos starten, Plugin installieren, verbinden. Die ersten echten Besucher landen noch heute im Dashboard.

FAQ

Häufige Fragen zu Shopware

Was Shop-Betreiber und Agenturen vor der Installation wissen wollen.

Brauche ich Tideways für den Server-Timing-Header?

Nein. Die sieben Werte, darunter das Cache-Verdikt, die PHP-Wall-Time und die Renderzeit, liefert das Plugin ohne Zusatzsoftware. Tideways ab 5.23 ist optional und ergänzt nur die Aufteilung der Backend-Zeit auf Datenbank, Cache, Suche und ausgehendes HTTP.

Welche Shopware-Versionen werden unterstützt?

Shopware 6.6.x und 6.7.x mit PHP 8.2 oder neuer. Für ältere Versionen gibt es das Plugin nicht; dort kannst du fastmon weiterhin über ein Script-Tag im Theme einbinden, dann allerdings ohne Server-Timing und ohne automatische Seitentyp-Erkennung.

Trackt fastmon einzelne Warenkorb-Klicks?

Nein. Der Checkout-Funnel entsteht aus den Seitentypen, nicht aus instrumentierten Events. Du siehst, wie viele Besucher in Warenkorb, Checkout und Abschluss stehen und wo sie abbrechen, aber keine einzelnen Klick-Events auf einen Button.

Brauche ich ein Cookie-Banner?

Für die Messung nicht. fastmon setzt in keiner Konfiguration Cookies, und die Presets Minimal und Standard schreiben nichts auf das Endgerät. Nur das Preset Full legt eine Kennung im sessionStorage ab und braucht eine Einwilligung nach § 25 TDDDG.

Die ausführliche Herleitung

Was passiert bei mehreren Sales Channels?

Jede Sales-Channel-Domain registriert sich beim ersten Seitenaufruf selbst und bekommt ihr eigenes Dashboard. Tracking, Error-Bootstrap und Server-Timing lassen sich pro Kanal einzeln schalten.

Läuft das auch auf mehreren Servern?

Ja, dafür muss LOCK_DSN auf einen gemeinsamen Lock-Store zeigen, etwa Redis oder die Datenbank. Sonst können mehrere Nodes gleichzeitig versuchen, die Verbindung zu erneuern.

Shopware ist eine eingetragene Marke der shopware AG. fastmon ist kein Partner der shopware AG und wird von ihr weder unterstützt noch geprüft.