Back to Blog

Firebase Dynamic Links Alternative: Migration Guide

Google killed Firebase Dynamic Links on August 25, 2025, and every FDL link now returns a 404. Here is an honest look at your replacement options and a step-by-step plan to rebuild short links, deep links, and QR codes.

Karan Bhakuni
Karan Bhakuni
Founder, Flyn
MigrationJul 2, 202613 min readUpdated Jul 2, 2026
Firebase Dynamic Links Alternative: Migration Guide

The shutdown: what broke on August 25, 2025

Google announced the deprecation in 2023 and published a countdown that many teams filed under later. Later arrived. On the sunset date, link creation stopped and existing links began returning errors, and the failure mode was uglier than most people expected.

Timeline showing the 2023 Firebase Dynamic Links deprecation announcement, the two-year warning period, and the August 25, 2025 shutdown after which links return HTTP 404 errors
Two years passed between the 2023 deprecation announcement and the August 25, 2025 shutdown, after which every FDL link began returning a 404 instead of redirecting.

The timeline that got us here

The deprecation was not a surprise, but the ending was harsh:

  • 2023: Google announces the FDL deprecation and stops investing in the product.
  • 2023 to mid-2025: links keep working; teams are told to migrate and to export their link metadata while the console still allows it.
  • August 25, 2025: shutdown. Error responses roll out across existing links until they reach all FDL traffic.

A dead FDL link does not redirect anywhere. It returns an HTTP 404. That means no app open, no app store fallback, no web fallback, and no analytics event. The only FDL-adjacent feature that survived is email link authentication, and only for teams that upgraded to current Firebase Auth SDKs. Everything else is a hard failure. Paste any old link into our free URL Expander or Redirect Checker and you can watch it fail in real time.

Watch out

FDL links fail with a 404, not a graceful redirect to your homepage. Printed QR codes on packaging, posters, and product manuals that encoded a page.link URL are now dead in the field, and users scanning them see a Google error page with your brand nowhere on it.

The honest alternatives landscape

Every vendor writing about the FDL shutdown claims to be the perfect replacement. Most are overselling. Your realistic options fall into three paths, and the right one depends entirely on whether you used FDL as a link tool or as an attribution tool.

PathBest forDeferred deep linkingEffort
Flyn (link management)Short links, deep links, device routing, QR codes, analyticsNoLow: minutes per link, no SDK
Branch and other MMPsInstall attribution, deferred deep linking, campaign measurementYesHigh: SDK integration, pricing tied to active users
DIY App Links + Universal LinksFull control, zero vendor dependencyNoHigh: native config on both platforms, no analytics

Branch and the MMP route

If deferred deep linking or install attribution drove your FDL usage, you need a mobile measurement partner. Branch is the best-known option: it captures the click, survives the app store install, and hands your app the original context on first launch. The tradeoffs are real: SDK integration work, contracts, and pricing that scales with usage.

The DIY native path

Google's own migration guidance points to App Links on Android and Universal Links on iOS, and notes that Firebase Hosting can serve the required verification files. This path is free and dependency-free, but you get no short links, no analytics, no QR codes, and no deferred deep linking. It is the right foundation either way (more on that below), just not a complete replacement.

Where Flyn fits

Flyn sits in the middle: a link management platform that rebuilds the FDL features most teams actually used, without an SDK. Compare the broader field on our alternatives hub or in our roundup of the best link management tools.

Most teams never used Firebase Dynamic Links as an attribution suite. They used it as a short link that could open an app. If that describes you, the migration is an afternoon of work, not a quarter-long project.

How FDL features map to Flyn

Here is the honest, feature-by-feature mapping. Everything in the left column is something FDL did; the right column is what covers it now.

Diagram mapping each Firebase Dynamic Links capability to its Flyn equivalent: page.link short links to branded short links, the deep link parameter to native app deep links, platform fallbacks to smart routing, QR codes to editable QR codes, and deferred deep linking marked as not covered
The FDL-to-Flyn feature map: everything transfers except deferred deep linking and install attribution, which need an MMP like Branch.
FDL capabilityFlyn equivalent
Short links on page.link or a custom domainBranded short links on your own domain
The link deep link parameterDeep links into 16 native apps
Platform fallbacks (ifl, afl, ofl)Smart routing by device and OS
UTM passthroughUTM parameters preserved through the redirect
QR codes (via third-party generators)Built-in QR codes with editable destinations
Click tracking via Google Analytics wiringClick analytics built in: device, geo, referrer
REST API link creationDeep links API
Deferred deep linking and install attributionNot covered: use Branch or another MMP

