Der teuerste Haken im Shopify Checkout

Die kurze Antwort
Im Shopify Admin unter Einstellungen, Checkout, Abschnitt Bestellabwicklung sitzt eine Checkbox mit dem Namen „Bestätigungsschritt erforderlich machen“. Ist sie aktiv, muss eure Kundschaft nach der Zahlungsauswahl noch eine Übersichtsseite bestätigen, bevor die Bestellung wirklich rausgeht. Diese Checkbox gehört in jedem Shop aus.
Ob sie bei euch an ist, sagt euch unser kostenloses Tool in ein paar Sekunden: Shopify Checkout Check.

Warum ein einzelner Klick so teuer ist
Der Checkout ist der teuerste Abschnitt eines Shops. Bis dorthin ist die gesamte Arbeit schon bezahlt: Anzeige, Klick, Produktseite, Warenkorb. Wer im Checkout steht und Zahlungsart und Adresse hinterlegt hat, ist so nah an der Bestellung wie überhaupt möglich.
Genau an dieser Stelle setzt der Bestätigungsschritt eine weitere Seite dazwischen. Sie zeigt nichts, was vorher nicht schon zu sehen war. Warenkorb, Adresse, Versandart, Summe, alles stand bereits im Checkout. Der Schritt informiert also nicht, er verzögert nur, und jede Verzögerung an dieser Stelle hat eine eigene Absprungrate.
Das Perfide daran ist die Unsichtbarkeit. In der Statistik fehlen am Monatsende ein paar Bestellungen, aber es steht nirgends, warum. Es gibt keine Fehlermeldung, keinen Alarm, keinen roten Balken im Dashboard. Es gibt nur einen zusätzlichen Schritt, den irgendwann jemand einmal aktiviert hat oder der bei der Einrichtung so stehen geblieben ist.
So schaltet ihr ihn ab
- Shopify Admin öffnen, auf Einstellungen gehen
- Im Menü links Checkout wählen
- Zum Abschnitt Bestellabwicklung scrollen
- Bei „Bestätigungsschritt erforderlich machen“ den Haken entfernen
- Speichern
Zwei Minuten Arbeit, keine Entwicklung nötig, sofort wirksam.
Das Tool: Domain rein, Antwort raus
Weil die Frage in jedem Shop dieselbe ist, haben wir sie in ein kleines Werkzeug gepackt. Domain eingeben, Ergebnis ansehen, fertig. Kein Login, keine Anmeldung, keine Demo.
Das Tool findet über die öffentliche Produktliste des Shops einen kaufbaren Artikel, öffnet damit einen Warenkorb Link und liest den echten Checkout aus. Es wird nichts gekauft und nichts ausgefüllt. Im geprüften Shop entsteht dabei ein abgebrochener Warenkorb, so wie bei jeder Besucherin, die den Checkout öffnet und wieder geht.
Der interessante Teil: Shopify gibt die Einstellung nicht her
Der erste Reflex war, das sauber über die Admin API zu lösen. Wir haben Zugriff auf mehrere Shops, ein API Aufruf, fertig. Nur gibt es diesen Aufruf nicht.
Im GraphQL Schema der Admin API, Version 2025-07, hat der Typ Shop rund fünfzig Felder. Es gibt checkoutApiSupported, es gibt paymentSettings, es gibt customerAccounts. Ein Feld für den Bestätigungsschritt ist nicht dabei. Eine eigene Query für Checkout Einstellungen existiert ebenfalls nicht, und im REST Shop Objekt taucht der Wert genauso wenig auf. Diese Einstellung lebt im Admin und nur dort.
Auslesen lässt sie sich trotzdem, nur eben von der anderen Seite. Der ausgelieferte Checkout trägt seinen kompletten Zustand als serialisierten GraphQL Block im HTML mit sich, und darin steht das Flag:
"confirmationPageEnabled": false
false heißt: kein zusätzlicher Bestätigungsschritt. true heißt: die Extraseite ist aktiv.
Eine Stolperfalle, die drei Stunden hätte kosten können
Beim Bauen kam eine Eigenheit dazu, die ohne Vergleichstest schwer zu finden ist. Derselbe Aufruf mit denselben Cookies auf dieselbe URL liefert unterschiedliche Antworten, je nachdem womit man ihn abschickt.
Mit curl kommt der Checkout mit Status 200. Mit fetch() in Node kommt eine leere Seite mit Status 403 und dem Text Request Forbidden. Nicht am fehlenden Cookie, nicht an den Headern, nicht am HTTP Protokoll. Wir haben denselben Link mit demselben Cookie Satz in derselben Sekunde über beide Wege abgeschickt: curl 302 und weiter, fetch() 403.
Der Grund ist der HTTP Client hinter fetch(). Shopify erkennt ihn und lässt ihn am Checkout nicht durch. Über das eingebaute node:http2 Modul mit eigener Cookie Verwaltung kommt exakt dieselbe Antwort zurück wie im Browser. Genau so läuft das Tool jetzt.
Für alle, die etwas Ähnliches bauen: wenn ein Shopify Endpunkt im Terminal funktioniert und im Code nicht, liegt es nicht zwangsläufig an eurem Code. Es kann am Client liegen.
Was wir in freier Wildbahn gefunden haben
Wir haben den Check über eine Handvoll bekannter Shops laufen lassen. Die Mehrheit hat den Bestätigungsschritt aus, aber eben nicht alle. Unter denen, bei denen er an war, sind Shops mit sehr ordentlicher Arbeit an jeder anderen Stelle: gutes Design, schnelle Ladezeiten, saubere Produktdaten. Der zusätzliche Schritt im Checkout stand trotzdem.
Das passt zum Muster. Niemand aktiviert diese Checkbox aus Überzeugung. Sie fällt nur nie jemandem auf, weil sie in einem Einstellungsbereich sitzt, den man nach dem Launch nicht mehr öffnet.
Deshalb dieses Tool. Es beantwortet eine einzige Frage, dafür in fünf Sekunden.