The starting point
NORDFJORD's previous agency had delivered a beautiful PLP and PDP design, but the implementation was carrying 14 third-party scripts loaded synchronously, an unoptimized hero image at 1.4MB, and a Liquid template doing 11 product lookups per page render.
Mobile LCP in the Gulf — their fastest-growing market — was 4.1s. Their Lighthouse mobile score was 41. They came to us because their CMO had read enough Google research to know what 4.1s LCP was doing to the funnel.
The audit
Two days. We benchmarked Lighthouse, INP, and CLS on actual mid-tier Android devices over LTE in the regions that mattered (US, UK, UAE, Saudi). We pulled RUM from DebugBear for the previous 30 days to see where users actually hurt — slowest 25% of sessions in the Gulf were 6.8s LCP.
Then we ranked every issue by impact × effort. The top 5 issues accounted for 78% of available improvement.
Sprint 1 — what shipped
- Hero image pipeline rebuilt with
srcset+ Cloudflare Image Resizing → -1.0s LCP alone - Render-blocking JS removed — third-party tags moved through GTM with custom triggers, not synchronous loads → -300ms TBT
- Liquid query budget enforced — eliminated 8 redundant product lookups in the PLP template via section-level caching → -180ms TTFB
- Font loading optimized —
font-display: swap+ preload of weight 400 only → -120ms first paint
LCP after sprint 1: 2.5s. Mobile Lighthouse: 84.
Sprint 2 — the harder wins
- PDP fold prioritization — moved review carousel below the fold, deferred its JS → -250ms LCP
- Intersection Observer for above-fold lazy-loading with a real budget for inline critical CSS
- Removed two marketing tags that the growth team agreed weren't earning their weight
- Lighthouse CI added to PR pipeline — performance budgets enforced on every change going forward
LCP after sprint 2: 1.5s. Mobile Lighthouse: 98. CLS effectively zero.
What changed in conversion
Six weeks after the kickoff:
- Mobile CVR: +47% (statistically significant at p < 0.01 over a 4-week window)
- Bounce rate on PDP: -22%
- Add-to-cart rate: +18%
- Time-to-add-to-cart on PDP: -1.4s
We don't claim the LCP work caused all of it. Performance work and the design tweaks shipped in the same window can't be cleanly attributed apart. But the magnitude is in line with what Google's research predicts for that LCP delta — and they all moved together.
What stays in place
Lighthouse CI in their pipeline now blocks PRs that regress more than 5% on key metrics. We do a quarterly tune-up on retainer to catch drift. Performance only stays good if you protect it.
"They benchmarked, prioritized by impact, shipped, and reported. No theatre. Just numbers moving in the right direction."