Smler Logo
SMLER

Migrate Firebase Dynamic Links to Smler.io (2026 API Guide)

Firebase Dynamic Links shut down in 2025. This updated 2026 guide covers migrating to Smler.io: API mapping, domain transfer, costs, and troubleshooting.


Migrate Firebase Dynamic Links to Smler.io (2026 API Guide)

What changed: Firebase Dynamic Links shut down completely in August 2025. A year later, plenty of teams still haven't finished migrating, and some are only now discovering broken links in old marketing materials. This guide has been updated to reflect that the shutdown is no longer a future event — it's already happened — and to walk you through migrating to Smler whether you're doing this for the first time or cleaning up an incomplete migration.

If you're weighing platforms, we also compare Branch.io to Smler below so you can decide before committing. Before the technical steps, check our broader deferred deep linking guide and our roundup of device-based redirect options.

Firebase Dynamic Links is fully offline as of today — there's no legacy API to fall back on, no export console, and no support channel. If you're reading this because a link stopped working, that's why. Any *.page.link URL, or a custom domain that was pointed at Firebase's Dynamic Links service, now returns an error or a blank page instead of routing users.

The practical impact one year in:

  • Old marketing assets are silently broken. QR codes on packaging, print ads, and old emails that used Dynamic Links no longer route anywhere.

  • App Store and Play Store listings that referenced Dynamic Links in screenshots or descriptions need updating.

  • Deferred deep linking flows built specifically around Firebase's SDK need a full replacement, not a patch.

If you're still comparing options at this stage, our tier list of free Firebase Dynamic Links alternatives and our breakdown of the cheapest Firebase alternative for startups are worth a look before you commit to a rebuild.

Branch.io vs Smler.io: What You Need to Know Before Migrating

Branch.io is the more established platform for enterprise attribution; Smler is the leaner choice for teams that just need reliable deep linking, URL shortening, and analytics. Here's the honest breakdown.

Branch.io Advantages

  • Mature attribution SDK: Industry-leading mobile measurement partner (MMP) capabilities with advanced attribution modeling

  • Cross-platform journey orchestration: Sophisticated user journey tracking across web, email, SMS, and in-app channels

  • Deep integration ecosystem: Pre-built integrations with major ad networks and marketing automation tools

  • Advanced audience segmentation: Build user segments based on deep link interactions and app behavior

  • Enterprise support infrastructure: Dedicated account managers and custom SLAs for large organizations

Branch.io Disadvantages

  • Pricing complexity: Enterprise-tier pricing scales quickly once you need custom domains, webhooks, or meaningful MAU limits

  • Feature lock-in: Data exports, advanced analytics, and webhook customization are often gated behind higher tiers

  • Over-engineering for simple use cases: If you only need URL shortening and basic deep linking, the setup overhead outweighs the benefit

  • Attribution-first focus: Heavily optimized for ad measurement, which is overkill if deep linking is your primary need

  • Vendor dependency: Proprietary SDK implementation makes any future migration harder

Smler.io Advantages

  • Transparent, click-based pricing: No hidden MAU charges or features locked behind enterprise-only tiers

  • Fast migration: Direct API compatibility with Firebase-style link creation means minimal code changes

  • Full feature access: Deferred deep linking, link-level analytics, custom domains, and webhooks available on paid plans, not gated behind an enterprise tier

  • TRAI compliance built in: Native support for regulatory-compliant SMS campaigns with custom headers

  • No vendor lock-in: Standard deep linking protocols mean you're never boxed into one platform

  • Developer-friendly docs: Clean API reference with code samples for iOS and Android

Bottom line: Choose Branch.io if you're an enterprise with complex attribution needs and a large annual budget for deep linking infrastructure. Choose Smler if you need reliable deep linking, URL shortening, and analytics without that overhead. For most teams migrating off Firebase, Smler covers the core functionality at a fraction of the cost.

You can no longer export Dynamic Links data directly from Firebase — the console and APIs that supported this are offline. If you exported your link configuration before the shutdown, use that file. If you didn't, you'll need to rebuild your link inventory from secondary sources.

Where to Find Your Old Link Structure

  • Marketing platforms (email tools, ad managers, social schedulers) that stored the original Dynamic Links you sent out

  • Your own app code — search for page.link or your custom domain string across the codebase and CMS

  • Analytics tools (Firebase Analytics exports, GA4, or any internal event logging) that recorded which Dynamic Links drove installs

  • Print and packaging assets — QR codes on physical materials often point to Dynamic Links that need to be reissued

Document Your Link Structure

