A founder pinged me last Tuesday at 11:47pm. “Mobile is 79% of my traffic and 41% of my revenue. Why?” I pulled his GA4. Same gap I see on every audit.
TL;DR: Mobile sends 79% of Shopify traffic but converts at roughly 1.0% versus 2.7% on desktop. That gap is mostly fixable in a week. Ship sticky add-to-cart, Shop Pay on the PDP, one-page checkout, and an above-the-fold cleanup. Then chase Lighthouse 80+. Across 100+ audits, those four moves alone close 20-30% of the gap.
Why this matters for your store
- A 30% gap-close on a $50,000/month store adds $5,000 to $8,000 in monthly revenue with zero new ad spend.
- Mobile compounds: every percentage point you recover lifts every paid channel’s ROAS, since 79% of clicks land on phones.
- Google’s Helpful Content updates penalise slow, friction-heavy mobile pages in organic rank, so the same fixes pay you twice.
I run mobile-first audits on every store I touch, including FDB, Mobelglede, HelloSips, and WD Electronics. The pattern below is what shows up.
Why mobile converts 60% less than desktop
Phones aren’t smaller laptops. They are interrupted, one-thumb, low-bandwidth devices held by people in the school pickup line.
Five forces push mobile conversion down:
- Screen real estate. A 6-inch viewport hides price and CTA below the fold by default on Dawn, Impulse, and Refresh out of the box.
- Typing tax. Every form field on mobile costs roughly 3 seconds of friction. Promo codes are the worst offender.
- Third-party script bloat. A typical Shopify store loads 14 to 22 third-party scripts. On 4G, each one is a tax on Largest Contentful Paint.
- Pop-up walls. A Klaviyo email capture firing 3 seconds in covers the entire viewport.
- Thumb misalignment. Buttons sized below 48x48px and stacked under 8px apart create misclicks that punt users back two screens.
Most “responsive” themes solve point one and ignore the other four. That is where the 60% gap lives.
How do I run mobile CRO testing on a Shopify store?
Mobile CRO testing means measuring real mobile sessions and validating fixes against them, not against responsive-mode in DevTools. Three tools cover 90 percent of the work without a paid Optimizely-style platform.
Microsoft Clarity (free) is the fastest install. Drop the snippet in theme.liquid above </head>, wait 7 days, and open the dashboard. Filter sessions to Mobile, sort by rage clicks, watch the top 20 recordings. You will find friction points your team missed in QA: tap targets that miss, popups that fire mid-scroll, sticky bars that cover the price. On Mobelglede.no Clarity recordings showed 21 percent of mobile PDP sessions left before reaching the add-to-cart button, which became the first fix in the sprint.
GA4 device-segment splits show whether the leak is mobile-wide or one specific page. Build a funnel from view_item to add_to_cart to begin_checkout to purchase, segment by Device Category Mobile vs Desktop, compare each step’s drop-off rate. A mobile-to-desktop conversion gap above 50 percent on a single step means that step is mobile-broken, not just narrower.
On-device Lighthouse beats responsive-mode Lighthouse for mobile CRO testing because the mobile profile in DevTools simulates throttled CPU and bandwidth in software, but never the real Apple Pay sheet, the real iOS Safari address bar offset, the real Android keyboard pop-up. Run Lighthouse mobile on a real iPhone via the Web Vitals extension plus a USB connection. CrUX field data in Search Console is the lagging confirmation; install the extension on a phone you actually carry to catch issues live.
The cadence I run on every Shopify mobile CRO testing engagement: Clarity recordings weekly, GA4 funnel monthly, Lighthouse mobile on every release, CrUX in Search Console quarterly.
Fix 1: Ship a sticky add-to-cart bar
Persistent bottom-bar ATC is the single highest-impact change I deploy. Shipped on five Shopify stores in the last quarter, it lifts add-to-cart rate 8% to 12%. Full implementation is in my sticky add-to-cart guide for mobile.
The reason it works is mechanical. On a Dawn or Impulse PDP, the primary ATC sits roughly 800px down on mobile, just under the gallery. Once a customer scrolls to read the description or tap a review, the buy action vanishes. The sticky bar keeps it pinned. No scroll-back, no thinking, just tap.
Drop this into sections/main-product.liquid:
<div class="sticky-atc-bar" id="stickyATC" hidden>
<span class="sticky-atc-bar__price">
{{ product.selected_or_first_available_variant.price | money }}
</span>
<button type="button" class="sticky-atc-bar__button" data-add-to-cart>
Add to Cart
</button>
</div>
Trigger it with an IntersectionObserver watching the primary ATC button. Show the bar only after the original scrolls out. Hide it when the cart drawer opens to avoid a double CTA.
Fix 2: Turn on every accelerated checkout
Shop Pay converts 1.72x higher than guest checkout (Shopify’s published 2023 data). Apple Pay is native on every iPhone, which is roughly 57% of US mobile traffic. Google Pay covers Android.
Three settings to flip today:
- Settings, Payments, Accelerated checkouts: enable Shop Pay, Apple Pay, Google Pay, PayPal.
- Theme settings, Product page: turn on dynamic checkout buttons. Most stores have these on the cart only, which is the wrong place.
- Settings, Checkout, Layout: switch to one-page checkout. Multi-step is a 2019 default that adds two page loads on mobile.
For the full checkout teardown, see my Shopify checkout optimization guide.
Fix 3: Earn the first 700px
Mobile above the fold is roughly 600 to 700px on a Pixel 7 or iPhone 15. If price and CTA are not in that window, you are paying for traffic that bounces.
Force this stack into the first viewport:
- Hero product image, served at 600 to 800px wide via
image_url: width: 800. - Product title, capped at two lines.
- Price, with compare-at price if on sale.
- Star rating plus review count, using your Yotpo or Judge.me snippet.
- Add-to-cart button, full width.
Move long descriptions behind a “Read more” toggle. Push trust badges and cross-sells below. On Mobelglede.no in March 2026, moving the description below the ATC and tightening the title to two lines lifted PDP conversion from 1.1% to 1.4% over 14 days.
Fix 4: Hit Lighthouse 80+ on mobile
Deloitte’s 37-brand study found a 0.1-second mobile speed gain lifted conversion 8.4%. The three killers on Shopify, in order:
Images. Every <img> below the fold gets loading="lazy". Every hero gets explicit width via image_url. Never upload above 2000px. Shopify’s CDN cannot save you from a 4MB hero.
App scripts. Open your storefront in incognito, DevTools, Network, filter JS. Count the third-party domains. On the average store I audit, 6 of the 14 are dormant. Uninstall, do not just disable. Disabled apps still inject.
Render-blocking CSS. Inline critical above-fold styles in <head>. Defer the rest. Use Chrome DevTools Coverage tab to find the 60% of theme CSS you never use.
Targets: Performance 80+, LCP under 2.5s, CLS under 0.1, INP under 200ms. Verify with the Shopify CrUX Grader on real-user field data, not just a lab Lighthouse run; the lab number can flatter you while CrUX still flags red.
Fix 5: Fix the collection page grid
Collection pages are where browsers become buyers. Most themes default to one column on mobile, which makes a 30-product collection feel infinite.
- 2-column grid on mobile, never 1, never 3.
- Card content: image, title, price, rating. Nothing else.
- Quick-add for single-variant products.
- Sticky filter and sort bar at the top.
- Infinite scroll or “Load more” instead of pagination.
Fix 6: Make trust signals mobile-shaped
A desktop trust bar with five icons and three lines of copy is noise on a phone.
- Three-icon strip below the ATC: free shipping, easy returns, secure checkout. Two-word labels.
- Review summary near the title: “4.8 stars, 247 reviews”. One line.
- Payment icons by the checkout buttons, not in a separate strip.
- Delivery estimate on the PDP: “Delivers by [date]”. This is the single most underused trust line on Shopify.
Fix 7: Cut the small frictions that compound
Most CRO advice gets this part wrong because it focuses on the homepage hero. The leak is in the inputs.
- Pop-ups. Delay email capture to 30 seconds or exit-intent on mobile. Anything earlier and Google flags it as an intrusive interstitial. See my breakdown of how Shopify pop-ups kill conversions.
- Form inputs. Use
type="email",type="tel", andinputmode="numeric"on the right fields. The wrong keyboard on a checkout field doubles the time to type. - Promo codes. Auto-apply via URL parameters. Typing “SUMMER15” on a thumb keyboard is a refund magnet.
- Navigation. Two levels max. Deeper menus on mobile are graveyards.
Fix 8: Watch the right metrics weekly
Track three numbers in GA4 every Monday:
- Mobile conversion rate.
- Mobile add-to-cart rate.
- Mobile checkout completion rate.
Build a Desktop vs Mobile comparison segment. Watch the gap, not the absolute. Mobile will always trail desktop slightly, since intent is lower. The goal is a gap under 50%, not parity.
Fix 9: Run the 4-week ship plan
This is the order I follow on every audit. Each week is one focused day of work.
- Week 1: Accelerated payments on, one-page checkout on, sticky ATC live, pop-ups delayed.
- Week 2: Above-the-fold cleanup on top 5 PDPs, mobile trust strip, image compression.
- Week 3: Uninstall dormant apps, fix top 5 PageSpeed flags, lazy-load below-fold images.
- Week 4: Two-column collection grid, quick-add, sticky filter bar.
For the wider audit framework, use my Shopify CRO audit checklist. To rank these against your other leaks by dollar impact, see conversion leaks ranked by dollar impact.
A note on attribution: these fixes overlap. If you ship sticky ATC, Shop Pay on the PDP, and a faster hero in the same week, do not split-test each one. Ship the bundle, baseline the gap, then iterate on the next batch.
How to verify in 5 minutes
- Open your top product page on a real phone, not DevTools. Time how long until price and CTA are visible. Anything over 2 seconds is a fail.
- Run PageSpeed Insights on the same URL with the Mobile tab. Read LCP and CLS. If LCP is over 2.5s, image compression is your next ship.
- Open GA4, Reports, Tech, Device category. Note your mobile-to-desktop conversion ratio. Below 0.4 means you have at least three of the nine fixes still open.
The takeaway
- Ship sticky add-to-cart this week. It is the highest-impact mobile change on Shopify.
- Turn on Shop Pay, Apple Pay, Google Pay, and dynamic checkout buttons on the PDP today.
- Earn the first 700px: image, title, price, rating, ATC. Push everything else down.
- Audit your apps. Uninstall the dormant ones. Aim for Lighthouse 80+ on mobile.
- Track the desktop-to-mobile gap weekly. Below 50% means you have work left.
Need a mobile CRO audit on your store? Book a free strategy call and I will pull your top three highest-dollar fixes.