For any Shopify brand running subscriptions through Recharge, Bold, Skio, or Loop, the mobile experience of the subscription itself is often the weakest part of the buyer journey. The default integration renders the customer portal in a webview — a Recharge-styled page embedded inside the app. It works. It also costs you measurable retention because every subscription action — pause, swap, change frequency, update payment — feels like leaving your app and entering a different one.
The three flows that punish the webview pattern hardest are pause, swap, and upgrade. They are the moments where a subscriber is making a decision that affects their relationship with the brand. Friction in those moments either prevents the right decision (the buyer pauses instead of swapping to a better SKU, because pause is the only option they can find) or kills the decision entirely (the buyer cancels because changing seems harder than starting over).
Pause: where most brands lose subscribers they could keep
A subscriber wants to pause for many reasons — a vacation, a budget month, an unrelated stockpile, a temporary loss of interest. The pause flow should be one of the easiest interactions in the app, because the alternative is cancellation. A friction-heavy pause flow makes cancellation feel like the path of least resistance.
In native rendering, the pause flow is two taps: "pause" button, "for how long" picker, done. In webview rendering, the same flow involves a redirect to the customer portal, a login confirmation, a multi-screen wizard, and a "are you sure" gate. The drop-off across those screens is meaningful. The brand that loses the buyer at "are you sure" never sees them again.
The pause completion rate in native flows runs around 85–95% of pause-button-taps. In webview flows, it runs 50–65%. The other 35–45% either cancel (losing the subscription entirely) or close the screen and quietly stop opening the app.
Swap: turn a cancellation moment into an upsell
Swap is the flow where a subscriber wants a different product instead of canceling. They tried the medium roast for three months and want to try the dark roast. They want to swap their moisturizer for the night cream. They are still committed to the brand; they just want a different SKU.
Swap conversion in webview is brutally low — many buyers do not even find the swap option. It is hidden behind "change subscription," three taps deep, with a UI that does not surface alternative SKUs prominently. Native rendering exposes swap as a peer of pause and cancel, with a thumbnail grid of alternative products and one-tap commit.
The brands that build a native swap flow see 15–25% of cancellation attempts convert to swaps instead. Those swap subscribers retain at near-baseline rates. The cancellation flow that would have lost them turns into continued LTV.
Upgrade: more product, same subscription
The third flow is upgrade — adding a complementary product or stepping up to a bundle. A subscriber on a single-product subscription is often a candidate for adding a second product, especially after they have been on the subscription for two or three cycles and are committed.
Native upgrade flows can surface this contextually: "you have been on the moisturizer for 90 days; add the matching night cream for $5 off." The webview version of this prompt either does not exist or lives on a generic upsell screen the buyer never visits. The native version lands in the right place at the right time.
Upgrade attach rate in native flows runs 18–30% on well-designed prompts. In webview-only setups, it is closer to 8–12%. The 10-point difference compounds into meaningful LTV over a year of subscribers.
“Subscription churn is mostly friction. The buyer who cannot swap easily cancels. The buyer who cannot pause easily cancels harder.”— Subscription product lead we know
The technical cost is smaller than you think
The argument for keeping these flows in webview is usually time and complexity — the subscription platform owns the data model, so why duplicate the UI? The answer is that all three of Recharge, Bold, and Skio have public APIs for the operations that matter (pause, swap, modify, upgrade), and a native UI can call those APIs directly without duplicating logic.
For an Appolar customer, the three flows are first-class platform features; they ship with the app and connect to the underlying subscription platform via the public API. For brands on other platforms, the build is a one-time investment that pays back over the life of every subscriber. Two to three weeks of engineering for a permanently better LTV curve is a trade most brands should be willing to make.
What can still live in webview
Some subscription operations are fine in webview because they are rare and not retention-critical. Updating a credit card. Changing the shipping address. Viewing the order history of past subscription shipments. These actions happen infrequently and the buyer who needs them is committed enough to navigate a webview without quitting.
The rule is simple: actions that affect whether the subscription continues — pause, swap, upgrade, cancel — render natively. Actions that do not affect continuation can live in webview without much cost. Optimize where the LTV is at stake.