Stay organized with collections
Save and categorize content based on your preferences.
There are four ways you can create a Dynamic Link:
Using the Firebase console.
This is useful if you're creating promo links to share on social media. This
way you can select a custom suffix and a name for the link in the
Firebase console.
You can track the performance of these Dynamic Links in the
Firebase console
or via the Analytics REST API.
Using the Dynamic Link Builder API on iOS,
Android, and Flutter. This is the
preferred way to dynamically create links in your app for user-to-user
sharing or in any situation that requires many links. You can track the
performance of Dynamic Links created with the Builder API using the Dynamic LinksAnalytics API.
Using the REST API. This is the preferred way to
dynamically create links on platforms that don't have a Builder API.
The Analytics REST API can be used
to track the performance of promo campaigns created in the console.
Manually. If you don't need to track
click data and you don't care if the links are long, you can manually
construct Dynamic Links using URL parameters, and by doing so, avoid an extra
network round trip.
Next steps
After you create Dynamic Links, you need to set up your app to receive
Dynamic Links and send users to the right place in your app after a user opens them.
To receive Dynamic Links in your app, see the documentation for
iOS, Android,
Flutter,
C++, and Unity.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-15 UTC."],[],[],null,["\u003cbr /\u003e\n\n| **Deprecated:** Firebase Dynamic Links is *deprecated* and should not be adopted in projects that don't already use it. The service will shut down on August 25, 2025. See the [Dynamic Links Deprecation FAQ](/support/dynamic-links-faq) for more information.\n\nThere are four ways you can create a Dynamic Link:\n\n- Using the [Firebase console](https://console.firebase.google.com/project/_/durablelinks/links/). This is useful if you're creating promo links to share on social media. This way you can select a custom suffix and a name for the link in the [Firebase console](https://console.firebase.google.com/project/_/durablelinks/links/). You can track the performance of these Dynamic Links in the [Firebase console](https://console.firebase.google.com/project/_/durablelinks/links/) or via the [Analytics REST API](/docs/reference/dynamic-links/analytics).\n- Using the Dynamic Link Builder API on [iOS](/docs/dynamic-links/ios/create), [Android](/docs/dynamic-links/android/create), and [Flutter](/docs/dynamic-links/flutter/create). This is the preferred way to dynamically create links in your app for user-to-user sharing or in any situation that requires many links. You can track the performance of Dynamic Links created with the Builder API using the Dynamic Links [Analytics API](/docs/reference/dynamic-links/analytics).\n- Using the [REST API](/docs/dynamic-links/rest). This is the preferred way to dynamically create links on platforms that don't have a Builder API. The [Analytics REST API](/docs/reference/dynamic-links/analytics) can be used to track the performance of promo campaigns created in the console.\n- [Manually](/docs/dynamic-links/create-manually). If you don't need to track click data and you don't care if the links are long, you can manually construct Dynamic Links using URL parameters, and by doing so, avoid an extra network round trip.\n\nNext steps\n\nAfter you create Dynamic Links, you need to set up your app to receive\nDynamic Links and send users to the right place in your app after a user opens them.\n\nTo receive Dynamic Links in your app, see the documentation for\n[iOS](/docs/dynamic-links/ios/receive), [Android](/docs/dynamic-links/android/receive),\n[Flutter](/docs/dynamic-links/flutter/receive),\n[C++](/docs/dynamic-links/cpp/receive), and [Unity](/docs/dynamic-links/unity/receive)."]]