Overview
The checkout path had become a stack of exceptions: promo logic, saved addresses, fulfillment rules, and payment fallbacks all appeared at the same moment. Customers were technically able to complete a purchase, but they had to resolve too much uncertainty in one view.
Problem
Support logs showed repeat questions around shipping availability and payment recovery. Session recordings suggested that customers were looping between cart and checkout to confirm details that should have been available in context.
Approach
I mapped the current path by decision type, not by screen. That separated information customers needed to compare from actions they needed to commit to. The revised flow grouped volatile details near the moment of choice and moved administrative fields out of the primary scan path.
Outcome
The shipped pattern reduced ambiguity without hiding edge cases. Product, support, and engineering had one shared map for follow-up experiments, and the design system gained clearer form and validation patterns for future purchase flows.