Two of the differences work in your favor. FDL locked analytics behind Google Analytics wiring; Flyn's click analytics are built into every link. And FDL QR codes came from third-party generators that froze the URL forever; Flyn links keep editable destinations, so a printed code can be repointed years later without reprinting.

What Flyn deliberately does not do

Two FDL features have no Flyn equivalent, and pretending otherwise would waste your time: deferred deep linking through an app store install, and install attribution that credits campaigns for downloads. Flyn routes the click perfectly up to the store handoff; what happens after installation is invisible to any link-layer tool. If those features matter to you, jump to the pairing section below, and see the full Firebase Dynamic Links comparison for the fine print.

The step-by-step migration plan

Here is the end-to-end playbook. Budget an afternoon for a typical app with a few dozen active links, plus one release cycle if you also need the native deep link setup from the previous section.

Six-step migration flowchart: export or reconstruct the FDL link inventory, map URL patterns, recreate links in Flyn with deep links and device routing, update QR codes, add 301 redirects on owned domains, then verify with the deep link tester
The six-step FDL exit: inventory, map, recreate, repoint QR codes, redirect owned domains, verify.
  1. Export or reconstruct your inventory. Start from your pre-shutdown CSV export if you have one; otherwise use the inventory hunt from step zero. One spreadsheet, one row per link: destination, deep link target, and every place it was published.
  2. Map your URL patterns. Most FDL fleets collapse into a handful of patterns: product pages, referral invites, campaign landings, support articles. Migrate patterns, not individual links.
  3. Recreate the links in Flyn. Each pattern becomes a short link with a deep link target and device routing rules: app if installed, correct store otherwise, web on desktop. Use custom slugs to keep paths human-readable, and the Bulk URL Shortener to create hundreds at once.
  4. Update your QR codes. Regenerate every code with the QR Code Generator pointing at the new Flyn links. Because Flyn destinations are editable, this is the last reprint you will ever do for a routing change.
  5. 301 the old domains you own. If your FDL links lived on a custom domain you control, put a wildcard 301 redirect in front of it, mapping old paths to new Flyn links. Our htaccess and Nginx redirect generators write the rules, and our 301 vs 302 guide explains why permanent is the right signal here.
  6. Verify everything. Re-test each pattern on iOS, Android, and desktop, re-scan every reprinted QR code, and watch the first week of click analytics for surprises.

If you cannot redirect the old domain

Links on page.link subdomains are unrecoverable: that infrastructure belongs to Google, and there is nothing for you to 301. For those, the fix is upstream. Edit every source you control to point at the new link, and accept that abandoned third-party posts are lost. Painful, but it is also the argument for owning your link domain from now on.

What Flyn does not replace (and what to do instead)

Honesty check: after the migration above, two FDL capabilities are still missing, because no link shortener can provide them.

  • Deferred deep linking: carrying context through an app store install to first launch.
  • Install attribution: crediting a campaign or referrer for a download.

If you truly need deferred deep linking

Run the numbers first. Deferred deep linking only matters for the slice of clicks that land on users without the app installed who then complete the install. For many products, a good default onboarding flow covers that slice acceptably. If it is core to your growth loop (referral rewards are the classic case), integrate Branch or another MMP alongside Flyn: Flyn handles your branded, editable, trackable link layer, and the MMP handles the install boundary. The two layers do not conflict.

For campaign measurement short of full attribution, disciplined UTM tagging on every link (build tags with the UTM Builder) plus Flyn's click analytics tells you which channels drive taps, even when the install itself is not attributed.

Ship the fix before your next campaign

The FDL shutdown is the loudest reminder in years that link infrastructure is real infrastructure. When it dies, onboarding flows, printed packaging, and years of shared URLs die with it. The teams that came out fine were the ones whose links had editable destinations and an exit path they controlled.

Rebuild on that principle. Create a free Flyn account, recreate your top ten links as short links in a single sitting (add deep links and device routing on Pro), and reprint your QR codes once, pointing at links you can repoint forever. If you are consolidating from other shorteners at the same time, the migration hub covers every path. Your users have been hitting 404s since August 25, 2025. Every day of delay is measurable, so start with the ten links that matter and work down the list.

Frequently Asked Questions

