Shopware-Shop · B2C
Schweige-Fehler im Checkout — wie 12 % der Bestellungen unbemerkt verschwanden
Ein Drittanbieter-Plugin warf nach einem Shopware-Update unter ganz bestimmten Bedingungen einen Fehler — den der Shop-Kern still verschluckte. Der Kunde sah „Bestellung erfolgreich", das Backend bekam nichts. Diagnose und Fix innerhalb von vier Stunden.
Storefront
100
Checkouts heute
Backend
88
Bestellungen heute
−12 % Bestellungen verloren — Kunde sah Erfolgsmeldung, das Backend bekam sie nie.
- Verlorene Bestellungen
- −12 PP
12 % → 0 %
- Diagnose zu Fix
- < 4 h
- Folge-Reklamationen (30 Tage)
- −100 %
23 / Monat → 0
Die Ausgangslage. Mittwoch kurz nach 14 Uhr, das Telefon klingelt: ein Shopbetreiber hat seit dem Vormittag ein ungutes Gefühl. Kunden melden sich vereinzelt, dass keine Bestellbestätigung ankommt. Im Backend sieht alles ruhig aus — bis man die Zahlen vergleicht. Die Storefront zählt 100 erfolgreiche Checkouts, das Backend hat aber nur 88 Bestellungen angelegt. Etwa jede zehnte Transaktion fehlt einfach, ohne Fehlermeldung, ohne Log-Eintrag, ohne Spur. Der Kunde sieht die grüne Erfolgsmeldung, der Shop bestätigt — und im Backend kommt nichts an.
Die Detektivarbeit. Zuerst musste der Fehler reproduzierbar werden. Auf einem identischen Staging-System haben wir verschiedene Kombinationen durchgespielt: anonym, eingeloggt, mit und ohne Rabatt-Code, verschiedene Versandarten. Nach einer halben Stunde war das Muster klar — nur eingeloggte Stammkunden mit aktivem Rabatt-Code und einer bestimmten Versandart waren betroffen. Die Spur führte zu einem Plugin von einem Drittanbieter (eine Rabatt-Engine für Bestandskunden). Dieses Plugin warf bei genau dieser Konstellation einen Fehler, der nicht abgefangen wurde. Der Shop-Kern hat den Fehler still verschluckt — aber der Datenbank-Vorgang, der die Bestellung speichern sollte, wurde dabei zurückgerollt. Klassischer Schweige-Fehler: sichtbar nur, wenn man die Zahlen auf beiden Seiten vergleicht.
Kunde klickt
auf „Jetzt kaufen"
Plugin-Listener
Drittanbieter-Engine
Exception
ungefangen
Transaction
stillschweigend zurückgerollt
Der Shop-Kern verschluckte die Plugin-Exception still — der Kunde sah Erfolg, die Bestellung wurde im Hintergrund zurückgerollt.
Die Reparatur, vier konkrete Schritte. Erstens ein Sofort-Hotfix, der den Fehler des Drittanbieter-Plugins abfängt, bevor er den Bestell-Vorgang torpediert — sicher, reversibel, ohne den Update-Pfad des Plugins zu blockieren. Zweitens ein Bug-Report mit allen Reproduktions-Schritten an den Plugin-Hersteller, der innerhalb von 48 Stunden ein offizielles Update lieferte. Drittens, und das war Detailarbeit, alle verlorenen Bestellungen aus den Storefront-Logs rekonstruiert und manuell im Backend nachgetragen — damit jeder Kunde, der ein „Erfolg" gesehen hatte, auch seine Ware bekam. Viertens eine Monitoring-Routine eingerichtet, die stündlich die Anzahl der erfolgreichen Checkouts in der Storefront mit den tatsächlichen Bestellungen im Backend abgleicht, mit Alarm bei jeder Abweichung über 2 %.
Bestell-Anomalie-Monitor
Storefront 1 h
14
Backend 1 h
14
Abweichung
0 %
Abweichung · 24 h
Stündlicher Abgleich Storefront-Conversions vs. Backend-Orders. Alarm bei jeder Abweichung über 2 % — damit Schweige-Fehler nicht erst durch Kunden-Anrufe auffallen.
Das Ergebnis. Fix live vier Stunden nach dem ersten Anruf. Schriftliches Übergabe-Protokoll noch am selben Werktag — was war kaputt, was wurde getan, wie sieht das Monitoring aus, was ist die nächste Aktion. In den 30 Tagen danach: null verlorene Bestellungen mehr, null Folge-Reklamationen aus dem alten Fehler-Fenster. Der Shopbetreiber hat anschließend auf einen Care-Plan gewechselt — die Logik dahinter ist einfach: solche Schweige-Fehler will man entdecken, bevor der erste Kunde anruft.
Was Sie als Shop-Betreiber daraus mitnehmen können. Erstens: Drittanbieter-Plugins, die in den Bezahl-Vorgang eingreifen, sind ein eigener Risikofaktor. Wenn dort eines im falschen Moment einen Fehler wirft, geht Umsatz verloren — und niemand merkt es sofort, weil die Storefront dem Kunden ja eine Erfolgsmeldung anzeigt. Zweitens: Die meisten Shop-Backends zeigen Ihnen keine Diskrepanz zwischen „Kunde hat gekauft" und „Bestellung wurde gespeichert", weil das technisch dasselbe sein sollte — nur ist es das eben nicht immer. Ein stündlicher Abgleich der beiden Zahlen deckt diese Klasse von Fehlern verlässlich auf, lange bevor sie zu Reklamationen werden. Im Care-Plan-Monitoring ist dieser Abgleich seitdem Standard.
Stack
Datenherkunft
Die Outcome-Zahlen stammen aus dem jeweiligen Analytics-Connector des Klienten und wurden vor Veröffentlichung freigegeben. Wo Kunden Diskretion wünschen, nennen wir nur Sektor und Größenordnung; wo sie freigeben, nennen wir Marke und Maßnahmen beim Namen. Weitere Referenzen und Kontaktbrücken im Kennenlern-Gespräch.