Scaling bags & accessories: the Carpisa Shopify story
A bags & accessories brand in Italy. Full-stack Shopify engagement covering speed and core web vitals work, post-launch iteration, collection and navigation restructure and ongoing optimisation.
How it started
Carpisa was a rebuild-or-patch decision when we started. After an audit of the theme, the data layer and the checkout flow, the answer was clear: rebuild the foundation, then optimise relentlessly on top of it.
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 Carpisa
Carpisa is a bags & accessories retailer trading from Italy at www.carpisa.it. The brand has been selling since 2013 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.08% | 2.59% | +139% |
| Mobile LCP | 4.7s | 1.5s | -68% |
| Average order value | £55 | £65 | +18% |
| Cart abandonment | 78% | 58% | -20 pts |
| Organic sessions / mo | 19,000 | 54,000 | +184% |
| Blended ROAS | 1.9x | 4.9x | +166% |
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.
- Legacy theme with heavy, render-blocking scripts and a bloated app stack
- Abandoned cart flows either missing or firing at the wrong moment
- Search and filtering that returned irrelevant results on large collections
- Product pages with thin content, weak imagery and no trust signals
- Analytics half-configured , revenue attribution could not be trusted
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
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.
- 02
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.
- 03
Collection and navigation restructure
Collections were regrouped around how customers actually shop rather than how the catalogue is stored internally. Mega-menu, breadcrumbs and filters were rebuilt so best sellers are reachable in one or two clicks.
- 04
Product page redesign
Product templates were rewritten around the buying decision: gallery first, benefit-led copy, variant clarity, delivery expectations, returns policy and reviews all visible without hunting through tabs.
- 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
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.
- 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
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.
- 09
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.
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
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.
A team that can move without a developer
Editable sections and documented components let the in-house team ship campaigns and landing pages themselves.
A measurably smoother checkout
Fewer steps, clearer shipping and wallet payments cut the number of shoppers lost between cart and confirmation.
“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
Carpisa 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.
