Migrate from Firebase Dynamic Links to Flyn
FDL shut down Aug 25, 2025, inventory your old links, recreate them in Flyn, and repoint your custom domain
Last updated: April 2026
Pre-Migration Checklist
Complete these steps before starting the migration to ensure a smooth transition.
- 1Inventory every recoverable FDL link from the Firebase Console, app source, and external materials into one spreadsheet (the live links are already dead)
- 2For each link, record the destination URL and the intended in-app deep-link target
- 3Document your current custom domain DNS settings (screenshot recommended)
- 4Decide whether you need deferred deep linking / attribution, if so, plan an MMP alongside Flyn
- 5Ensure your Flyn account is on the right plan for your link volume
Step 1: Export from Firebase Dynamic Links
First, export your existing links from Firebase Dynamic Links so you can import them into Flyn.
Understand what survived the shutdown
Firebase Dynamic Links shut down on August 25, 2025. Every FDL link (page.link and custom-domain) stopped resolving, so there is no live link list to export, recovery means recreating the mappings from whatever records you still have.
Open the Firebase Console
Go to console.firebase.google.com, select your project, and open Engage > Dynamic Links (if your project still exposes the section). Record every short link, its destination URL, and its deep-link / fallback parameters that are still listed.
Pull from your app and codebase
Search your app source and backend for hardcoded FDL domains (yourapp.page.link or your custom short domain) and any Dynamic Links API calls. These reveal link patterns and deep-link targets you need to recreate.
Gather links from external records
Collect any FDL short links embedded in marketing emails, social posts, QR codes, printed materials, or analytics exports. Build one spreadsheet of: original short link, destination URL, and intended in-app deep-link target.
Step 2: Import into Flyn
Upload your exported links into Flyn. The import wizard auto-maps columns and preserves your slugs.
Create a Flyn account
Sign up at flyn.to/signup, no credit card required. Free accounts can create up to 25 links.
Recreate links in the Flyn dashboard or via API
For each row in your inventory, create a short link in Flyn pointing to the same destination. For bulk recreation, use the Import tool with a CSV (destination URL, slug) or the Flyn REST API.
Configure deep-link targets
Where an FDL link opened your app, set the matching deep-link destination in Flyn. Flyn supports deep links to 16+ native platforms with no SDK, you only need App Links / Universal Links configured on the app side to open directly in-app.
Review and confirm
Preview the recreated links, verify each slug and destination, and confirm. Flyn preserves the slugs you choose, so you can rebuild human-readable paths that match your old links where you control the domain.
Step 3: Domain & DNS Migration
Point your custom domain to Flyn so existing short links keep working seamlessly.
Find your current DNS record
If you served FDL links on a custom domain, log in to your domain registrar (GoDaddy, Cloudflare, Namecheap, etc.) and locate the DNS record for that branded short domain (e.g., go.yourcompany.com).
Update the CNAME target
Repoint the record to a CNAME with value link.flyn.to. Remove any leftover Firebase/Google hosting records for that hostname so the domain resolves to Flyn.
Add your domain in Flyn
In the Flyn dashboard, go to Settings > Domains > Add Domain. Enter your branded short domain and click Verify.
Wait for DNS propagation
DNS changes typically propagate within 5-30 minutes. Flyn shows a green checkmark once the domain is verified, and your recreated short links start resolving on your own domain.
DNS Record Summary
| Field | Before | After |
|---|---|---|
| Type | CNAME | CNAME |
| Host | go (or your subdomain) | go (no change) |
| Target | firebase.google.com | link.flyn.to |
What Transfers
Here is what carries over from Firebase Dynamic Links to Flyn and what needs to be reconfigured.
| Item | Transfers | Notes |
|---|---|---|
| Destination URLs | Recreate | FDL is shut down, re-enter long URLs from your inventory |
| Custom slugs | Recreate | Choose the same slugs in Flyn to rebuild matching paths |
| Deep-link targets | Recreate | Re-map app deep links in Flyn (16+ platforms, no SDK) |
| Deferred deep linking | Not a Flyn feature, use an MMP (Branch, Adjust, AppsFlyer) if required | |
| Custom domains | Repoint the domain CNAME to link.flyn.to | |
| Click analytics | FDL console data is not portable, new clicks tracked in Flyn | |
| page.link short links | page.link is Google-owned and already dead, only custom domains can be reused |
Post-Migration Verification
After completing the migration, work through this checklist to verify everything is working.
- Verify 5-10 recreated short links resolve to the correct destinations
- Confirm app deep links open the intended in-app content (with App Links / Universal Links configured)
- Confirm your custom domain shows a green checkmark in the Flyn dashboard
- Check that new clicks are appearing in Flyn analytics
- Update any app code or backend that referenced FDL domains or the Dynamic Links API
- Update QR codes and printed materials that pointed at dead page.link URLs
Troubleshooting
Common issues and how to resolve them.
Old FDL / page.link links return errors
This is expected, Firebase Dynamic Links shut down on August 25, 2025 and all FDL links (page.link and custom-domain) stopped resolving. There is no way to restore them through Firebase; you must recreate the links in Flyn and, where you control the domain, repoint it to link.flyn.to.
Recreated links resolve but do not open the app
Standard deep links require App Links (Android) or Universal Links (iOS) configured on the app side. Set up the platform association files for your domain, then point the Flyn deep-link target at the in-app path. This is a one-time app configuration, not an SDK dependency.
Need deferred deep linking that FDL provided
Flyn does not do deferred deep linking (routing a user to in-app content after a fresh install). For that specific use case, add a mobile-measurement platform such as Branch, Adjust, or AppsFlyer, the providers Google itself recommended, and keep Flyn for short links and standard deep links.
Custom domain still not resolving to Flyn
DNS propagation can take up to 30 minutes. Use a DNS checker (like whatsmydns.net) to confirm the CNAME points to link.flyn.to, and remove any stale Firebase/Google hosting records left on that hostname.
Frequently Asked Questions
How do I migrate from Firebase Dynamic Links to Flyn?
Since FDL shut down on August 25, 2025, migration means recreating your links rather than transferring live ones. Inventory your old FDL links (Firebase Console, app source, marketing materials), recreate each short link and deep-link target in Flyn via the dashboard or REST API, and if you owned a custom domain, repoint its CNAME to link.flyn.to.
Can I recover my old Firebase Dynamic Links?
The links themselves cannot be recovered, they stopped resolving on August 25, 2025 and Firebase no longer serves them. What you can recover is the mapping data (destination URLs and deep-link targets) from your Firebase project, app code, and any records, which you then recreate in Flyn.
Will my page.link short links work after migrating?
No. The page.link domain is owned by Google and was decommissioned with FDL, so those exact URLs are permanently dead. Only links on a custom domain you control can be reused, by repointing that domain to Flyn and rebuilding the slugs.
Does Flyn replace deferred deep linking from FDL?
No. Flyn handles standard deep links (opening content directly in 16+ native apps) but not deferred deep linking, which routes users to in-app content after a fresh install. For deferred deep linking and install attribution, use an MMP such as Branch, Adjust, or AppsFlyer alongside Flyn.
Do my Firebase Dynamic Links analytics transfer to Flyn?
No. FDL's click and conversion data lived in the Firebase console and is not portable. Once your recreated links are live, all new clicks are tracked in Flyn with richer data, real-time streams, city-level geo, and A/B test metrics that FDL never offered.
How long does it take to move from FDL to Flyn?
It depends on how many links you are recreating. The Flyn side is fast, creating links in the dashboard or via API takes seconds each, or bulk-import a CSV. The main effort is inventorying your old FDL links; the only wait is 5-30 minutes of DNS propagation if you repoint a custom domain.
Do I need to rebuild my app to switch from FDL to Flyn?
Not to recreate short links, those are made entirely in Flyn with no app changes. You only touch the app to configure App Links / Universal Links so links open directly in-app, which is standard platform setup and removes the Firebase SDK dependency rather than adding a new one.
Ready to Migrate from Firebase Dynamic Links?
Create a free Flyn account and import your links in minutes. No credit card required.