At a glance: Migrate from Firebase Dynamic Links to AppsFlyer OneLink using our step-by-step guide.
About the migration
Google’s Firebase Dynamic Links will be deprecated on August 25, 2025. Effective on this date, all links served by Firebase Dynamic Links (both hosted on custom domains and page.link subdomains) will stop working, and new link creation will be disabled. If you use Firebase Dynamic Links, it's essential to take proactive steps as soon as possible to migrate your links elsewhere to prevent disruptions to user journeys from your campaigns.
AppsFlyer OneLink enables you to easily create links with attribution, redirection, and deep linking capabilities on owned or paid media, regardless of device, operating system, channel, or platform. Partner with AppsFlyer to create personalized, contextual user journeys that drive users to your app for maximum conversion and revenue. Follow the instructions below to get started migrating your Firebase Dynamic Links to AppsFlyer.
Migrate from Firebase to AppsFlyer
This section describes how to migrate your Firebase dynamic links over to AppsFlyer OneLink.
Prerequisites
Before you begin, you'll need your:
- Dynamic Links from Firebase
- App developer
To migrate to AppsFlyer:
Step 1. Create an AppsFlyer account
Step 2. Add your app
- Add your app in AppsFlyer.
- [Optional] Change the default 90-day re-attribution window to align with your definition of active users.
Step 3. Create a OneLink template (app developer collaboration)
You and your app developer are both needed for this step.
A OneLink template is required for creating links and end-user experiences. It forms the basis of the redirection logic for all OneLink links you create for your various marketing campaigns.
-
Create a OneLink template
- You must either be an AppsFlyer admin user or have permissions to add/edit OneLink templates
Step 4. Set up the AppsFlyer SDK (app developer task)
Your app developer is needed for this step.
The AppsFlyer SDK integrated into the app is the link between the app and the AppsFlyer platform. It provides:
- Deep linking - The SDK enables unified deep linking (UDL) implementation
- Attribution - The SDK reports app installs, app opens, in-app events, and so on.
Integrate AppsFlyer SDK in your app using the steps below.
AppsFlyer SDK integration steps
- Integrate the AppsFlyer SDK into the app.
See the guides for Android and iOS SDK integration. - Map in-app events you want to be recorded, using the AppsFlyer schemes.
This can be done via SDK or S2S. - Handle Firebase's SDK.
You can switch exclusively to AppsFlyer, or run both SDKs simultaneously for a few weeks. View a breakdown of these options in the table below.
Option What happens after
updated app version releaseImpact Remove Firebase's SDK (recommended) Only AppsFlyer records new installs and updating users.
Firebase still shows events performed by users, until the users update their app too.- Fast transition
- No double attribution
- Allows you to see if you have any lingering app versions with the Firebase SDK still on them
Keep Firebase's SDK for a transition period AppsFlyer and Firebase attribute new installs and report events. At a later date, remove the Firebase SDK. - Data validation is possible. Meaning, you can compare data from AppsFlyer and Firebase
- Double attribution, which may cause double charges with ad networks
- Higher workload
- After all other tasks in the scope of work are completed, update the app version with AppsFlyer SDK to the market. New users are attributed by AppsFlyer.
Note:- Make sure to update the app for iOS, Google Play, and any relevant Android out-of-store markets.
- Your Android app may exist on unofficial APK sites, even if you don't know it (search the web for your app's package name to find out). APK sites take some time to update to the latest version, so they may bring organic users, which install old versions without AppsFlyer SDK.
- App update rollouts in the app stores can take a couple of days to fully complete. Users installing during this phase may still get the previous version.
Step 5. Understand parameter mapping (app developer task)
Your app developer is needed for this step.
Understand how Firebase Dynamic Links parameters map to AppsFlyer's corresponding parameters.
Correct mapping and understanding of the corresponding parameters will ensure your links get the same results.
The table below lists all of Firebase's parameters and the corresponding AppsFlyer parameters.
Use this table as a reference for all the parameters you currently use when you migrate to AppsFlyer.
Note
If a Firebase parameter isn't listed, it is because AppsFlyer covers this in the OneLink template setup without you needing to put a parameter in your links.
Grouping | Firebase | AppsFlyer | Description |
---|---|---|---|
Mobile parameters | link |
|
|
Android parameters |
afl | af_android_url | Allows redirection of Android users to a customized web page (the domain must be in the redirect allowlist) |
iOS parameters |
ifl | af_ios_url | Allows redirection of iOS users to a customized web page (the domain must be in the redirect allowlist) |
efr | af_force_deeplink | Used to force an iOS app to open using the af_dp URI scheme. Without this, the app won't open using the URI scheme | |
Other platform URL | ofl | af_web_dp | Allows redirection of desktop users to a customized web page |
Social tags |
st | af_og_title | Used to customize the title of shared content on Social media |
sd | af_og_description | Used to customize the description of shared content on social media | |
si | af_og_image | Used to customize the image of shared content on social media | |
Analytic parameters |
utm_source | pid | Media Source |
utm_medium | af_channel | Identifies the media source channels where your ads are distributed | |
utm_campaign | c | Campaign name | |
utm_term | af_keywords | Keywords list for text-targeted campaigns | |
utm_content | af_adset | Collection of ads associated with a campaign |
Step 6. Create OneLink links with mapped parameters
Using your mapped parameters, you can create OneLink links from your OneLink template.
Links can be created in bulk via CSV file, programmatically with the OneLink API, individually using the AppsFlyer dashboard, in the SDK, or as manually constructed long links.
Use the following table to determine which method best works for your use.
Firebase | AppsFlyer | Use it if | Notes |
---|---|---|---|
Firebase console | OneLink Management page | You would like to create OneLink links one by one. In this way, you can utilize the full OneLink features and possibilities | |
Dynamic Link Builder API | SDK | You would like to create in-app programmatically generated links for uses such as user invites and referrals |
|
Firebase REST API | OneLink API | You would like to create links programmatically outside the mobile app |
|
Manual link construction | Long links | You would like to manually construct the link with its query parameters. Use if you don't require short links For example if the link will be behind a button or a banner | |
Bulk Links |
You would like to migrate all your Firebase dynamic links in bulk to AppsFlyer. This is recommended to quickly move over all your links without any errors |
|
|
Smart Banner | you would like to create banners on mobile websites that deep link to your app | ||
Smart Script | If you would like to construct a long link dynamically in a web page for a web-to-app experience |