When we were designing the checkout flow for Leav, we spent a long time debating whether to build a native app. The honest answer we kept arriving at was: an app would be easier for us to build and harder for shoppers to adopt. That tension forced us to commit to a browser-based approach, and the conversion numbers since then have confirmed the choice.
App-based self-checkout has been around since at least 2018, when a handful of grocery pilots launched iOS and Android companions to their register systems. The adoption ceiling those pilots hit is instructive. Understanding why requires looking at exactly where shoppers drop out, not just that they drop out.
The install funnel is a silent conversion killer
When a shopper encounters an app-based self-checkout system for the first time, the flow looks roughly like this: scan QR code at the store entrance, get redirected to the App Store or Google Play, read the permission list, decide whether to install, wait for the download, open the app, create an account or sign in, grant camera access, and then finally start scanning. That is a 7-to-9 step process before a single product gets scanned.
Industry data on mobile app install conversion is well documented. App store conversion rates from a landing page hover around 26-30% for high-intent contexts, according to Appsflyer and Adjust benchmark reports. Even assuming someone already scanned the in-store QR code, you have lost roughly 70% of potential participants before they enter the checkout flow at all. The store owner never sees those people as a lost conversion because they just walk to the counter instead. The abandonment is invisible.
The no-app path is different. Scan the QR code, the camera opens natively in the phone browser, start scanning items. The entire entry sequence takes under 10 seconds. There is no install gate, no app store review waiting period that could delay the whole rollout, and no version management problem on the retailer's end.
What the friction looks like per shopper type
Not all shoppers hit the install barrier equally. Regular weekly shoppers at a neighborhood grocer might install an app the first time and then use it on subsequent visits, which is the model traditional loyalty-app programs rely on. But a significant portion of any physical retail customer base consists of people who visit infrequently: once a month, or because they happened to be in the area. For that shopper, the install-and-create-account flow is never worth it. They read the permission list and decide a $12 purchase is not worth the setup.
This matters especially for convenience retail, specialty stores, and destination shopping. A wine shop in Montreal's Old Port might have 60% of its Saturday traffic from people who have never been before and may not return for months. An app-based checkout asks them to install software on their device for a single transaction. A browser-based flow just works.
We also see this play out with older demographics. Smartphone ownership is high across age groups, but app installation comfort is not uniform. Shoppers who use their phone primarily for calls, texts, and payment are comfortable with browser flows because they use the browser every day. They may be less willing to navigate an app store and hand over permissions to a store-branded app they have never heard of.
Technical reality of modern Progressive Web App scanning
A legitimate question about browser-based scanning is whether it performs as well as native. The honest answer in 2023 was: it depends. By 2025, the honest answer is: yes, for barcode scanning it does.
Modern browsers on both iOS and Android expose the device camera through the getUserMedia API with sufficient frame rate and resolution to run barcode decoding reliably. Libraries like ZXing and zbar have been adapted for JavaScript environments, and the WebAssembly versions of these decoders are fast enough that a mid-range Android phone from 2021 can decode a standard UPC-A code in under 200 milliseconds on a stable frame. QR code detection is faster still.
The practical limitation is specific: browser-based scanning can be slower than a dedicated native camera session when the barcode is at an awkward angle or under poor lighting. This is real. For a shopper scanning 3 to 15 items in a convenience or specialty store context, it is not a material problem. For a shopper scanning 80 items in a grocery run with a full cart, the cumulative milliseconds start to add up.
This is not an argument that app-based checkout is technically superior for all contexts. It is an argument that for the stores where mobile self-checkout adoption is realistically high, the technical gap is smaller than the install-funnel gap. We are not saying apps are wrong. We are saying that for independent retailers serving mixed traffic profiles, the no-install path captures more of the potential user base than a native app could, even if the native scanning experience is marginally smoother once someone is inside it.
Account creation and return use
One concern we hear from retailers considering the no-app approach is whether repeat shoppers get any continuity. If a customer used the mobile checkout last Tuesday, do they have to start from scratch this Tuesday?
The answer depends on how the session is managed. Leav uses browser-persistent sessions with payment tokenization. A shopper who completes a transaction has their payment method tokenized with the payment processor. On a return visit from the same device, the browser session can pick up that token and the shopper does not need to re-enter card details. They scan items, confirm the total, and tap to pay with the stored method. It is functionally the same as a loyal app user's return experience, without the installation overhead.
For retailers who want to tie repeat visits to loyalty points or purchase history, we surface that through the Shopify customer account linkage. The mobile checkout session can identify a returning Shopify customer through their email or phone, and the transaction posts to their customer record the same way a counter POS transaction would. The store owner sees a clean purchase history per customer regardless of which checkout channel was used.
Implementation considerations
For a retailer considering which path to take, the operational differences are worth noting. An app-based self-checkout system requires a developer account, app store submission, approval cycles, and version maintenance. Whenever the retailer's POS system updates its API, the app may need a corresponding update and resubmission. The rollout timeline for a first launch is typically 4 to 8 weeks once development is complete.
A browser-based system deploys like a web page. Changes propagate immediately. There is no app store approval step. From the retailer's side, the maintenance overhead is substantially lower.
For Leav specifically, a new store can go live in 48 hours after connecting their Shopify account. The QR code they print and post in the store points to the web checkout session. There is nothing to update on the shopper's device when we ship new features, because the shopper hits the current version on every visit.
The install-free path is not just a concession to shoppers who resist apps. It is structurally the right architecture for a checkout product that needs to work for every shopper who walks through the door, not just the ones who arrived prepared.
Try Leav free
Mobile checkout for your Shopify store. 14 days free.
No credit card required. Connect your store and go live in 48 hours.
Start Free Trial