Performance & UX
All case studies
Performance & UX 18 min read

Checkout Conversion: +34% in 90 Days

+34%
Conversion Rate
32% → 43%
-81%
LCP
4.2s → 0.8s
-63%
Checkout Steps
8 → 3
Recovered
Monthly Revenue
Baseline → +$2.4M

The Problem

Razorpay's checkout had a 68% cart abandonment rate. Analysis revealed the primary culprits: a 4.2s LCP caused by unoptimized JavaScript bundles, a multi-step form that required 8 interactions before payment, and no guest checkout option. The business cost was $2.4M in monthly lost revenue.

Approach & Research

We started with a data-driven diagnosis using FullStory session recordings, heatmaps, and Core Web Vitals field data from CrUX. I led a cross-functional team (frontend, design, product, data) through a 3-phase initiative: performance remediation, UX redesign with A/B testing, and progressive enhancement for low-connectivity markets.

The Solution

Reduced the checkout to 3 steps using a collapsible accordion pattern. Implemented critical CSS inlining, code splitting at the route level, and preloading key resources. Added guest checkout, one-click checkout for returning users, and an optimistic UI that processed payment confirmation in the background.

Key Lessons

  • A/B test everything, even changes that feel obviously better
  • Performance improvements compound — fixing LCP often improves conversion more than UX changes alone
  • Guest checkout is almost always the highest-impact checkout optimization
  • Involve data science from day one, not after the fact
Vue 3NuxtPerformanceA/B TestingCore Web Vitals