YOUKNOW ConnectPart of YOUKNOW ↗
Deep linking · Firebase migration

Firebase Dynamic Links has gone. Here's what to use instead.

Google shut Firebase Dynamic Links down on 25 August 2025. Old links now land on an error page, including the ones on printed QR codes and in old emails. Here is how to replace them without losing track of where your users come from.

YK
0 1 1 1 1 0 0 1 0 1
THE PROBLEM

What broke on 25 August 2025

01

Every old link now fails

Google says links on page.link and on custom domains return a 404 to anyone who taps them. That includes the QR code on last year's billboard.

02

page.link domains are gone

Google removed every .page.link domain, so those links can't be pointed anywhere else. They have to be replaced.

03

New users land in the wrong place

Dynamic Links sent people without your app to the store, then to the right screen after install. Without a replacement, they get your home screen, if they get the app at all.

04

Your link history is being deleted

Google marked link and domain data for deletion on the shutdown date. If nobody exported it, the list of what you had may already be gone.

05

Link stats stopped too

Google's Dynamic Links APIs, including link stats, now return errors. Campaigns that relied on them went quiet.

WHERE WE HELP

How we move you off it

01

Find what you had

We list every link still out there: in emails, QR codes, social bios, ads and your own app. From your export if you have one, and from your code and campaigns if you don't.

02

Pick the replacement

Branch, AppsFlyer OneLink, or plain App Links and Universal Links, based on what your links actually need to do. Not on what's easiest for us.

03

Rebuild and test

New link domains, deep link routing in the app, and tests on real iOS and Android phones, with and without the app installed.

04

Start counting again

Connect the new links to your attribution and analytics, so campaign clicks and installs show up where they should.

YOUR OPTIONS, COMPARED
CriterionBranchAppsFlyer OneLinkApp Links and Universal Links
Opens the app if it's installedYes, with Universal Links and App Links
Source: help.branch.io
Yes, with App Links, Universal Links and URI schemes
Source: support.appsflyer.com
Yes, that's what they do
Source: developer.apple.com
Right screen after a new install (deferred deep linking)Yes
Source: help.branch.io
Yes, from the Standard deep linking plan
Source: appsflyer.com
Not built in: without the app, people go to your website
Source: developer.android.com
Your own link domainYes, a subdomain or root domain, plus a default app.link domain
Source: help.branch.io
Branded domains from the Advanced deep linking plan
Source: appsflyer.com
Yes, they run on your own domain
Source: developer.apple.com
QR codesBranded QR codes through the QR Code API, on Engagement Pro
Source: help.branch.io
Short links and QR codes on the free Zero plan
Source: appsflyer.com
Any QR code that holds your link
Entry planBasics, with a free trial. Prices aren't published
Source: branch.io
Zero, free, but not for apps with paid activities
Source: appsflyer.com
Free, but you build and host it yourself
Source: firebase.google.com
Migration guide from Dynamic LinksYes
Source: help.branch.io
Yes
Source: support.appsflyer.com
Yes, from Google
Source: firebase.google.com

Checked against each product's own documentation on 14 October 2026. Products change; tell us if something here is out of date.

STEP BY STEP
  1. 01Start from your Google Takeout export if you made one. If not, rebuild the list from your code, your campaigns and anything printed.
  2. 02Decide what each link has to do: open the app, survive an install, carry campaign data, or all three.
  3. 03Choose the replacement, and put it on a link domain you own, so a shutdown like this can't catch you again.
  4. 04If you ran Dynamic Links on your own domain, you may be able to point that domain at the new provider so printed QR codes keep working (Branch documents how). page.link links can't be saved.
  5. 05Update the app to handle the new links, then test on real phones, with and without the app installed.
  6. 06Swap the links in emails, ads, bios and templates, and reprint anything that used page.link.
  7. 07Connect the new links to your attribution and analytics, and check the numbers line up.
PLATFORMS WE'D CONSIDER

The platforms we'd look at first.

Both are partners of ours. If plain App Links and Universal Links cover what you need, we'll tell you that instead.

Branch logoDeep Linking + MMP

Leading deep linking combined with solid mobile attribution. Universal links, deferred deep links, contextual deep links, so every campaign, email, push, or social link drops users on the right screen. Journeys turns mobile web traffic into app installs, and Fraud Shield keeps bad clicks from ever getting attributed.

Best forApps where deep linking is core to the experience: email-to-app, web-to-app, social-to-app flows, especially where Journeys' smart banners can turn casual web visitors into app users.
More on Branch →
AppsFlyer logoMMP

Market-leading mobile measurement partner. A neutral measurement layer above Meta, Google, TikTok, ASA and beyond, with Protect360 fraud protection and OneLink deep linking built in. Privacy-preserving framework built for iOS/Android post-IDFA.

Best forApps running paid acquisition at scale across multiple channels, especially where fraud is a concern.
More on AppsFlyer →
WORTH KNOWING

In the interest of fairness

Branch and AppsFlyer are both partners of ours. Google's own FAQ also names Adjust, Airbridge, Bitly, Kochava and Singular, and suggests plain App Links and Universal Links if your links only need to open an app people already have.

FAQS

The questions people ask us first.

Do my old page.link links still work?

No. Since 25 August 2025 they return a 404 error page, and Google has removed the .page.link domains, so they can't be redirected. They need replacing.

Can I still export my old links?

Google offered an export through Google Takeout and marked link data for deletion on the shutdown date, so it may no longer be there. If someone exported before then, find that file: it's the quickest way to see what you had.

Do we need Branch or AppsFlyer, or will App Links do?

If your links only need to open the app for people who already have it, App Links and Universal Links can be enough, and they cost nothing but the setup. If people who install from a link should land on the right screen, or you need campaign data from your links, you want a provider.

We already use AppsFlyer or Branch for attribution. Is this a big job?

Usually a smaller one, because their SDK is already in your app. Most of the work is setting up links and routing. We scope it properly before you commit to anything.

Can you keep our existing short links?

Only if they were on your own domain, not page.link. Then the domain can sometimes be pointed at the new provider. We check this first, because it decides whether anything needs reprinting.

Get connected

Plan your move off Dynamic Links.

Tell us roughly how many links you had and where they live. We'll tell you honestly how big the job is.

SEND US A NOTE
We'll only use this to reply. No surprise newsletter.