Your website loads fine on a MacBook. On a Samsung Galaxy on 4G, it stalls for 3 seconds. Here's why, and who's actually responsible.
Read summarized version with
You ran Google Ads last month. You spent the budget, you got clicks, and then the conversion numbers came back embarrassing. You checked the site on your phone at the office and it looked fine. Then a client mentioned offhand that your site was "a bit slow." You opened PageSpeed Insights for the first time and saw a mobile score of 38.
You're not alone. And the problem isn't your hosting plan, and it's not that your internet connection is too slow. It's how the site was built. Specific decisions were made while building it: about images, about code, about how pages are delivered to a phone. Nobody told you about them. That's what this is about.
What does "slow on mobile" actually mean, and why does it cost you money?
Speed is a revenue problem before it's a technical one.
53% of mobile visitors leave if a page takes more than 3 seconds to load. That's Google's own research, based on real traffic at scale. And what it means for a business running Google Ads is this: if your landing page loads slowly on mobile, more than half the people who clicked your ad are gone before they ever see your offer.
The conversion math is just as uncomfortable. Sites that load in 1 second convert at around 3% on average. At 5 seconds, that number drops to 0.6%. Five times fewer conversions for the same number of visitors. For a clinic spending €15 per lead on Google Ads, a slow mobile page is quietly eating 7 to 20% of those leads every single month. The ads are working. The site is losing the leads after the click.
It gets worse if you're running paid campaigns. Mobile page speed is a direct input into Google's Quality Score through the Landing Page Experience component. A slow page lowers your Quality Score, which raises your cost per click. A business spending €5,000 a month on Google Ads with a Quality Score of 4 can be paying 25 to 50% more per click than a competitor with the same keywords and a faster site. Same budget. Fewer leads.
Google uses a set of metrics called Core Web Vitals to measure all of this. They map directly onto what your visitors feel while the page loads.
| Metric | What it measures | Good | Poor |
|---|---|---|---|
| LCP (Largest Contentful Paint) | How fast the main content appears | Under 2.5s | Over 4s |
| CLS (Cumulative Layout Shift) | How much the page jumps while loading | Under 0.1 | Over 0.25 |
| INP (Interaction to Next Paint) | How fast the page responds to a click | Under 200ms | Over 500ms |
Only 47% of websites pass all three (Web Almanac 2025). If your site is failing, it is not the exception.
Why your agency tests on a MacBook and you pay the price on a Samsung Galaxy
There is a gap between how the site was demoed to you and how your customers actually use it.
When your agency reviewed the site before delivery, they were probably on a MacBook M3, connected to 1 Gbps office fiber, with the browser cache already warmed from previous visits. Your customers are on a mid-range Android phone, on 4G in traffic, on hardware that is two or three years old. The gap between those two environments is not small.
Mobile CPUs have roughly three to five times less processing power than a modern laptop chip. A JavaScript task that takes 30 milliseconds on the agency's computer takes 100 to 150 milliseconds on your customer's phone. And 4G in practice, factoring in latency and real-world signal variation, behaves very differently from the speed test numbers you see quoted.
The same site that scores 95 in PageSpeed's desktop tab can score 38 on mobile. This is not an edge case. It happens on sites that look polished and professional, and it happens most often on sites built with popular page builders and pre-packaged themes, because those tools are designed to look good in demos, not to load fast on mid-range phones.
The site was slow from the day it launched. You just didn't have a number for it until now.
Cause 1: Images that were never prepared for mobile
This is the most common cause, and the most fixable.
The median mobile homepage in 2025 transfers about 2.56 MB of data, of which roughly 900 KB is images. That number is high because most agencies deliver images exactly as they come out of the design tool: full-resolution JPEGs or PNGs, sized for a desktop screen, sent to every device including phones.
The format issue compounds it. WebP, the most widely supported modern image format, produces files about 10x smaller than JPEG at 80% of the visual quality. It has over 94% browser support in 2026. The compatibility argument for staying on JPEG is no longer valid. And yet most agencies never made the switch.
The size difference is concrete. A single 1920×1080 photo:
| Format | File size | Browser support | Used by most agencies |
|---|---|---|---|
| JPEG | ~450 KB | 100% | Yes (default) |
| WebP | ~45 KB | ~94% | Rarely |
On a page with 20 images, switching from JPEG to WebP cuts roughly 8 MB of data. On a 4G connection, that is several extra seconds of load time your visitors are waiting through while your competitors' pages are already showing results.
There is a second problem with images that goes beyond format. When images are added to a page without explicit width and height attributes, the browser does not know how much space to reserve for them while they load. The page layout shifts as images pop in. That causes CLS failures, a separate Core Web Vitals issue on top of the speed problem.
Cause 2: JavaScript that weighs as much as an entire site
Every website loads JavaScript. The question is how much, and whether any of it was actually necessary.
The simplest way to picture it: imagine hiring a plumber who brings the entire van's worth of tools into your apartment for a job that needs a single wrench. Your visitor's phone has to carry all of those tools before they can see your page. Most of the tools never get used. The weight is still there.
This happens in two common scenarios. The first is sites built on platforms like Webflow, where every interaction, slider, and animation adds to a JavaScript bundle that ships to every visitor on every page. The second is sites where an AI tool or a junior developer wrote the code. AI-generated code tends to import entire libraries when a single function would do. A single careless import from a popular animation library can add 400 to 600 KB of JavaScript to every page load. The developer used 10% of the library. Your visitor downloads all of it.
Both scenarios produce the same result: a phone that is working hard downloading code before it can show the person anything.
Cause 3: Beautiful animations, frozen phones
Animation libraries are a separate problem from general JavaScript bloat, and they deserve their own explanation because they are so common and so invisible.
The pattern is this: an agency installs an animation library in the global template of the site. It runs on every page. A clinic site with one counter animation on the homepage ships the full animation library to the contact page, the services page, and the team page, none of which have any animations at all. Every visitor to every page pays the download cost of code that does nothing on the page they are viewing.
GSAP, a popular animation library, does not support selective loading. Using any part of it imports all of it. With the ScrollTrigger plugin added, the bundle regularly exceeds 400 KB. Webflow made GSAP free to use in 2024, which caused a wave of agencies including it by default on sites that did not need it. The visitor's phone downloads it anyway.
Lottie animations are similar. The animation files themselves can be lightweight, but agencies frequently upload unoptimized versions that run 1 to 5 MB. The Lottie player library adds another 60 to 300 KB on top of that.
| Library | Used for | What your visitor downloads |
|---|---|---|
| GSAP + ScrollTrigger | One scroll animation | 400-500 KB on every page |
| Lottie | One loading icon | 60-300 KB player + up to 5 MB animation file |
| AOS | One fade-in | 17 KB on every page, even pages with no animation |
A well-built site loads animation code only on the pages and elements that actually use it. Most sites do not do this, because it requires deliberate decisions at the development stage that never get made.
Cause 4: The 3-second white screen nobody told you about
This is the most invisible problem and often the most damaging on mobile.
Some sites, particularly those built with modern JavaScript frameworks configured carelessly or generated by AI tools, send your visitor's browser an almost empty page when they first arrive. No content, no image, no headline. Just a loading script. The browser then downloads that script, parses it, executes it, makes additional calls to fetch the actual content, and then builds the page from scratch. On a mid-range Android phone on 4G, that process takes 2 to 4 seconds. Your visitor sees a white screen the entire time.
A properly built site works differently. The server sends a finished page: headline, image, navigation, readable content. The visitor sees something real within the first second. JavaScript loads in the background and adds interactivity, but the person is already reading. There is no white screen.
That 53% abandonment figure applies here directly. If the page takes more than 3 seconds to show anything at all, more than half your mobile visitors are already gone. Not because the connection was bad. Because the site was built in a way that makes the phone do work the server should have done.
| Approach | What the visitor sees at second 1 | What happens next |
|---|---|---|
| Well-built site | Full page content | JavaScript loads quietly in background |
| Poorly configured modern site | White screen | Browser downloads, parses, and executes JS before anything shows |
Most drag-and-drop builder sites and AI-generated sites default to the second approach. It looks instant on fiber in a demo. On 4G, it does not.
If you want a site built correctly from day one, no technical mistakes and no surprises, we're happy to talk. The consultation is free, no commitment. Reach us at office@uvio.ro or on Telegram at @uviodigital.
Frequently Asked Questions
How fast should a website load on mobile? The benchmark is Google's Core Web Vitals threshold for LCP: the main content should appear within 2.5 seconds. Under that, you pass. Over 4 seconds, you fail and it affects your ranking. Aim for under 2 seconds to give yourself margin.
Can I fix my site's mobile speed without rebuilding it? Sometimes. Images and certain JavaScript issues can be addressed without touching the site's structure. If the underlying cause is a platform like Webflow with heavy defaults, or a site built around client-side rendering, a patch will not get you far. A proper diagnosis will tell you which camp you are in before you spend money.
Does my site's mobile speed affect my Google Ads score? Yes, directly. Landing Page Experience is one of three components that make up Quality Score. A slow mobile page lowers that score, which raises your cost per click. You can be losing money on ads not because the targeting is wrong, but because the page loads slowly after the click.
How much does it cost to fix a slow mobile site? It depends on the cause. Compressing images and switching to WebP can cut page weight by up to 10x and is usually quick and inexpensive. Fixing a site built on an architecture that was never designed for mobile performance often means rebuilding the relevant parts. The cost of not fixing it compounds every month through wasted ad spend and lost conversions.
How do I find out what's causing the slowness? Start with PageSpeed Insights. Run your homepage and your main landing pages. The tool shows your score, flags the specific issues, and prioritizes them by impact. For a detailed read on what those results mean for your specific site, that is a conversation worth having with someone who can interpret the report.
If your mobile score is under 50, the problem is in how the site was built. That can be changed.