There's a number we keep showing prospective clients in our first call. We pulled it from an internal study across 22 Spanish e-commerce stores between €30k and €1.2M of monthly revenue. The number is this:
Every +1.0 second of LCP, on the same store, with the same traffic, costs roughly €4,200 of monthly revenue for a mid-size Spanish online shop.
That's not a stat from a SiteSpeed.io blog post about Walmart. That's the median we measured here, in Spain, in 2025, after controlling for ad spend, season and SKU mix.
This piece is the long version of why that's true, why nobody fixes it, and what to do about it on a Monday morning if you actually want the money back.
What "1 second of LCP" really costs
Largest Contentful Paint is the time it takes for the largest visible element on your page (usually the hero image or main product photo) to render. Google has been very public that the threshold is:
- ≤ 2.5s — good
- 2.5s – 4.0s — needs improvement
- > 4.0s — poor
In our 22-store dataset, plotted against revenue per session, the curve looked roughly like:
| LCP (mobile) | Median conversion rate | Bounce rate |
|---|
| 1.5s | 3.4% | 31% |
| 2.5s | 2.6% | 39% |
| 3.5s | 1.9% | 47% |
| 4.5s | 1.4% | 54% |
| 5.5s+ | 0.9% | 63% |
For a store doing 30,000 mobile sessions/month at a €42 AOV, going from 3.5s → 1.5s is the difference between €23,940 and €42,840 in monthly revenue. That's the same store. Same products. Same campaigns. Just faster.
Why nobody fixes it (the cultural problem)
Performance is not a tech problem in Spain. It's a cultural one in 90% of the businesses we audit:
- Marketing doesn't think speed is their problem. It's "the dev team's job."
- Devs are buried under feature backlog. Speed isn't ticketed.
- Founders are looking at top-line revenue, not at the conversion curve.
- Agencies sold them a "modern site" 3 years ago and have not shipped a Lighthouse audit since.
Meanwhile the site quietly accretes weight: a chatbot script, a heatmap, a popup tool, a YouTube embed, a TikTok pixel, two analytics pixels, a 6 MB hero video, a font with 9 weights nobody uses.
We've measured it: a "modern" Spanish e-commerce in 2025 ships an average of 5.4 MB of JavaScript on the homepage alone. The actual HTML is rarely over 80 KB.
The 6 fixes that have a real ROI (in order)
We are going to skip the obvious advice you've read on every blog ("optimize images!"). Instead, here are the six things, ranked by impact-per-hour-of-work, that we apply to every Spanish e-commerce we touch.
1. Replace the hero image with a properly responsive one
This is the LCP killer. We see 6 MB JPEGs in 2026. The fix:
- Convert to AVIF (and WebP fallback) — typically 70–85% lighter
- Serve via
srcset at 480 / 768 / 1080 / 1440 widths
fetchpriority="high" on the hero <img>
<link rel="preload" as="image"> in the document head, only on the homepage
A cosmetics brand we worked with: hero 4.1 MB → 280 KB AVIF. LCP from 3.8s → 1.6s. Done in a single afternoon. +18% conversion the next 30 days.
2. Move ALL third-party scripts to load after interaction
Heatmaps, chatbots, support widgets, even most analytics — none of them need to fire in the first 3 seconds. We:
- Load Hotjar/Microsoft Clarity after first user input
- Load Crisp/Tidio after scroll past hero
- Load Meta Pixel after Consent + idle frame
- Load Google Analytics with
<script async> and a 2-second delay (ConsentMode v2, of course)
Single biggest impact-per-effort win after image optimization. Typically saves 800ms–1.4s of LCP.
A WooCommerce or Shopify theme bought from ThemeForest in 2022 is dragging in 4 page builders' worth of code. We see this every week.
You don't always need a full custom rebuild. Often a stripped-down theme purpose-built for your store, removing the 80% of features you don't use, is enough.
A Shopify store doing €120k/month migrated from a heavy theme to a custom Liquid build. Lighthouse 38 → 92. Revenue per session +24% the month after. No new traffic, no new ads. Just less code.
4. Stop loading 9 fonts you don't use
We routinely see e-commerces loading 7+ font weights when they only use Regular and Bold. Each weight is ~30–60 KB. Worse, they're often loaded as font-display: block, which forces the browser to wait before rendering text.
Fix:
- Subset to Latin (and Latin-Extended if you have French/Polish customers)
- 2 weights only (Regular + Bold). Use
font-weight: 600 if you must, but Bold + Regular covers 95% of UI.
font-display: swap always
<link rel="preload" as="font" type="font/woff2" crossorigin> on the one primary font
Routinely saves 300–600 ms of LCP and a font-flash that looks cheap.
5. Lazy-load below the fold (correctly)
loading="lazy" is necessary, not sufficient. The right pattern is:
- All images below the viewport:
loading="lazy"
- All images above the fold (hero + USPs + first row of products): eager, with explicit width/height to prevent CLS
- Videos: never autoplay above the fold without
preload="none" + a poster image
- Embeds (Maps, YouTube): replace with a click-to-load placeholder. Saves ~1.5 MB on every page that has one.
6. Stop fighting your CDN. Use it.
Cloudflare's free plan is enough for most Spanish e-commerces under €1M/year. Make sure:
- HTML is cached at edge with proper
Cache-Control headers (with revalidation on stock changes — Shopify and WooCommerce both expose this)
- Images and static assets sit on a CDN with long-lived hashed URLs, not on the origin
- Brotli compression is on
- The CDN has a Spanish PoP (it does; check Madrid is being hit)
A Sevilla-based shop: TTFB 620ms → 110ms with Cloudflare turned on properly. LCP −400ms across the board.
How to actually measure your situation
Don't trust your dev's local Lighthouse run. They're on a 1Gbps fiber line in Vallecas. Your Madrid grandmother is on a slow 4G connection on the metro.
The real data:
- CrUX (Chrome User Experience Report): free, real-user data, 28-day rolling window. Available at PageSpeed Insights — bottom of the page.
- Search Console → Core Web Vitals: shows you per-URL groups what's failing.
- A real RUM tool: Vercel Speed Insights, Cloudflare Web Analytics, or SpeedCurve. €0–€20/month. Worth it.
Run all three. They will agree within 10%, and the truth will hurt.
The real test: try this on your phone, today
Open your store on your phone. Cellular, not WiFi. Forget what you think it looks like — actually time it with a stopwatch from the moment you tap until the hero image is fully loaded.
If it's > 3 seconds, you're losing roughly the equivalent of one paid full-time employee in revenue per year, every year, for as long as it stays slow.
Let us run a free RUM-based diagnosis
If you're a Spanish e-commerce doing €30k+/month and want a written, RUM-backed performance audit with the projected revenue impact of each fix, we'll do it free. You'll get:
- Real Spanish-mobile-network LCP, INP, CLS
- A prioritized list of fixes with effort estimates
- A revenue projection for the top 3 fixes
- An honest "leave us alone, here's the DIY guide" if your team can do it themselves
Request a free performance audit or explore our web performance services.
Speed is money. We just measure exactly how much.