How In-App Browsers Handle Deep Links: Instagram, TikTok, Facebook, Gmail, Telegram and More
Your link opens the app from Safari and dies inside Instagram. The reason is the kind of browser each app uses, and the rules Apple, Google and Chrome put on it. A guide built from platform documentation, app help centers and published research, and how Appy makes sure every tap still lands somewhere useful.
The app decides, not the phone
When someone taps your link in Safari, iOS checks whether an installed app claims it and opens the app. Inside Instagram that check may never happen, because the page isn’t in Safari. It is in Instagram’s own browser, and Instagram’s code sees every navigation first.
That is the whole story in one line: in an in-app browser, the host app decides whether your link may leave. Apple’s own debugging technote, TN3155, says it plainly for browsers that aren’t Safari: it is up to them to enable Universal Links. Everything below is about which kind of browser each app uses and what that means for your link.
A note on sources: this guide is built from Apple, Google, Chrome and app-maker documentation, plus published research. In-app browsers change without notice, so where a finding is old we give its date.
Three kinds of “browser” behind a tap
The app’s own browser
- iOS: a WKWebView the app controls; Android: usually a WebView.
- The app can allow, cancel or rewrite every navigation.
- Universal Links, App Links, schemes and intent:// work only if the app lets them.
- Seen in Instagram, Facebook, Messenger, TikTok and Snapchat (Felix Krause’s iOS survey, August 2022).
The system’s in-app view
- iOS: SFSafariViewController; Android: Chrome Custom Tabs.
- Shows a button to open the page in Safari or the browser.
- Custom Tabs open installed apps by default, per Chrome’s docs.
- Seen in X, Reddit and Telegram on iOS in 2022.
The default browser
- The app hands the link to the system.
- Apple says links opened this way go through the Universal Link check.
- The most predictable case for deep links.
- Seen in WhatsApp, Gmail and Slack on iOS in 2022; Outlook lets users choose.
The iOS rules that apply everywhere
Apple documents when a Universal Link opens your app: a tap on a link to your domain in the browser or in a WKWebView, and any link an app opens through the system. It also documents when it doesn’t. A URL typed or pasted into the address bar never opens the app. A link to the same domain as the page the user is on stays in the browser, so link from your website to a different subdomain if you want the app to open.
Redirects are the trap most marketing links fall into. An Apple engineer confirmed on the developer forums in March 2025 that sending people on with window.location is treated like typing the URL: no app. The fix he gave is a real link the person taps.
WebKit’s open-source code adds two details worth knowing, though they are our reading of the source rather than documented API: the first page an in-app browser loads never triggers a Universal Link, and the host app can cancel any navigation it likes. In other words, the very first link tap from a post may be the one that can’t open your app.
The Android rules
On Android a WebView keeps every tapped link inside itself unless the host app’s code decides otherwise. Google’s docs describe shouldOverrideUrlLoading as the place to launch intents for specific URLs. If the app doesn’t, your App Link, custom scheme or intent:// address simply loads, or fails, inside the WebView.
Chrome Custom Tabs behave better: Chrome’s documentation says they open links in the matching installed app by default. And since Android 12, a normal web link opens an app only if that app is verified for the domain; otherwise it goes to the browser.
Chrome’s intent:// links have their own rules. They need a user gesture, don’t launch from a redirect of a typed URL or from a JavaScript timer, and can only reach activities marked BROWSABLE. Those are Chrome’s rules: an in-app WebView doesn’t inherit them and may ignore intent:// entirely. Developers have reported exactly that for Instagram on Android.
An intent link with a fallback
In Chrome, if the app isn’t installed or doesn’t launch, the user is sent to the fallback URL instead of seeing an error.
Android intent URL
intent://product/42#Intent;scheme=myapp;package=com.example.app;S.browser_fallback_url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.example.app;endApp by app: what is documented
Each entry says what the app maker, the platform or published research states, with its date. Where we found no reliable source, we say so.
Uses its own in-app browser on iOS, with a ⋯ menu to open the page in the default browser and no setting to turn the in-app browser off (Krause, August 2022). Branch and AppsFlyer, both deep link vendors, say Universal Links don’t open the app from organic Instagram links; AppsFlyer says they work in ads that use the app as the destination. On Android, developers report intent:// links aren’t launched.
Meta’s help center says links open inside the app and that ⋯ › Open in browser sends them out, on iPhone, iPad and Android. Meta’s developer blog (2018) explains that for ads the app can check whether your app is installed. AppsFlyer says Facebook suppresses Universal Links for organic content on iOS.
Messenger
Its own in-app browser on iOS with an option to open the default browser (Krause, 2022). Developers have reported custom schemes no longer opening from Messenger’s iOS web view.
TikTok
Its own in-app browser on iOS, and in 2022 no button to leave it (Krause). TikTok’s ad docs say TopView ads support no external deep links at all, while other ad formats accept Universal Links, App Links and custom schemes. Behaviour for organic bio links isn’t documented.
X
Used Apple’s SFSafariViewController on iOS in 2022 (Krause), which shows a Safari button. AppsFlyer says X’s iOS browser blocks opening apps through URI schemes.
Has an in-app browser; a 2022 guide describes an “Open web links in app” setting. LinkedIn’s own help pages don’t mention it, and we found no reliable source on how it treats Universal Links.
Snapchat
Its own in-app browser on iOS with an open-in-browser option (Krause, 2022). Snap’s ad specs say Android intent URIs aren’t allowed in web view or deep link attachments, and that Universal Deep Links work only with the Deep Link attachment.
Gmail
On iOS it opened links in the default browser in 2022 (Krause). On Android, the “Open weblinks in Gmail” setting decides: on keeps links inside Gmail, off sends them to the browser.
Outlook
Microsoft lets users choose between Edge and the system default under Settings › Open Links With, and IT admins can enforce it. Developers have reported deep links opening in the browser when links pass through Edge and Safe Links.
Opened links in Safari on iOS in 2022 (Krause). Because Apple says links an app opens through the system go through the Universal Link check, links from WhatsApp on iOS should reach your app. That is an inference from two sources, not a WhatsApp statement.
Telegram
Telegram’s June 2026 update lets people pick a browser by long-pressing a link and keep per-site lists of what opens inside the Telegram Browser. On iOS the setting lives in Privacy and Security › Open Links in; on Android in Chat Settings › In-App Browser.
Discord and Slack
Discord has an In-App Browser setting, mentioned in its April 2026 patch notes. Slack opened the default browser on iOS in 2022, and enterprise workspaces can require a specific mobile browser.
What you can do about it
Always have a store fallback
Assume the app won’t open in some browsers. The link should then land on the right store for the phone, not on an error or a blank page.
Make the app open on a tap, not a redirect
If you use a landing page, put a real link or button on it that the person taps. Apple says window.location behaves like a typed URL.
Link from a different subdomain
A Universal Link on the same domain as the current page stays in the browser. Host the link on its own subdomain.
Use separate links for ads and organic posts
Ad formats often have their own deep link rules (TikTok TopView, Snapchat attachments, Meta app ads). Separate links keep those rules, and your numbers, apart.
Tell people how to get out
For a high-stakes post, a short “Tap ⋯ › Open in browser” next to the link helps, since several in-app browsers offer it.
Test the way Apple tests
Paste the link into Notes and long-press it. If the app option isn’t there, the problem is your setup, not the in-app browser.
How Appy handles every in-app browser
You can’t control Instagram’s browser. You can control what happens after the tap. On the Pro plan an Appy link tries to open your app first, and if the host app holds it back, it sends the phone to its own store a moment later. Nobody ends up on a blank page or an error, whichever app they tapped in.
appy.to/promo
tapped inside any app
- App installedYour app opens (Pro)
- App not installedApp Store or Google Play
- Huawei phoneAppGallery
- ComputerYour website
A word on privacy
In August 2022, researcher Felix Krause showed that Instagram and Facebook inject JavaScript into pages opened in their iOS in-app browsers, and that TikTok’s browser subscribed to keyboard input and taps. Meta said the script was needed to respect App Tracking Transparency, and TikTok said the code was used for debugging and performance. Apple’s SFSafariViewController doesn’t allow apps to inject code at all.
Read next
- Instagram and TikTok deep links for app installsSetting up and tracking links per channel.
- Universal Link and App Link error codesWhen the problem is your setup and not the browser.
- Deep link generatorBuild a link that tries your app and falls back to the store.
- Universal Link validatorCheck your apple-app-site-association and assetlinks.json.
In-app browser questions
Why does my link open the app from Safari but not from Instagram?
In Safari, iOS checks whether an app claims the link. Inside Instagram the page is in Instagram’s own browser, and Instagram’s code decides whether the link may leave. Apple says it is up to third-party browsers to support Universal Links.
Do Universal Links work in SFSafariViewController?
Apple’s documentation lists Safari, WKWebView and links opened through the system, and doesn’t name SFSafariViewController either way. It does show a button to open the page in Safari.
Why doesn’t my JavaScript redirect open the app?
An Apple engineer confirmed that window.location is treated like typing the URL into the address bar, which never opens an app. Let the person tap a real link instead.
Do intent:// links work in in-app browsers on Android?
In Chrome, yes, with a user gesture, and they can fall back to a URL. A WebView-based in-app browser doesn’t follow Chrome’s rules and may ignore them; developers report this for Instagram.
Is there a way to force Instagram to open Safari?
Not from your side. People can use the ⋯ menu to open the page in their browser. Undocumented tricks like the x-safari-https scheme exist, but Apple advises against relying on undocumented URL schemes.
What does Appy do in an in-app browser?
On Pro, an Appy link tries to open your app first. If the in-app browser holds it back, it sends the phone to its own store a moment later: App Store, Google Play or AppGallery. Nobody is left on a blank page, and you see every tap in your reports.
Continue exploring
Custom Domain Short Links for Apps: A Practical Guide
Why a link on your own domain is worth it, how to choose the hostname, the setup in three steps, and what happens to the links and QR codes you have already shared.
Parameter Forwarding for Deep Links, Universal Links, App Stores, and Web
Learn how to preserve campaign and context parameters across app opens, app-store redirects, Universal Links, and website visits without overwriting destination values.
Deep Linking vs Universal Links: Complete Comparison
Understand the key differences between deep links and universal links, when to use each, and how to implement them effectively.
Looking for something else? Browse all topics on the blog.
Turn lost taps into installs
One Appy link for every channel: it tries your app and falls back to the App Store, Google Play or AppGallery, whichever app people tap it in. Build yours in a minute.