Skip to main content

Firebase Dynamic Links alternative

Deep links for Flutter and React Native, after Firebase Dynamic Links

Firebase Dynamic Links shut down on August 25, 2025. DecTog does the jobs most apps used it for: short links that open the app, deep links that survive the App Store and Google Play, store and desktop fallbacks and social previews, with install attribution per link.

Free under 25K monthly active users · No credit card · Hosted, or in your Cloudflare

The shutdown

What Firebase turned off

  • All links served by Firebase Dynamic Links, on page.link subdomains and on custom domains, stopped working and answer 404.
  • page.link domains are no longer available.
  • Domain and link data were marked for deletion on the shutdown date.
Firebase Dynamic Links FAQ

Before you pick a service

You may not need one

Firebase's own FAQ points apps that are already installed to App Links and Universal Links, and teams that need full feature parity to third-party providers. If your links only open an app that is already installed, App Links and Universal Links do that on their own.

A service earns its place on a phone without the app: the trip through the store, the link that is still there on the first launch, and knowing which link brought the install.

Side by side

What each FDL job becomes in DecTog

Every URL parameter, the REST API and the Flutter plugin call by call are in the migration guide.

Short linkFDL · A short link on a page.link subdomain or a domain of your ownDecTog · On your subdomain, yourname.dectog.com/slug, with the slug you choose
Open the installed appFDL · The Android package name (apn) and iOS bundle ID (ibi) of the app to openDecTog · Universal Links and App Links, with apple-app-site-association and assetlinks.json generated for your apps
Deep link after the installFDL · The app can read the link once it is installedDecTog · The SDK gets the link and the route on the first launch, with how the install was matched
Store fallbackFDL · A fallback URL for Android (afl) and iOS (ifl), else Google Play or the App Store by its app ID (isi)DecTog · The store URLs on your app, or a redirect per link or per tap
Desktop and other platformsFDL · The other-platform fallback link (ofl): the URL desktop browsers openedDecTog · A fallback URL per link, else a page with a QR code
Social previewsFDL · The social title (st), description (sd) and image (si) shown when the link is sharedDecTog · A title, description and image per link, with your app’s as the default
Campaign tagsFDL · The five UTM tags (utm_source, utm_medium, utm_campaign, utm_term, utm_content)DecTog · The same five tags, stored on every click and charted by campaign and source
FlutterFDL · The firebase_dynamic_links pluginDecTog · flutter_dectog; React Native and Expo apps use react-native-dectog
Minimum app versionFDL · A minimum app version: on Android (amv) older installs were sent to update, on iOS (imv) the app decidedDecTog · No equivalent
iPad-only fallback and appFDL · A separate fallback URL (ipfl) and app (ipbi) for iPadsDecTog · No equivalent

Who it fits

  • Flutter and React Native apps that used FDL for sharing, referrals or campaigns
  • Teams that want installs, leads and revenue per link and campaign, not only clicks
  • Apps that want installs matched by the store install referrer on Android and the pasteboard on iOS

Look elsewhere if

Moving over

Four steps from FDL

Finding where your old links still live, saving the traffic they get and a checklist to work through are in the blog post Migrating off Firebase Dynamic Links.

  1. 01

    Register your app

    Enter the package, SHA-256 fingerprints, bundle ID and Team ID on the Apps page; DecTog serves apple-app-site-association and assetlinks.json for them. Then add applinks:yourname.dectog.com to Associated Domains and an autoVerify intent filter for yourname.dectog.com.

  2. 02

    Swap the SDK

    Replace firebase_dynamic_links with flutter_dectog: getInitialLink and onLink become getInitialLink and onLinkClick, and the first launch after an install arrives on onAppInstalled. React Native and Expo apps add react-native-dectog.

  3. 03

    Import your links

    If you exported your links before the shutdown, Import CSV on the Links page reads Firebase’s file. Each short link’s suffix becomes its slug, so acme.page.link/spring becomes yourname.dectog.com/spring, with its destination, fallbacks, social preview and UTM tags. Without the file, create the links in the dashboard or 100 at a time through the API.

  4. 04

    Replace the old URLs

    page.link domains no longer exist, so publish the new links wherever the old ones were: in the app, emails, QR codes and ads. The same goes for links on a domain of your own.

FAQ

Questions about moving from FDL

Something else on your mind? Talk to us

  • No. Firebase stopped serving every Dynamic Link on August 25, 2025, on page.link and on custom domains alike, and the page.link domains are gone. Publish your DecTog links in their place.

  • Yes. Importing Firebase’s export turns each short link’s suffix into the DecTog slug, so the path stays the same and only the domain changes: acme.page.link/spring becomes yourname.dectog.com/spring. Without the export, give the new links the same slugs yourself.

  • Deterministic signals first: on Android the Google Play, Huawei, Samsung, Xiaomi and vivo install referrers and Meta’s install referrer, on iOS the link copied to the pasteboard or the paste button. Only when none of them names a tap does a scored fingerprint run, and it is credited only at high confidence. Apple Search Ads is recorded beside the verdict: it names the Apple ad campaign and never changes which link is credited.

  • Yes: flutter_dectog for Flutter, and react-native-dectog for React Native and Expo. Both handle cold starts, links that open a running app and the first launch after an install. There is no native Swift or Kotlin SDK.

  • Nothing under 25K monthly active users, with no credit card. Paid plans are $19, $39 and $99 a month, for up to 75K, 150K and 500K monthly active users. Every plan includes every feature, and clicks, installs and events are not metered.

Own your deep links — self-hosted and open source

Start on the hosted service, or deploy the same code to your own Cloudflare account.