Mobile Performance Is a Revenue Problem, Not a Technical One

Slow mobile sites do not feel like a business problem. They feel like a technical problem for the developers to solve, eventually, when there is capacity.
That framing costs money. Quietly and consistently, for as long as the site stays slow.
How mobile speed converts to lost revenue
Every site has a mobile-to-desktop conversion ratio. If desktop converts at 4 percent and mobile at 1.5 percent, that is your baseline. The question is whether the ratio is explained by the audience (mobile shoppers really are earlier-funnel on some sites) or by the experience (your mobile site is just harder to use).
A quick test:
- Pull the last 90 days of traffic by device.
- Find a page where desktop and mobile should convert at similar rates: a pricing page, a booking page, a contact page.
- If mobile converts at less than 60 percent of desktop on a page with identical intent, the gap is almost entirely UX-driven.
Multiply the gap by your mobile traffic and your average deal size or order value. That is your annualized cost of the slowness.
For a typical local service business with $400k annual revenue from their site, a 30 percent mobile conversion gap costs roughly $40k to $70k per year. That math rarely makes it into the "should we fix site speed" conversation. It should.
The three things that cause it
We have audited hundreds of mobile sites. Roughly 90 percent of the slowness comes from three places.
1. Oversized images
Hero images exported at desktop resolution (1920px or higher) and served to phones as is. A 1.5 MB hero on a 4G connection adds 2 to 3 seconds of blank screen before the user sees anything.
The fix is mechanical. Modern formats (WebP or AVIF), correct dimensions via srcset, loading="lazy" on below-the-fold images. This alone usually cuts Largest Contentful Paint in half.
2. JavaScript that ships everything, everywhere
Every page loading every page's code. This is the default behavior of most React, Vue, or Svelte sites until someone explicitly configures route-level code splitting. A user visits your blog and downloads the code for your checkout flow.
The fix is also mechanical. React.lazy or its equivalent, per route. One evening of work. The impact on mobile is significant, because mobile CPUs parse JavaScript roughly four times slower than desktops.
3. Render-blocking effects on mobile
backdrop-filter: blur(20px) looks beautiful on desktop. On a mid-tier Android phone, it forces the GPU to re-composite the entire viewport at every scroll tick. You can watch frame rate drop to 15fps in real time.
The fix: conditional CSS that disables expensive GPU effects under a mobile breakpoint. One media query.
What "fast enough" actually means
Targets that map to revenue, not Lighthouse scores:
- Largest Contentful Paint: under 2.5 seconds on simulated 4G.
- Time to Interactive: under 3.5 seconds.
- Input delay after tap: under 100ms.
If you hit those, users do not notice the site at all. Which is the goal. They should notice the business, not the website.
Order of operations
If you are starting from a slow mobile site and can only do a few things:
- Compress and re-export the hero images. Usually the biggest single win.
- Add route-level code splitting. Measurable improvement with almost no downside.
- Audit expensive CSS effects on mobile. Disable what is not load-bearing.
- Move heavy third-party scripts (chat widgets, analytics) to load after interaction rather than on mount.
Steps 1 through 3 together can take a site from a mobile Lighthouse performance score of 40 to 85 or higher in a week of focused work.
If you want to see how your site is actually doing, run a free audit. It runs against Google's PageSpeed API and takes about 30 seconds. The basic report is not gated behind a form.