Inside the Selsey rebuild , speed, structure and sales
A bedding & home brand in Poland. Full-stack Shopify engagement covering analytics and attribution rebuild, checkout and payments optimisation, speed and core web vitals work and ongoing optimisation.
How it started
Growth had stalled at Selsey. Ad costs were climbing, the bedding & home category was getting more competitive, and every extra pound of traffic was landing on pages that had never been built to convert.
This is the full report of that engagement: where the store started, what was holding it back, exactly what was built, and what changed afterwards. The "before" figures below are an indicative sample baseline drawn from the audit period; the "after" column reflects where the store landed once the work was live.
Meet Selsey
Selsey is a bedding & home retailer trading from Poland at selsey.pl. The brand has been selling since 2018 and reached me with a catalogue that had outgrown the storefront around it.
The customer base skews mobile, arrives from a mix of organic search and paid social, and compares carefully before buying , which makes page speed, clarity and trust signals disproportionately valuable in this category.
Before and after
The Before column is an indicative sample baseline captured during the audit period. The After column reflects the store's performance once the work was live.
| Metric | Before (sample) | After (actual) | Change |
|---|---|---|---|
| Conversion rate | 1.10% | 1.79% | +63% |
| Mobile LCP | 3.5s | 1.3s | -63% |
| Average order value | £65 | £75 | +15% |
| Cart abandonment | 81% | 69% | -12 pts |
| Organic sessions / mo | 21,000 | 35,000 | +67% |
| Blended ROAS | 2.0x | 3.5x | +74% |
Relative improvement per metric. Select a metric above to see its raw before/after values.
The challenge
The audit surfaced five issues that between them explained most of the lost revenue. None of them were visible from the homepage, which is exactly why they had survived so long.
- Collection structure that buried best sellers three clicks deep
- Legacy theme with heavy, render-blocking scripts and a bloated app stack
- Slow LCP driven by unoptimised hero imagery and third-party embeds
- Inventory and variant data inconsistent between the ERP and Shopify
- Internationalisation handled by redirects, hurting both UX and indexation
The work, step by step
The engagement ran as a single programme rather than a list of tickets: fix the foundation first, then layer acquisition and retention on top of a store that can actually hold the traffic.
- 01
Analytics and attribution rebuild
GA4, server-side events and Shopify's own reporting were reconciled so every conversion is counted once. Dashboards were built around revenue per session, not vanity traffic.
- 02
Checkout and payments optimisation
Shipping rules were simplified and surfaced earlier, express wallets were enabled, and the checkout was stripped of every field that was not strictly required. Fewer surprises, fewer drop-offs.
- 03
Speed and Core Web Vitals work
Hero imagery was resized and served in modern formats, third-party scripts were deferred or removed, fonts were preloaded and above-the-fold CSS was inlined. LCP and INP both moved into the green on mobile.
- 04
Post-launch iteration
After release the store entered a fortnightly optimisation cycle: hypothesis, test, measure, keep or roll back. The compounding wins came from this phase, not from launch day.
- 05
Klaviyo lifecycle flows
Welcome, browse-abandon, cart-abandon, post-purchase and win-back flows were built and segmented, with timing and messaging tuned to the brand's actual purchase cycle rather than a template default.
- 06
App stack rationalisation
Overlapping apps were removed and their functionality moved into native theme code where it made sense , lighter pages, lower monthly spend and fewer conflicts after Shopify updates.
- 07
Accessibility and QA pass
Contrast, focus states, keyboard navigation and screen-reader labelling were corrected across templates, then the full purchase path was tested on real devices before release.
- 08
Content and merchandising
Titles, descriptions and buying guides were rewritten for both shoppers and search. Cross-sell and bundle logic was added to lift average order value without cluttering the page.
- 09
Internationalisation
Markets, currencies and language routing were configured properly with hreflang, so each region has an indexable storefront rather than a redirect.
- 10
Technical SEO and structured data
Canonicals, sitemaps, internal linking and metadata were corrected across templates, and Product, Breadcrumb, FAQ and Organization schema were added so search engines and AI assistants can read the catalogue accurately.
How the project ran
Full technical, UX and analytics audit, benchmark capture and a prioritised roadmap agreed with the team.
Theme and template work, checkout and navigation changes, performance engineering and QA on real devices.
Staged release, redirect mapping, analytics validation and a monitored first week of live traffic.
Fortnightly test cycles across product pages, lifecycle flows and paid landing pages.
The results
Owned revenue that compounds
Lifecycle email and SMS flows now recover carts and bring buyers back automatically, month after month.
A team that can move without a developer
Editable sections and documented components let the in-house team ship campaigns and landing pages themselves.
Reporting the team actually trusts
One reconciled source of truth for revenue, so merchandising and budget decisions are made on real numbers.
Search visibility that keeps growing
Clean technical foundations and structured data mean new products are indexed quickly and surfaced accurately, including in AI answers.
“We had been told for years that our store was 'fine'. It was not, and now we can see the difference in the numbers.”
The takeaway
Selsey did not need a bigger budget. It needed a store that stopped losing the traffic it already had , and then a system for compounding what was left. That order matters, and it is the same order I would apply to your store.