For each link you find, record:

  • The original long URL and its short link

  • Custom URL parameters and UTM tags

  • Platform-specific fallback URLs (App Store, Play Store, web fallback)

  • Social meta tags (OG titles, descriptions, images)

  • Campaign associations and naming conventions

  • Deep link paths and custom schemes (e.g., yourapp://product/12345)

This inventory is tedious but it's the foundation for everything else — you can't recreate working links in Smler until you know what the old ones were supposed to do.

Step 2: Custom Domain Transfer and DNS Configuration

One of the biggest migration pitfalls is custom domain handling. Firebase let you use domains like link.yourbrand.com instead of generic *.page.link addresses. Moving these to Smler requires careful DNS reconfiguration.

Common Domain Transfer Pitfalls

  1. Propagation delays: DNS changes can take up to 24-48 hours to fully propagate. Plan the cutover during a low-traffic window so users don't hit broken links mid-change.

  2. Existing link breakage: Every previously shared Firebase link using your custom domain is already dead, since Firebase's service is offline. Recreate the same URL paths in Smler so old links resolve correctly going forward.

  3. Root domain vs subdomain: Smler requires a subdomain (like link.yourbrand.com) rather than a bare root domain. If you were using a root domain with Firebase, update your links to the subdomain pattern.

Smler supports custom branded domains through a standard CNAME setup, and if your root domain needs to redirect somewhere specific, root routing handles that without extra infrastructure.

The core of your migration is translating Firebase Dynamic Links API calls into Smler equivalents. Firebase's link-creation API is retired, so there's nothing to call there anymore — the work is entirely on the Smler side now.

Creating Links in Smler

Full request and payload examples for creating deep links are in the Postman API docs. Smler builds on Universal Links (iOS) and App Links (Android) rather than a proprietary SDK, so the amount of integration code you need is smaller than with most Firebase alternatives. If you want the underlying mechanics before you start wiring up calls, our technical guide to how deep linking works is a useful primer.

Retrieving Link Data: getLink API

Firebase's link-stats endpoint (shown below for reference) is no longer callable — it's included only so you can see what you're replacing:

// Firebase - Get link stats (retired, no longer callable) 
const getFirebaseLinkStats = async (shortLink) => { 
  const response = await fetch( `https://firebasedynamiclinks.googleapis.com/v1/${shortLink}/linkStats?durationDays=7`, 
    { headers: { 'Authorization': 'Bearer ' + authToken } } ); 
  return await response.json(); 
};

Smler approach: hit the get-long-URL endpoint with the short code to retrieve the corresponding long URL and its metadata. The exact request structure is documented in the API docs.

Step 4: Testing Your Migration

Thorough testing is what prevents a migration from creating a second wave of broken links. Test on real devices, not just simulators.

Smler Dashboard Testing

  1. Link validation: Go to Smler dashboard → Links → Create new link, and enable deep linking when you generate the URL.

  2. Device testing:

    • iOS: test with the app installed and not installed. Confirm Universal Links open the app directly without a Safari redirect — our iOS deep link testing guide covers the full checklist.

    • Android: confirm App Links open the app automatically without a disambiguation dialog — see our Android testing guide for device-specific edge cases.

    • Desktop: confirm web fallback URLs display correctly.

  3. Deep link routing: verify custom parameters pass through correctly, test deferred deep linking by installing via a link and confirming routing on first open, and validate that deep link paths land on the correct in-app content.

Analytics: What You Get With Smler

Metric

Firebase Analytics (historical)

Smler Analytics

Click tracking

Real-time, unlimited history

Real-time, with retention tied to your plan

Geographic data

Country-level

Country and city-level

Device breakdown

Platform and OS version

Platform, OS, device model, browser

Conversion tracking

Basic event tracking

Funnel-style analysis with attribution

Data export

CSV export

API export

For teams that just want geographic breakdowns, device tracking, and click trends without attribution complexity, Smler's link-level analytics cover it without tier restrictions.

Step 5: Troubleshooting Common Migration Errors

Redirect loops between app and browser

Symptom: Link clicks bounce between your app and web browser instead of settling.

Cause: Misconfigured Universal Links (iOS) or App Links (Android) with incorrect path patterns in your app's association file.

Deep link parameters not passing through

Symptom: The app opens correctly, but custom parameters (product IDs, user tokens) are missing.

Cause: Usually the wrong endpoint is being hit, or the payload is missing the parameter field entirely.

Solution: Send the same payload directly to Smler's API and inspect the response — the mismatch is almost always visible immediately.

Custom domain shows an SSL warning

Symptom: The custom domain resolves but browsers flag a certificate error.

Cause: DNS propagation hasn't finished, or the CNAME record points to the wrong target.

Solution: Double-check the CNAME value against your Smler dashboard settings and wait out the propagation window before assuming it's broken.

Analytics show fewer clicks than expected

Symptom: Click counts in Smler look lower than what you saw in Firebase Analytics.

Cause: Firebase and Smler count clicks differently (bot filtering, pre-fetch requests, and deduplication windows vary by platform).

Solution: Compare trends over a full week rather than absolute numbers day one — the shapes should match even if the totals don't line up exactly.

Feature and Pricing Comparison: Branch vs Smler

Feature

Branch (Free)

Branch (Paid)

Smler

Deep Linking

✅ Basic

✅ Advanced

✅ Full

Deferred Deep Links

Custom Domains

✅ Enterprise pricing

✅ Included on paid plans

Link Analytics

📊 Basic, limited history

📊 Advanced

📊 Full

Webhooks

✅ Higher tiers

✅ All plans

Bulk Shortening

✅ CSV/XLSX

Attribution/MMP

✅ Enterprise

For exact current pricing on either platform, check each provider's pricing page directly — figures move often enough that we won't quote them here. As a rule of thumb, Branch's paid tiers target enterprise attribution budgets, while Smler's plans start affordably and scale with click volume rather than app-wide MAU.

When to Choose Branch vs Smler

Choose Branch if you:

  • Need enterprise-grade mobile attribution and MMP capabilities

  • Run large-scale paid advertising campaigns across multiple ad networks

  • Require sophisticated cross-channel attribution and journey mapping

  • Have budget for enterprise-level deep linking infrastructure

Choose Smler if you:

  • Primarily need URL shortening with deep linking capabilities

  • Want simple, click-based pricing without MAU complexity

  • Need TRAI compliance for SMS campaigns in India

  • Prefer straightforward API integration without heavy SDK dependencies

  • Need bulk URL shortening for campaigns

Quick Smler Migration Checklist

  1. Sign up at Smler

  2. Get an API key from dashboard → Settings → API Keys

  3. Update link creation code to call Smler's endpoints instead of the retired Firebase API

  4. Configure custom domains via the dashboard with CNAME records

  5. Test deep links on real iOS and Android devices

Once your API key and domain are set up, most teams have working links within the hour — the exact timeline depends mostly on how much link inventory you're reconstructing from Step 1. See the iOS and Android integration guides for the implementation details.

Is Firebase Dynamic Links still working at all?
No. Firebase Dynamic Links shut down completely in August 2025. There is no legacy API, console, or fallback — any link still pointing to a page.link domain or a custom domain tied to Firebase is broken.

Can I still export my old Dynamic Links data?
Not through Firebase directly. If you exported your configuration before the shutdown, use that file. Otherwise, reconstruct your link inventory from marketing tools, app code, analytics exports, and physical assets like packaging QR codes.

How long does migrating from Firebase to Smler take?
Most of the time goes into rebuilding your link inventory, not the technical integration itself. Once you have your data, connecting Smler's API, setting up a custom domain, and testing on devices typically takes well under an hour.

Is Branch.io or Smler better for replacing Firebase Dynamic Links?
Branch fits teams needing enterprise attribution and ad-network integrations at enterprise budgets. Smler fits teams that mainly need reliable URL shortening, deep linking, custom domains, and analytics without that overhead or pricing complexity.

Will my old Firebase short links work again after I migrate?
Only if you recreate the same URL paths in Smler using your custom domain. Firebase's service itself won't come back online, but you can make a previously shared link resolve correctly again by rebuilding it under the same path.

Conclusion: Choose Your Migration Path Wisely

Migrating off Firebase Dynamic Links isn't optional anymore — the service has been offline for a year, and every day without a replacement means more broken links in the wild. Branch.io offers strong enterprise capabilities but comes with enterprise-level complexity and cost.

For most teams that relied on Firebase for URL shortening, deep linking, and basic analytics, Branch is significant over-engineering. Smler covers the core functionality — intelligent short links, deferred deep linking, custom domains, and detailed analytics — without the attribution complexity or price tag.

Next Steps

Whether you land on Branch for enterprise attribution or Smler for cost-effective deep linking, the priority now is closing the gap left by Firebase before more of your links quietly fail.

Ready to Migrate from Firebase?

Smler makes Firebase Dynamic Links migration straightforward with API compatibility, transparent pricing, and full deep linking capabilities.

View Pricing Plans | Read Documentation | Contact Support

Published with LeafPad