My Morrisons
Grocery loyalty app where campaign and rewards screens change with each promotion.
- Google Play installs
- 2.8M
- Store rating
- 3.1
When a sale banner, promo code field, or checkout step needs a web-layer fix, upload it with the Capgo CLI. Test it on a staging channel, send it to a share of shoppers, and roll it back if checkout looks wrong.
14-day unlimited free trial. No credit card required
Enterprise needs? Talk to our team
Why retail teams add a live update lane
A sale starts and the promo code field fails on one platform. The fix is a few lines of JavaScript.
With a store-only process, you build a new binary and submit it. Store review is often 24–48 hours, sometimes much longer.
Even after approval, shoppers still have to install the new version. The campaign may be over before most of them do.
Promotions, product drops, and seasonal sales start at a set time. A web-layer fix should not depend on a review queue.
A change to the cart or checkout should reach a small share of shoppers first, with a fast way back.
Shoppers update at different times. A bundle that needs new native code must not reach older binaries.
Marketing and QA want to see the campaign screens on a phone before they go live.
What Capgo gives retail teams
Stage campaign UI, ship it to a share of shoppers, and keep a one-step way back. Native changes still go through the stores.
Upload the fixed JavaScript, HTML, or CSS. Devices on the channel download it in the background and run it the next time the app comes back to the foreground.
Update behavior docsSend a new checkout or product page bundle to a share of devices while everyone else stays on the stable bundle. This is a release control, not an A/B test: compare conversion in your own analytics.
Progressive rollouts docsIf a release breaks the cart, roll the rollout back or pick the previous bundle from the channel history. A bundle that fails to start rolls back on the device by itself.
Rollbacks docsUpload the campaign bundle to a staging channel and open it on a real device with a QR code. Promote it when the team signs off.
Channels docs# upload the campaign bundle to staging, print a QR code
npx @capgo/cli@latest bundle upload --channel staging --qr-preview
# after sign-off, ship the same code to production
npx @capgo/cli@latest bundle upload --channel production --rollout 10
get-qr command
How it works
A typical flow for a promo or checkout change in a Capacitor shopping app. Every command below is from the Capgo CLI docs.
Upload the campaign bundle to staging and scan the QR code to open it on a real device. Bundle preview must be enabled for the app.
npx @capgo/cli@latest bundle upload --channel staging --qr-preview
Channels docs
Upload to production with --rollout. Most shoppers stay on the stable bundle until you promote.
npx @capgo/cli@latest bundle upload --channel production --delta --rollout 10
Progressive rollouts docs
Check install and failure data in Capgo and your own sales dashboards, then promote the bundle to every device on the channel.
npx @capgo/cli@latest channel set production --rollout-promote
Observe docs
Send the rollout cohort back to stable in one command, or pick an earlier bundle from the channel history.
npx @capgo/cli@latest channel set production --rollout-rollback
Rollbacks docs
Apps built with Capacitor
Grocery and loyalty apps can change promotions, rewards entry points, onboarding, and checkout messaging faster than a binary release cycle allows.
Grocery loyalty app where campaign and rewards screens change with each promotion.
Retail shopping app where offer content and browse paths change continuously.
Grocery app where checkout, list, and loyalty polish can move independently.
Customer proof
Founder, NuTriQ
“Being able to push production OTA updates instantly without waiting for full App Store review cycles has been a massive operational advantage.”
Lead Developer, drivolino GmbH
“The Capgo Capacitor Updater plugin completely transformed how we ship updates. What used to take days now takes just minutes.”
Developer, Webincode
“Being able to add Device ID's to certain groups and push the changes to only certain groups is a life saver.”
FAQ
What a live update can change in a shopping app, and how to keep checkout safe.
Prices usually come from your backend, so change them there. A live update changes the web code and assets that display them: promo banners, product pages, cart and checkout screens. Changes to native payment SDKs or plugins need a store release.
Native compatibility docsNo. A progressive rollout sends a bundle to a random, sticky share of devices to limit risk. It does not measure conversion. For experiments, use your analytics or feature flag tool. Use channels when specific users need a different bundle.
Progressive rollouts docsUpload the bundle to a staging channel and open it on a device with a QR code, or pin test devices to that channel with a device override. Promote the same bundle to production when it is approved.
Channels docsIf the new bundle fails to start and never calls notifyAppReady(), the device rolls back by itself. If it starts but checkout misbehaves, roll back the progressive rollout or pick the previous bundle from the channel history.
Rollbacks docsBy default, devices download it in the background and run it the next time the app comes back to the foreground. If shoppers must see it on the first screen, use a direct update mode such as onLaunch.
Update behavior docsSet up a staging channel and a progressive rollout on your own app during the trial.
human support from Martin
14-day unlimited free trial. No credit card required
Enterprise needs? Talk to our team