Expect a gap, then measure how wide yours is
Phones carry a different kind of visit. People browse on a phone at a bus stop, on a sofa, between other tasks, and a share of them come back later on a laptop to buy. Some of your desktop conversions started as a mobile session, so a portion of the gap is bookkeeping rather than a real problem.
What matters is the size of the gap and whether it is growing. Pull twelve months of conversion rate split by device. If mobile and desktop move together and mobile sits a predictable distance below, you have a normal store. If mobile fell while desktop held, something changed on phones, and you can usually date it to a theme update, an app install or a new tracking script.
Then split by traffic source as well. Paid social is almost entirely mobile and skews toward browsing, so a store that shifted budget into social will see mobile conversion fall for reasons that have nothing to do with the site.
Once you have the gap by device and source, you know whether to fix the phone experience or the traffic feeding it. Do that before you change a single template.
Speed is the first suspect and the easiest to prove
Test on a real phone on mobile data, not on a desktop browser resized. A store that feels quick on office broadband can take many seconds to become usable on a mid range phone in a car park, and that is where most of your visitors are.
The usual causes are the same in almost every store. Uncompressed hero images loading at desktop dimensions. A stack of apps each injecting its own script, most of them from features nobody uses any more. Multiple analytics and pixel tags firing before the page renders. Sliders and video backgrounds on the product page. A chat widget that loads on first paint instead of on interaction.
Start by auditing installed apps and removing what is not earning its place. Every app you uninstall should also have its leftover theme code removed, because uninstalling often leaves the snippet behind.
Then fix images. Correct dimensions, modern formats, lazy loading for everything below the fold, and a real width attribute so the layout does not jump. Layout that moves while someone is reaching for a button is a direct cause of lost taps and lost carts.
On a phone, anything below the third screen may as well not exist
Desktop layouts put the price, the variant picker, the delivery promise and the returns line in the same view as the product photo. On a phone those elements stack vertically, and the buying information often lands two or three swipes down, after a full width hero image, a brand paragraph and a row of badges.
Open your own product page on a phone and stop scrolling after the first screen. If you cannot see the price, the variant options, the delivery window and the add-to-cart button, you have found part of your gap.
Fix the stacking order rather than the design. Image, name, price, variant, delivery and returns line, add-to-cart. Then the story, the specification and the reviews. A sticky add-to-cart bar helps once someone has scrolled into the detail.
Check tap targets while you are there. Variant swatches that are too small, a quantity stepper next to the add button, and links crowded together all produce mistaps. Watch a session recording of ten mobile visits and count how often someone taps twice in the same place. That number is usually higher than anyone expects.
The checkout is where a normal gap becomes a bad one
Typing an address on a phone is slow and error prone, so every field you can remove is worth more on mobile than on desktop. Look at the checkout on your own phone and count the taps from cart to paid.
Offer guest checkout. Forcing account creation before payment costs orders everywhere and costs more on a phone, because it adds a password field and often an email verification step.
Turn on address autocomplete so a postcode fills the rest. Set the correct input types so the numeric keypad appears for card and postal fields instead of the full keyboard. Make sure the form does not lose entered data when someone switches to their banking app and comes back.
Add wallet payments. Apple Pay, Google Pay and the shop level accelerated checkouts remove the address and card entry entirely for a returning phone user, which is the single largest checkout improvement available to most stores. Put those buttons on the product page and the cart, not only on the final step.
Finally, show shipping cost and delivery date before the cart. Surprise cost at the last step is the most common reason a cart is abandoned, and on a phone people do not come back to check.
Check that the number is real before you rebuild anything
Some mobile conversion gaps are partly a measurement artefact, and it is worth ruling that out early. In app browsers inside social apps, tracking prevention on mobile browsers, and consent banners that block analytics until accepted all under record mobile sessions and orders in different ways.
Compare your analytics figures against the store platform's own order records for the same period, split by device where you can. If the platform shows more mobile orders than analytics attributes, part of the gap is reporting.
Then check the consent banner itself. On a phone it often covers most of the screen, and a badly configured one can sit over the add-to-cart button or reappear on every page. That is both a measurement problem and a conversion problem.
Also look at in app traffic separately. Someone tapping an ad inside a social app lands in a stripped down browser where wallet payments and saved passwords may not be available. If that is most of your paid traffic, the fix is in how the checkout behaves there, not in the theme.
Once the numbers are trustworthy, fix in the order above and remeasure by device each month.
Worked example, not a result
Same store, one month, split by device
- Mobile sessions
- 30,000
- Desktop sessions
- 10,000
- Mobile conversion rate
- 0.9%
- Desktop conversion rate
- 2.7%
- Mobile cart to checkout
- 38%
- Desktop cart to checkout
- 62%
- Median mobile load on 4G
- 6.2 seconds
Worked example, not a result