Compare · vs Firebase Dynamic Links

Firebase Dynamic Links alternative: what to replace it with, and what crisp covers today

Firebase Dynamic Links shut down on August 25, 2025. Here's what it did, which parts you can replace with short links and QR codes right now, what needs a deep-link SDK, and exactly where crisp stands on each, including what's still in early access.

Firebase Dynamic Links did four things at once: it shortened a URL, it opened your app if it was installed, it sent people to the store if it wasn't, and it remembered where they were going across the install. When Google retired it on August 25, 2025, teams discovered those four jobs now need two or three tools. This page is about picking them, and about which of them crisp does today.

JobWhat FDL didReplace it withcrisp today
Short, shareable linkyourapp.page.link/abcA short link on a domain you controlYes: crisp.to/xcz or your own domain, editable, tracked, never switched off because of your plan
Open the app when installedRedirect through FDLUniversal Links (iOS) / App Links (Android) on your domainYes: AASA and assetlinks.json served per app domain
Send to the store when not installedPlatform detectionA resolver that reads the user agentYes (early access): per-platform routing with store fallbacks
Remember the destination through installDeferred deep linkingA fingerprint or clipboard match + SDKEarly access on Studio: resolver + React Native and Flutter SDKs
Link previews when sharedOG tagsOG tags on the short linkYes: title and image on every link
AnalyticsFirebase consoleClick analyticsYes: clicks, platforms, countries, referrers

The three paths

Path 1: Universal Links and App Links only. Free, no third party, maintained by Apple and Google. Your domain hosts an apple-app-site-association file and an assetlinks.json, and URLs on that domain open the app when it's installed. The limits: no deferred linking, no editable destinations, and a URL that's only as short as your domain. For many apps this is enough, and you should start here regardless, because every other path builds on it.

Path 2: Universal Links plus a link platform for everything that isn't an app launch. This is where most teams actually land. Campaign links, QR codes on packaging, share buttons, email links: none of these need an SDK, all of them need to be editable and measurable, and all of them need to survive longer than the service that made them. That last point is the lesson of August 2025. crisp does this today: short links on crisp.to or your domain, dynamic QR codes, OG previews, analytics, and a written never-expire promise.

Path 3: A full deferred-deep-link platform. Branch, AppsFlyer and Adjust do this well and charge for it, typically from several hundred dollars a month at any real volume, with the rest of their attribution suite attached. If you need deferred linking with high match rates and you have the budget, they're the proven option.

crisp's deep-link surface is the early-access version of Path 3: an edge resolver with iOS and Android routing, interstitial pages for in-app browsers, and SDKs for React Native and Flutter that do install matching. It's on the Studio plan, it's labelled early access on every page where it appears, and we'll remove the label when it has earned that.

If your Dynamic Links used *.page.link, those addresses are gone and can't be transferred; anything printed with them needs a reprint. If you used your own domain with Dynamic Links, you still own the domain: point it at a new resolver, recreate each path with the same destination, and the printed links start working again. The migration guide walks through recovering the list of links and destinations, including the authentication-flow links (email sign-in, passwordless) that many teams forgot were on FDL.

Two rules for whatever you pick next:

  1. Own the domain in the link. A service can shut down; a domain you hold can be re-pointed.
  2. Read what happens to links when the plan ends. If the answer isn't "they keep working", you'll meet this page again.

Where to start

Create the links that don't need an SDK first; that's usually most of them, and it's on the free plan. Set up Universal Links and App Links on your domain. Then, if you need deferred linking, read the SDK docs and decide whether early access is acceptable for your app or whether a Path-3 vendor is the safer call this quarter.

Frequently asked questions

Is Firebase Dynamic Links still working?

No. Google shut the service down on August 25, 2025. Existing page.link links stopped resolving, the console and API were removed, and the subdomains could not be transferred. Anything printed or shared with those links is dead unless you own a custom domain that was used with the service.

What's the free replacement?

Apple Universal Links and Android App Links, which open your app directly from URLs on your own domain when the app is installed. They're free and reliable, but they don't do deferred deep linking (remembering where a new user was headed through an app-store install) and they don't give you editable, trackable links.

Does crisp do deferred deep links?

It's in early access on the Studio plan: an edge resolver with iOS/Android routing, interstitial pages, and React Native and Flutter SDKs for install matching. It's labelled early access because it is; we'd rather say so than let you find out in production.

What can I move to crisp today?

Every link that didn't need the app: campaign links, QR codes, share links, email links. crisp gives each one an editable destination, click analytics, OG previews and a QR code, on crisp.to or your own domain, and they are never switched off because of your plan.

Can old page.link URLs be recovered?

Not the page.link ones. If you used a custom domain with Dynamic Links, you own it: point it at a new service, recreate the paths, and the printed links come back to life. The migration guide covers this.

Links that don't get shut down

Start with the links that don't need an SDK, today, on the free plan. Deep links are in early access on Studio when you're ready.

Start free →