Deep linking

Why Universal Links Fail in Instagram and Facebook

Universal links and App Links often open a web page instead of your app inside Instagram, Facebook and TikTok. Here is why it happens, and four fixes that work.

Short answer: Instagram, Facebook, TikTok and LinkedIn open links in their own in-app browsers. Inside those browsers, iOS universal links and Android App Links often do not trigger, so users see your website instead of your app. The fix is a link that hands off to the app on a user tap, with a smart fallback.

What are universal links and App Links?

Universal links (iOS) and App Links (Android) are standard HTTPS links that the operating system opens directly in your app when it is installed, verified through an association file hosted on your own domain. If the app is not installed, the same link simply opens the web page.

  • iOS file: apple-app-site-association, served from your domain
  • Android file: assetlinks.json, served from /.well-known/ on your domain
  • What they replace: custom schemes such as yourapp://, which show an error if the app is missing

Why do universal links fail inside in-app browsers?

They fail because apps such as Instagram and Facebook open links in their own web views, and many of those web views do not hand the link to the operating system. The OS never gets the chance to open your app, so the user stays on your website.

Several other conditions make it worse:

  • Universal links need a user tap. iOS opens the app for a link the user taps, not for one reached through a redirect chain or typed in. Tracking redirects can break the handoff.
  • Same-domain links stay in the browser. If the user is already on your domain, iOS treats a tap on another link on that domain as normal navigation.
  • Broken association files. A missing or invalid apple-app-site-association or assetlinks.json file stops links working everywhere, not just in in-app browsers.
  • Cached failures. If a user once chose to open your link in the browser, iOS may remember that choice for your domain.

Four fixes that work

  1. Use a smart landing page. Show a page with an "Open in app" button. The tap is a fresh user action, which lets the operating system open the app.
  2. Use a custom scheme fallback. If the app is installed, a button that tries yourapp:// opens it directly. If it is not, fall back to the store.
  3. Use Android intent links. On Android, intent:// URLs can open the app or fall back to Google Play from inside most web views.
  4. Validate your association files. Check that both files are served over HTTPS, with the right content type and no redirects, and that your app IDs and paths match.

What a working link should do

ScenarioExpected result
App installed, link tapped in Safari or ChromeApp opens on the right screen
App installed, link tapped in Instagram or FacebookLanding page with "Open in app", then app opens
App not installed, any sourceStore opens, then app opens on the right screen after install
DesktopWeb page or QR code

The third row is deferred deep linking. Without it, new users from social posts land on your home screen and the context of the post is lost.

Test before you launch

  • Tap the link inside Instagram, Facebook, TikTok, WhatsApp and LinkedIn, on both iOS and Android
  • Test with the app installed and not installed
  • Test after a fresh install, to check deferred deep linking lands the user on the right screen
  • Test links shared in stories and bios, not just in feed posts
  • Re-test after every app release that changes your association files or paths

How deep linking tools handle this

Most MMPs and link tools offer smart landing pages or banners for in-app browsers, but they sit on different plans.

  • Airbridge: the Core plan, from $40 a month, includes deferred deep links, short links, QR codes and a web-to-app banner.
  • Kochava: SmartLinks are on the free plan, and the Foundation plan adds enhanced universal and app link support.
  • AppsFlyer: Smart Banners and branded domains sit in the custom-priced Deep Linking Advanced tier.
  • Adjust: TrueLink and Smart Banners are paid add-ons for Core and Enterprise clients.
  • Branch: prices are not published, and deep linking is not listed as a feature of the entry Basics plan.

For a side-by-side view, read the deep linking tools comparison or see how links work in AppsFlyer OneLink.

Where Linkrunner fits

Where Linkrunner fits: Best for apps that get a large share of traffic from Instagram, WhatsApp and creators. Linkrunner supports Universal Links and App Links on your own branded domain and makes every link dynamic and deferred by default, on every plan including Free. It also attributes each install to the post, creator or QR code that drove it.

Because deep linking and attribution share one SDK, you do not need a separate link tool for social traffic. The free plan covers 25k installs, and the free MMP comparison shows how that stacks up.

If your social links keep opening the website instead of the app, test a fix on Linkrunner's deep links before your next campaign goes live.

FAQ

Why does my link open the App Store even though the app is installed? Usually the universal link did not trigger, so the fallback ran. Check your association file and whether the link was reached by a redirect rather than a direct tap.

Do universal links work in WhatsApp? Usually yes, because WhatsApp hands links to the system. Instagram and Facebook are the common problem apps, because they open links in their own web views.

Why do universal links work in Safari but not Instagram? Safari passes the tapped link to iOS, which opens the app. Instagram's in-app browser often keeps the link inside its own web view, so iOS never sees it.

How do I test my apple-app-site-association file? Load it directly over HTTPS and check it returns JSON with no redirects. Then confirm that the app ID and paths match your app's associated domains settings.

Do I need a paid tool to fix in-app browser links? Not necessarily, since a smart landing page and correct association files solve most cases. A deep linking tool saves the setup work and adds deferred deep linking and attribution.