1.1 million BigQuery events. 376 in-session intercepts. 30+ UX issues in a template the team thought was fine.
Qualified Leads
After the redesign
Session Duration
Deeper browse engagement
Bounce Rate
More users stayed
Add-to-Cart Rate
Downstream conversion lift
Category pages were underperforming across both desktop and mobile templates. Session-to-PDP-click conversion was below benchmark, and the team had a long list of anecdotal UX complaints but no data-backed prioritisation. The category page acted as the primary browse-to-product gateway — any friction here multiplied across every downstream metric.
The product catalogue spanned hundreds of SKUs across furniture categories — sideboards, dining sets, beds, home office. Each category template was supposed to follow the same design spec, but over months of iterative changes, the templates had diverged. Inconsistent card sizing, missing hover states, broken filter dropdowns — the degradation was invisible unless you watched real sessions.
The team had a shared notion that the category pages 'felt off' but couldn't articulate why. Without data, every complaint was equally valid — and equally easy to deprioritise. The backlog had UX tickets that had been sitting untouched for three months.
I turned 1.1M events into a ranked hit-list of UX failures.
Set up GA4 custom events for every category interaction — filter use, sort changes, product card clicks, pagination behaviour. Nobody had ever instrumented the category page below page_view.
Ran Clarity heatmaps and scroll maps across the top 10 category pages by traffic volume. Watched real users navigate, hover, hesitate, and leave. The gap between what the template intended and what users experienced was stark.
Categorised every issue by severity score (frequency × business impact). The final list had 30+ distinct UX problems: inconsistent card sizing causing layout shift, filter dropdowns overlapping content, mobile touch targets below 48px minimum, missing hover states on product cards, and skeleton loading states that collapsed mid-render.
The most expensive discovery: the template itself was structurally sound. The execution had degraded through months of uncoordinated changes. Rebuilding from scratch would have wasted weeks. The fix was a systematic restoration, not a redesign.
30+ issues fixed in one 4-week sprint. Every fix validated with before/after heatmaps.
Rebuilt desktop and mobile category page templates against the Figma design library. Standardised card components, consistent sizing, and proper hover states across all categories.
Fixed filter interaction patterns — dropdowns that overlapped content were repositioned, mobile filters were converted to full-screen overlays with proper touch targets, and active filters were visually highlighted.
Added skeleton loading states that respected final card dimensions (no layout shift). Optimised image dimensions across breakpoints. Standardised the product card component into a single source of truth consumed by all category templates.
Issues Fixed
30+
Sprint Duration
4 weeks
Template Approach
Restoration, not redesign
Session → PDP Click
+34%
Session Duration
+24%
Bounce Rate
–16%
Add-to-Cart Rate
+27%
The template remained the same. The quality of execution changed.
Heatmap validation showed users engaging with formerly ignored product cards. Filter interaction time dropped significantly because visual hierarchy was clear. The biggest win: the category page no longer leaked traffic before users could reach product detail pages. Each percentage point of improvement in session-to-PDP conversion compounded into downstream gains in add-to-cart and purchase rates.
The severity scoring system was the most important tool I built. Without a ranked list, every UX complaint has equal urgency. With a ranked list, we could confidently say 'fix these 10 first, defer these 5' — and defend that decision with data.
The template degradation happened gradually — no single change broke anything visibly. That's exactly why periodic UX audits matter. A quarterly heatmap and session recording review would have caught 80% of these issues before they compounded.
I should have run the same analysis on the product detail page template simultaneously. Category page and PDP are interdependent — fixing one without auditing the other limits the overall funnel improvement. The PDP became the next sprint.