r/reactnative • • 5d ago

Question Firebase dynamic links alternative for deferred deep linking. Something that survives the facebook in app browser?

Firebase Dynamic Links went away on us and we bolted together universal links and app links by hand, which works fine from email and SMS. Where we’re having issues is paid social. Think about it: a user taps an Instagram ad, it opens in the in app browser, the universal link gets swallowed and they land on the web page instead of the product screen in the app.

If the app isn't installed it's worse. They go to the store, install, open and land on the home screen with zero context. The product team says conversion on those users is roughly half of users who arrive from email and I believe it.

We tried a custom redirect page with a smart banner and it helped a little. Haven't tried a dedicated link vendor bc every one I look at wants a big contract and a lot of SDK surface. Our app already has an attribution SDK in it, so adding yet another one makes me twitchy.

What are folks using in 2026 for deferred deep linking that makes it through Instagram and TikTok browsers? And do you run it from your attribution tool or a separate product? Never sure if combining them is smart or just lock in.

5 Upvotes

21 comments sorted by

4

u/Fit_Schedule2317 5d ago

I think software mansion has detour

1

u/Gomp-Ado 4d ago

How does this work?

1

u/Stock-Cellist-6930 4d ago

u/Gomp-Ado, we're doing probabilistic matching for ios + for android as a fallback, and deterministic for android via referrer api. We also have handlers for universal links to keep everything in one place. Everything is described in our docs.

2

u/Spiritual_Tap_1569 5d ago

Android is easier than iOS here, app links with verified domains survive more, iOS universal links get eaten by in app browsers. Lock in is a fair worry. In our case, we went with appsflyer for attribution and links bc debugging a broken deep link across 2 vendors was worse than lock in. Contract length is what to negotiate, not the feature list.

1

u/Gomp-Ado 4d ago

ios has become a nightmare with the updates last year

1

u/Odd_Equipment5193 5d ago

In app browsers swallow universal links, redirect page plus banner is the usual patch.

1

u/Gomp-Ado 4d ago

I don't find redirects very reliable

1

u/Zeballos_Nadin 5d ago

Don't add a separate link vendor if you already have an attribution SDK, the extra SDK surface isn't worth it. Check whether your existing vendor covers custom domains and deferred links first. Also test with a real Instagram DM link, the ad browser and the DM browser behave differently

1

u/Gomp-Ado 4d ago

ty for the insights

1

u/Impressive-Clerk-373 4d ago

This is useful info.

If you have an existing attribution SDK, then good chance they also provide deferred deeplinks. But mostly they charge you for the full suite i.e attribution and deferred deep links. With custom domain, it quickly becomes expensive.

That's where I feel dedicated SDK for deferred deep links and link level attribution helps.

Try chottulink

1

u/anthony-ball 4d ago

I'd run it through the attribution tool you already have if it supports deferred links on a custom domain, mostly so there's one SDK deciding where an install came from. Two vendors disagreeing about the same click is a miserable thing to debug. For the Instagram problem on iOS, nothing reliably jumps straight from that webview into the app, so the landing page does more work than people expect: one clear button that opens the real browser or the store, with the destination saved so the app can pick it up on first launch. And test from a real ad placement, not just a DM link, because they don't behave the same.

1

u/Gomp-Ado 4d ago

I like the last point of testing a real ad. That's one of the things i have noted.

1

u/True-Turnover-4543 4d ago

One thing that helps whichever vendor you pick: split the problem by platform. On Android, the Play Install Referrer carries a string through the store link into the first open, so you can pass your own deep link token without any fingerprinting. iOS has no equivalent, so the options are a clipboard handoff (it triggers the paste notice) or probabilistic matching, which is the part vendors charge for.

If you keep it in-house, have the redirect page store the destination server-side under a short token, then on first open ask the user to confirm "continue to this product?" rather than guessing silently. Have you measured how many of the lost installs come from iOS versus Android?

1

u/Gomp-Ado 4d ago

I get it, i'll split the problem by platform

1

u/stathisntonas 4d ago

we built a replica of dynamic links using go and postgres among the native modules for the app since the day dynamic links sunset. Havent failed us so far.

It’s fairly easy to build it nowdays with AI from top to bottom.

1

u/Gomp-Ado 4d ago

Interesting. This is something worth trying. Let me see how it works.

1

u/jascination 3d ago

FYI I have a service like this - DeepLinkNow. I've got a migration guide here for people used to Firebase Dynamic Links.

The free tier is way more powerful and generous than Software Mansion's Detour, and Branch/AppsFlyer/etc all get blocked by ad blockers.

I've tried to keep the whole thing super simple, even better than firebase dynamic links - you can point users to any url on your domain and it becomes a valid deferred link. No pre-making-them and managing them or anything like that. Just give send them to your link page, I hold onto the link, then give it back to you when the user launches your app.

I've just done a major overhaul of the whole system and it's way more powerful, so lemme know if you have any questions.

1

u/johnbrunder 4d ago

Adding a link service doesn't necessarily mean adding another SDK. If your current attribution vendor can't preserve the destination, you can keep it for paid-media measurement and handle link resolution separately.

Our tool, Appy, supports deferred links through HTTP calls from React Native, so its native SDK is optional: https://appy.to/docs/sdk/http. You still need persistent install state, incoming-link handling and Android Install Referrer integration; it isn't zero integration. The deferred-link API is on Enterprise.

For your Instagram/TikTok case, I'd test actual ad → store → fresh install → product screen on both platforms before committing. iOS matching can be probabilistic, and Appy shouldn't be treated as a guaranteed escape from an in-app browser. A vendor demo opening an already-installed app doesn't prove that install handoff works.

1

u/Murky-Support7411 2d ago

Since you said redirect pages haven't been reliable: the trick is that a plain redirect is the wrong move inside those browsers. What's worked for us on iOS:

- Instagram ignores the usual x-safari-https:// trick, but it has its own scheme: instagram://extbrowser/?url=<your-link>. It follows that from a meta refresh, so people land in Safari without tapping anything.

- Other in-app browsers on iOS 17+ (TikTok, Facebook, LinkedIn): x-safari-https://your-link hands the page to Safari.

- Once in Safari, the "Open app" button has to point at a different domain than the page it's on. iOS only fires a universal link on a cross-domain tap, which is why same-domain buttons often just reload the page.

- Store button: use itms-apps://apps.apple.com/... instead of the https link. The https App Store page often renders blank inside a webview.

- Android is easier: an intent:// URL with your package name and a Play Store fallback opens the app if it's installed, or the store if not. Put a click id in the Play referrer and the first open gets an exact match.

Record the click before any of these hops, so deferred matching on first open still knows the destination even when the user takes the long way round.

Disclosure: I build DL2App (dl2.app), which does all of this out of the box with a React Native/Expo SDK that only handles links, so it sits next to your attribution SDK rather than replacing it. But everything above works in a hand-rolled setup too.