When did Firebase Dynamic Links shut down?
Google shut down Firebase Dynamic Links on August 25, 2025. The deprecation was announced in 2023, giving teams roughly two years of notice before the sunset date. On shutdown day, link creation stopped and error responses rolled out across existing links until they covered all FDL traffic. Both page.link subdomains and custom domains connected to the service stopped resolving. If anything you control still references an FDL URL, it has been broken since that date, so treat migration as overdue cleanup: inventory your links, rebuild the important ones, and update every surface that published them.
Do old Firebase Dynamic Links still work?
No. Every Firebase Dynamic Link now returns an HTTP 404 error instead of redirecting. There is no app open, no app store fallback, no web fallback, and no analytics event. This applies to links on page.link subdomains and to links on custom domains that were wired into FDL. The only adjacent survivor is email link authentication, which continues to work for teams that upgraded to current Firebase Auth SDKs before the cutoff. If you want to confirm what a specific old link does now, paste it into a URL expander and inspect the response code yourself.
What does Google recommend as a replacement for Firebase Dynamic Links?
Google's official guidance points to the platform-native technologies: App Links on Android and Universal Links on iOS, and it notes that Firebase Hosting can serve the required verification files (assetlinks.json and apple-app-site-association). That covers deep linking for installed apps, but it deliberately leaves gaps: no short links, no click analytics, no QR codes, and no deferred deep linking. For those, Google pointed developers toward third-party services. In practice, most teams pair the native setup with a link management platform for the day-to-day link layer, and add an MMP only if they need install attribution.
Does Flyn support deferred deep linking or install attribution?
No, and you should be suspicious of any link shortener that claims otherwise. Deferred deep linking requires an SDK inside your app that matches an earlier click to a fresh install, which is fundamentally different work from routing a click. Flyn covers everything up to the store handoff: branded short links, deep links into 16 native apps, smart device routing, editable QR codes, and click analytics. If carrying context through the install is core to your product, integrate Branch or another mobile measurement partner alongside Flyn; the two layers work together without conflict.
Can I redirect my old Firebase Dynamic Links domain?
It depends on which domain the links lived on. Links on page.link subdomains are gone for good: that infrastructure belongs to Google, and you cannot attach redirects to a domain you never owned. But if your FDL links used a custom domain you control, you own the exit path. Point the domain at your own server or edge and add wildcard 301 redirects mapping old paths to new short links. A permanent redirect preserves as much link equity and user trust as possible, and it rescues every old share you cannot edit at the source.
How do I fix QR codes that pointed to Firebase Dynamic Links?
Printed QR codes cannot be changed, so codes encoding a page.link URL are permanently dead and need reprinting. The fix that prevents a repeat: never encode a raw destination again. Encode a Flyn short link instead, because its destination stays editable after printing. When you reprint packaging, posters, or manuals with codes that point at Flyn links, a future vendor shutdown, domain move, or campaign change becomes a thirty-second dashboard edit instead of another print run. For codes on digital surfaces such as emails, PDFs, and web pages, simply regenerate the image and replace it.
Should I replace Firebase Dynamic Links with Flyn or Branch?
Ask what you actually used FDL for. If the answer is short links that open the app, fall back to the right store, and carry campaign tags, Flyn replaces that in minutes with no SDK, and pricing stays flat instead of scaling with your user count. If the answer involves install attribution, deferred deep linking, or referral reward matching, you need Branch or another MMP, and you should budget real engineering time for SDK integration. Plenty of teams run both: Flyn as the everyday link layer, and the MMP strictly at the install boundary.
How long does migrating off Firebase Dynamic Links take?
For most teams, the link layer moves in an afternoon: build the inventory, recreate the top links with deep links and device routing, update the sources you control, and re-test with the Deep Link Tester. The long pole is native deep link verification if you never configured it outside FDL: hosting the AASA and assetlinks.json files, adding entitlements and intent filters, and shipping an app update, which takes a normal release cycle. Printed QR replacement runs on your print schedule. Prioritize by click volume and the user-visible damage is gone on day one.

Ready to try Flyn?

Free plan includes 25 links/month, full analytics, and access to all 30+ free tools above. No credit card required.

Already a member? Log in

Karan Bhakuni
Karan Bhakuni· Founder, Flyn

Karan Bhakuni is the founder of Flyn. He writes about branded links, click analytics, and the link-management tooling growth teams and creators actually need, drawn from building Flyn and reading a lot of user feedback.