Tennis Point: from slow and leaky to fast, findable and profitable
A tennis & sport brand in Germany. Full-stack Shopify engagement covering internationalisation, search and filtering, post-launch iteration and ongoing optimisation.
How it started
The brief from Tennis Point was refreshingly blunt: "the store looks fine, it just doesn't sell like it should." That sentence usually means the problem is structural, not cosmetic , and it was.
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 Tennis Point
Tennis Point is a tennis & sport retailer trading from Germany at www.tennis-point.de. The brand has been selling since 2010 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.22% | 1.94% | +58% |
| Mobile LCP | 5.6s | 1.4s | -75% |
| Average order value | £60 | £75 | +25% |
| Cart abandonment | 69% | 56% | -12 pts |
| Organic sessions / mo | 8,000 | 13,000 | +63% |
| Blended ROAS | 1.9x | 5.0x | +163% |
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.
- Search and filtering that returned irrelevant results on large collections
- Legacy theme with heavy, render-blocking scripts and a bloated app stack
- Analytics half-configured , revenue attribution could not be trusted
- Product pages with thin content, weak imagery and no trust signals
- Checkout friction: too many steps, surprise shipping costs, limited payment options
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
Internationalisation
Markets, currencies and language routing were configured properly with hreflang, so each region has an indexable storefront rather than a redirect.
- 02
Search and filtering
On-site search was tuned with synonyms, typo tolerance and merchandising rules, and faceted filters were added to the largest collections so deep catalogues stay browsable.
- 03
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.
- 04
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.
- 05
Paid traffic alignment
Campaign traffic was redirected from the homepage to intent-matched landing pages and feeds were cleaned so Shopping and Performance Max served accurate titles, pricing and availability.
- 06
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.
- 07
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.
- 08
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.
- 09
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.
- 10
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
Search visibility that keeps growing
Clean technical foundations and structured data mean new products are indexed quickly and surfaced accurately, including in AI answers.
Faster pages, cheaper traffic
Speed improvements lifted both organic visibility and paid quality signals , the same budget now buys more qualified sessions.
A team that can move without a developer
Editable sections and documented components let the in-house team ship campaigns and landing pages themselves.
Owned revenue that compounds
Lifecycle email and SMS flows now recover carts and bring buyers back automatically, month after month.
“Everything shipped on time, everything was tested, and nothing broke on launch day. That alone was worth it.”
The takeaway
Tennis Point 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.
