Vom Warenkorb bis zur Bestellübersicht liegen für einen Neukunden im Schnitt 5,1 Schritte; erhoben hat das Baymard Institute diesen Wert bei großen Händlern. Wer angemeldet ist und Adresse und Zahlart hinterlegt hat, kommt in der Regel mit weniger Schritten durch. Anders als Startseite, Kategorie und Produktseite lässt sich dieser Abschnitt nicht als Ganzes wegcachen: Jede dieser Seiten hängt an einer Sitzung, an einem Warenkorb, an einer Adresse. Genau dort entscheidet sich, ob aus einem gefüllten Warenkorb eine Bestellung wird - und genau dort wird erfahrungsgemäß am wenigsten gemessen.
Das Wichtigste in Kürze
- Der Checkout läuft ohne Seiten-Cache: Warenkorb, Adresse, Versandkosten und Zahlung entstehen je Sitzung neu und laufen über die volle Kette aus Anwendung, Datenbank und Zahlungsschnittstelle.
- Im Mittel aus 50 Studien werden 70,22 Prozent der gefüllten Warenkörbe nicht bestellt (Baymard Institute) - hinter dem Warenkorb liegt damit mehr Umsatzpotenzial als davor.
- Mobil erreichen Unterseiten nur zu 69 Prozent gute INP-Werte, Startseiten zu 80 Prozent (Web Almanac 2025). Der Checkout gehört zu den Unterseiten, nicht zu den Einstiegsseiten.
- Eine Verbesserung der mobilen Ladezeit um 0,1 Sekunden ging im Handelssegment der Untersuchung - 15 Marken mit 20,5 Millionen mobilen Sitzungen - mit 8,4 Prozent mehr Conversions einher (Deloitte Ireland 2020).
- Setzen Sie je Checkout-Schritt ein eigenes Budget für Serverantwortzeit, Reaktionszeit und Feldzahl und messen Sie im Feld am 75. Perzentil auf Mobilgeräten, nicht im Labor am Schreibtisch.
- Planen Sie den Umbau vor der umsatzstarken Phase: 18,5 Prozent des Jahresumsatzes im Einzelhandel in Deutschland fallen auf November und Dezember (HDE).
Warum der Checkout keinen Cache kennt
Kategorie- und Produktseiten lassen sich weitgehend vorbereiten. Ein Seiten-Cache liefert dasselbe HTML an tausende Besucher, ein vorgelagerter Zwischenspeicher schiebt es an den Rand des Netzes, und die Anwendung sieht die Anfrage gar nicht mehr. Ab dem Warenkorb endet dieses Modell. Der Inhalt hängt an der Sitzung: welche Artikel liegen drin, welcher Preis gilt für dieses Konto, welche Versandzone greift, welcher Steuersatz. Jede dieser Antworten entsteht neu, über die volle Kette aus Anwendung, Datenbank und Zahlungsschnittstelle. Wer die Ladezeit seines Shops bisher an der Startseite gemessen hat, hat den Abschnitt, an dem die Bestellung hängt, noch nicht gesehen. Die Optimierung der Serverantwortzeit wirkt hier unmittelbar auf jeden einzelnen Schritt, weil kein Cache mehr dazwischensteht, der einen langsamen Aufruf verdecken könnte.
Der Effekt ist in den Felddaten des Web ablesbar. Startseiten erreichen mobil zu 80 Prozent gute INP-Werte, Unterseiten nur zu 69 Prozent (Web Almanac 2025) - ein Abstand von elf Prozentpunkten, den es ein Jahr zuvor in dieser Form noch nicht gab. Der Bericht führt als Erklärung genau die Bauteile an, aus denen ein Checkout besteht: Filter, Karussells und Formularvalidierung, dazu Skripte, die erst tiefer in der Nutzerreise starten. Über alle Seiten hinweg lagen mobil 77 Prozent im guten Bereich (Web Almanac 2025); die Unterseiten ziehen diesen Schnitt nach unten, nicht die Einstiegsseiten. Wie sich der Wert überhaupt sauber erheben lässt und welche Interaktionen er zusammenfasst, steht im Beitrag zu Interaction to Next Paint.
Warum das Thema jetzt zählt
Was der Abbruch im Warenkorb kostet
Zum Warenkorbabbruch gibt es im Onlinehandel besonders viele Erhebungen. Aus 50 verschiedenen Studien errechnet das Baymard Institute einen Mittelwert von 70,22 Prozent (Baymard Institute): Gut sieben von zehn gefüllten Warenkörben führen nicht zur Bestellung. Der Wert mittelt über sehr verschiedene Branchen, Zeiträume und Messmethoden und taugt deshalb nicht als Zielmarke für einen einzelnen Shop - eine Fachhandelsseite mit Konfigurator liegt anders als ein Abo-Shop mit drei Artikeln. Als Größenordnung sagt er aber deutlich, wo das Geld liegt: hinter dem Warenkorb, nicht davor. Wer das in Euro übersetzen möchte, findet die Rechnung im Beitrag zu Ladezeit, Conversion-Rate und Umsatz.
Ein Teil dieser Abbrüche hat mit Tempo nichts zu tun: Vergleichen, Parken, Versandkosten, fehlende Zahlungsart. Ein messbarer Teil hat es doch. 17 Prozent der US-Onlinekäufer haben in der Checkout-Untersuchung des Instituts schon einmal eine Bestellung abgebrochen, weil der Checkout zu lang oder zu kompliziert war (Baymard Institute). Länge und Kompliziertheit sind dabei keine reinen Gestaltungsfragen. Eine Adressprüfung, die nach jedem Tastendruck 800 Millisekunden braucht, macht dasselbe Formular subjektiv doppelt so lang: Die Feldzahl bleibt gleich, die gefühlte Arbeit verdoppelt sich. Wahrgenommene Kompliziertheit ist deshalb zu einem guten Teil eine Frage der Laufzeit im Browser und nicht nur eine Frage des Layouts.
Wie stark Tempo für sich genommen wirkt, zeigt eine Untersuchung über 37 Marken mit rund 30 Millionen mobilen Sitzungen: Erhoben und ausgewertet hat die Daten Fifty-Five im Auftrag von Google, den Bericht dazu hat Deloitte Ireland erstellt (Milliseconds Make Millions, 2020). Grundlage war eine natürliche Verbesserung der mobilen Ladezeit um 0,1 Sekunden. Im Handelssegment - 15 Marken mit 20,5 Millionen Sitzungen - stiegen die Conversions um 8,4 Prozent, der durchschnittliche Bestellwert um 9,2 Prozent (Deloitte Ireland 2020). Die Erhebung lief über vier Wochen und zeigt eine Korrelation für die untersuchten Marken; sie ist keine Rechenregel, die sich auf jeden Shop übertragen lässt. Sie beschreibt aber die Richtung sehr deutlich: Zehntelsekunden sind im Handel keine Kosmetik, sondern eine wirtschaftliche Größe.
| Schritt | Was der Server leisten muss | Warum kein Cache greift | Leitgröße |
|---|---|---|---|
| Warenkorb | Bestand, Staffelpreise, Rabatte je Konto | Inhalt hängt an der Sitzung | Serverantwortzeit |
| Adresse | Feldprüfung, Länderregeln, Steuersatz | personenbezogene Eingabe | Reaktionszeit |
| Versand | Kosten nach Gewicht, Zone und Termin | Ergebnis je Warenkorb verschieden | Serverantwortzeit |
| Zahlung | Freigabe, fremder Rahmen, starke Kundenauthentifizierung | fremdes Fenster mit eigener Laufzeit | Reaktionszeit und Layoutstabilität |
| Bestätigung | Bestellung schreiben, Beleg erzeugen, Benachrichtigung | Schreibvorgang, kein Lesevorgang | Serverantwortzeit |
Die Tabelle erklärt, warum ein Tempo-Projekt am Checkout anders abläuft als eines an der Startseite. Dort geht es um Bilder, Schriften und renderblockierende Ressourcen; hier um Datenbankabfragen, fremde Rahmen und Zeit auf dem Hauptthread. Beide Enden brauchen eigene Messpunkte, und beide gehören in dasselbe Bild aus Frontend-Optimierung und Serverarbeit, sonst wird an der falschen Stelle gespart. Wohin die Serverzeit im Einzelnen fließt, macht der Beitrag zu Server-Timing sichtbar - ohne diese Aufschlüsselung bleibt eine hohe Antwortzeit eine Zahl ohne Adresse.
Die fünf Schritte und ihre Engstellen
Der Checkout eines Neukunden ist bei großen Händlern im Schnitt 5,1 Schritte lang, gezählt vom Warenkorb bis zur Bestellübersicht (Baymard Institute). Diese Schritte sind technisch sehr unterschiedliche Tiere: Zwei rechnen vor allem auf dem Server, zwei vor allem im Browser, einer schreibt. Wer sie über einen Kamm schert und eine einzige Ladezeit für den Checkout ausweist, verliert genau die Information, die zur Behebung führt. Für den Serveranteil ist die Zeit bis zum ersten Byte die passende Leitgröße, für den Browseranteil die Reaktionszeit auf Eingaben.
Warenkorb neu berechnen
Bestand, Staffelpreise und Rabatte gelten je Konto. Jeder Aufruf geht in die Datenbank. Hier lohnt es sich, die Zahl der Abfragen zu zählen statt der Kilobyte.
Adressfelder prüfen
Eine Prüfung je Tastendruck belegt den Hauptthread dauerhaft. Eine Prüfung beim Verlassen des Feldes reicht in der Regel und hält die Eingabe flüssig.
Versandkosten ermitteln
Gewicht, Zone und Termin bestimmen das Ergebnis; vorhalten lässt es sich kaum. Ein eigener Messpunkt je Berechnung macht die Kosten sichtbar.
Zahlung freigeben
Fremde Rahmen bringen eigenes JavaScript und eigene Schriften mit. Sie gehören spät geladen, mit fester Höhe und ohne Sprung im Layout.
Fehlerwege mitnehmen
Falsche Postleitzahl, abgelehnte Zahlung, leerer Bestand: Diese Pfade laufen im Test selten und im Betrieb regelmäßig. Sie brauchen dieselbe Messung wie der Erfolgsfall.
Bestellung schreiben
Der letzte Schritt schreibt in mehrere Tabellen und stößt Folgeprozesse an. Was dort synchron läuft, verlängert die Wartezeit direkt vor dem Dankeschön.
Fünf dieser sechs Punkte lassen sich ohne Umbau der Kaufmechanik angehen. Der sechste verlangt meist eine Entscheidung: Was muss synchron passieren, damit die Bestellung gültig ist, und was darf in eine Warteschlange. Belegerzeugung, Abgleich mit der Warenwirtschaft und der Versand von Benachrichtigungen gehören erfahrungsgemäß nicht in den Klickpfad, sondern hinter die Bestätigungsseite. In Shopware-Projekten ist genau das häufig der Punkt, an dem die Bestätigungsseite von mehreren Sekunden auf einen Bruchteil davon fällt, ohne dass ein einziges Feld verschwindet.
Die Reihenfolge, die sich bewährt hat
Formularfelder sind das teuerste Bauteil
Der durchschnittliche Checkout enthält 11,3 Formularfelder, obwohl nach der Untersuchung des Instituts für die meisten Shops 8 Felder genügen würden (Baymard Institute). Der Wert ist über die Jahre gesunken - 2021 waren es 11,8 Felder, 2019 noch 12,7 (Baymard Institute) -, doch der Abstand zum Notwendigen ist geblieben. Jedes zusätzliche Feld kostet zweimal: einmal Aufmerksamkeit beim Ausfüllen und einmal Laufzeit im Browser. Der erste Posten ist bekannt, der zweite wird selten beziffert.
Ein Feld bringt in typischen Shop-Themes mehrere Ereignisbehandler mit, oft eine Prüfung je Tastendruck, manchmal eine Anfrage an den Server für die Adressvervollständigung. Bei elf Feldern summiert sich das zu einer dauerhaften Grundlast auf dem Hauptthread - und genau diese Grundlast misst die Reaktionszeit auf Eingaben. Wer die Zahl der Felder senkt, senkt beide Kosten gleichzeitig. Wo sich Felder nicht streichen lassen, weil das Geschäft sie braucht, hilft der Umbau der Prüfung: vom Tastendruck auf das Verlassen des Feldes, und lange Aufgaben aufteilen, wie im Beitrag zu langen Aufgaben und der Scheduler-Schnittstelle beschrieben.
{
"checkout_budget": [
{ "schritt": "warenkorb", "ttfb_ms": 400, "inp_ms": 150, "felder": 0 },
{ "schritt": "adresse", "ttfb_ms": 400, "inp_ms": 150, "felder": 8 },
{ "schritt": "versand", "ttfb_ms": 500, "inp_ms": 150, "felder": 0 },
{ "schritt": "zahlung", "ttfb_ms": 600, "inp_ms": 200, "felder": 0 },
{ "schritt": "bestaetigung", "ttfb_ms": 400, "inp_ms": 150, "felder": 0 }
],
"messfenster": "Felddaten, 75. Perzentil, Mobilgeraete",
"fehlerwege": ["plz_ungueltig", "zahlung_abgelehnt", "bestand_leer"]
}Was ein Budget nicht misst
Reaktionszeit je Schritt messen, nicht je Seite
Die Reaktionszeit auf Eingaben meldet die längste Interaktion eines Seitenaufrufs. In einem Checkout, der über mehrere Seitenaufrufe läuft, entsteht so je Schritt ein eigener Wert; in den Felddaten laufen diese Werte anschließend zusammen, ohne dass der einzelne Schritt noch erkennbar wäre. Für die Bewertung ist das richtig, für die Fehlersuche unbrauchbar: Man sieht, dass es hakt, aber nicht wo. Sinnvoll ist eine zweite, eigene Aufzeichnung mit der längsten Interaktion je Checkout-Schritt, im Browser gesammelt und beim Verlassen der Seite gesendet. Wie viel Arbeit auf dem Hauptstrang zusammenkommt, zeigt die Labormessung desselben Berichts: Im 90. Perzentil liegen mobil über 7,5 Sekunden Blockadezeit an, bevor eine Seite vollständig bedienbar ist (Web Almanac 2025).
Der folgende Ausschnitt kommt ohne fremde Bibliothek aus und nutzt nur Schnittstellen, die der Browser mitbringt. Er hält je Schritt den höchsten Wert fest und schickt ihn am Ende an einen eigenen Endpunkt im selben Shop. Was dabei rechtlich zu beachten ist und warum eine Messung ohne personenbezogene Kennung in vielen Fällen ohne Einwilligung auskommt, steht im Beitrag zur Performance-Messung ohne Einwilligung.
// Laengste Interaktion je Checkout-Schritt festhalten
const werte = new Map();
const schritt = document.body.dataset.checkoutSchritt || 'warenkorb';
new PerformanceObserver((liste) => {
for (const eintrag of liste.getEntries()) {
if (!eintrag.interactionId) continue;
const bisher = werte.get(schritt) || 0;
if (eintrag.duration > bisher) werte.set(schritt, Math.round(eintrag.duration));
}
}).observe({ type: 'event', buffered: true, durationThreshold: 40 });
addEventListener('visibilitychange', () => {
if (document.visibilityState !== 'hidden' || werte.size === 0) return;
const nutzlast = JSON.stringify(Object.fromEntries(werte));
navigator.sendBeacon('/messwerte/checkout', nutzlast);
});Zahlung, fremde Rahmen und der letzte Klick
Der Zahlungsschritt ist in der Regel der Schritt, in dem fremder Code im eigenen Kaufprozess läuft. Der eingebettete Rahmen des Zahlungsdienstleisters bringt eigenes JavaScript mit, lädt eigene Schriften und misst sich selbst nicht mit. Für die Seite bedeutet das drei Dinge: zusätzliche Zeit auf dem Hauptthread, zusätzliche Verbindungen und ein Element, dessen Höhe erst nach dem Laden feststeht. Genau daraus entstehen Layoutsprünge unmittelbar vor dem Bezahlen - der Bestellknopf rutscht nach unten, während der Daumen schon unterwegs ist. Wie sich das vermeiden lässt, beschreibt der Beitrag zu Layoutsprüngen im Shop.
- Den fremden Rahmen erst laden, wenn der Kunde die Zahlungsart gewählt hat, nicht schon beim Aufruf des Schritts.
- Dem Rahmen eine feste Höhe geben, damit der Bestellknopf beim Nachladen an seiner Position bleibt.
- Die Verbindung zum Zahlungsdienst früh anbahnen, die Ressourcen selbst aber spät holen.
- Eigene Skripte im Zahlungsschritt auf das Nötige kürzen; jede eingesparte Aufgabe kommt dem fremden Rahmen zugute.
- Den Bestellknopf nach dem ersten Klick sperren und den Zustand sichtbar machen, damit Doppelbestellungen und Mehrfachanfragen ausbleiben.
Der Aufwand lohnt sich, weil im Zahlungsschritt alles zusammenkommt: fremder Code, Formularlogik und eine Serverantwort, die sich nicht vorbereiten lässt. Wie viel fremden Code ein Shop insgesamt trägt, klärt der Beitrag zum Entschlacken von Drittanbieter-Skripten; wie sich derselbe Checkout unter hoher Last verhält, zeigt ein Lasttest vor der Hochsaison. Beides gehört zusammen, denn eine Antwortzeit aus einer ruhigen Nacht sagt wenig über einen Freitagabend im Dezember.
Ein Checkout wird nicht dadurch schnell, dass die Startseite schnell ist. Er wird schnell, wenn jeder seiner Schritte ein eigenes Budget hat und einzeln gemessen wird - einschließlich der Wege, die schiefgehen.
Für die Praxis heißt das: fünf Messpunkte statt einem, ein Budget je Schritt und eine Aufzeichnung, die auch die Fehlerwege erfasst. Der Rest ist Handwerk - Abfragen zusammenfassen, Felder streichen, Prüfungen entzerren, fremde Rahmen bändigen. Welche Core Web Vitals dabei welchen Schritt beschreiben und wie stark die Laufzeit von CSS im Browser dazwischenfunkt, vertieft der Beitrag zur Style-Recalculation. Wer beides zusammen betrachtet, kommt in der Regel mit weniger Umbau aus als erwartet.
Verwandte Artikel
Lasttest vor der Hochsaison: Traffic-Spitzen abfangen
Eine Seite, die im Einzelabruf in 400 ms antwortet, kann bei 300 gleichzeitigen Besuchern brechen. Wie ein Lasttest die Kapazität vor der Hochsaison misst.
Ladezeit und Conversion: Wie Tempo den Umsatz steigert
Jede Sekunde Ladezeit entscheidet über Conversion und Warenkorbwert: Wie Tempo den Umsatz steigert, was 100 Millisekunden wert sind und Vitals in Euro.
Shopware Performance: Ladezeiten im Shop senken
Shopware CE schneller machen mit Bordmitteln: integrierter HTTP-Cache und Reverse-Proxy, Cache-Warmup, OpenSearch und der Performance-Gewinn eines 6.x-Updates.