urltoapp.dev
Learn

Which links stay inside your app — and which shouldn't

An app that opens Instagram inside itself, or a phone number as a broken page, feels broken. Link scope is the setting that decides it.

Updated Oct 20262 min readurltoapp.dev

Short answer

A good rule: pages on your own domain (and your login and payment domains) load inside the app; everything else opens outside — social links in their apps, maps in Google Maps, other websites in the browser. Non-web links such as tel:, mailto:, sms:, whatsapp: and intent:// must always be handed to Android, never loaded in the WebView.

LinkWhere it should openExample
Your siteInside the apphttps://example.com/cart
Partner domains you rely onInside the appYour payment page, help desk, login provider
Other websitesBrowser or their appYouTube, Instagram, news links
App schemesThe app that owns themtel:, mailto:, whatsapp://, geo:
intent:// linksParsed by AndroidStore buttons, “open in app” links

Why “keep everything inside” is a mistake

  • Social sites in a WebView ask users to log in again and often block it.
  • Users lose their way: back button behaviour gets confusing several sites deep.
  • Google Play's policy frowns on apps that act as browsers for other people's content.

Why “send everything outside” is also a mistake

Checkout and login often hop to another domain — checkout.stripe.com, accounts.example-auth.com, PayPal. If those open in the browser, the user finishes there and the app never learns the order or session happened. Add these domains to the in-app list, then test the full flow.

WhatsApp, phone and email buttons

Links like https://wa.me/15551234567 are web links that WhatsApp claims; the app should hand them to Android so WhatsApp opens. tel: and mailto: must never be loaded as pages — a WebView shows “ERR_UNKNOWN_URL_SCHEME” if the app doesn't intercept them.

target="_blank" and pop-ups

Links with target="_blank" and window.open() ask the WebView for a new window. If the app doesn't support multiple windows they may do nothing at all. Decide per case: payment and OAuth pop-ups should open in a new in-app window; other new-window links can go to the browser.

Test it before you build

Paste your start URL and a list of links from your site into the link scope tester. It labels each one inside, outside or system, and flags the domains you probably forgot.

FAQ

Why do I get ERR_UNKNOWN_URL_SCHEME?

The WebView tried to load a non-web link such as tel:, intent: or whatsapp:. The app must hand those to Android instead.

Can YouTube videos play inside the app?

Embedded YouTube players on your own pages play inside. Links to youtube.com should open the YouTube app.

How do I make a link always open in the browser?

Point it at a domain that isn't in the app's scope, or let the app open any target="_blank" link externally if your converter supports that rule.

Read next