Firebase Dynamic Links officially shut down in August 2025, forcing millions of developers to find alternatives. If you're considering smler.io as your migration destination, this comprehensive guide walks you through the entire API migration process, complete with code samples, cost breakdowns, and troubleshooting tips. We'll also compare Branch.io to Smler so you can make an informed decision before committing to a new platform.
Before diving into the technical migration steps, check out our complete Firebase Dynamic Links Migration Checklist for a broader overview of all migration considerations and our analysis of free Firebase alternatives.
Branch.io vs Smler.io: What You Need to Know Before Migrating
Branch.io is one of the most established deep linking platforms with enterprise-grade features, but it comes with significant costs and complexity. Here's an honest comparison:
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 (Facebook, Google, TikTok), analytics platforms, and marketing automation tools
Advanced audience segmentation: Create granular 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: Starts at $50,000+ annually for meaningful MAU (Monthly Active User) limits; costs scale rapidly beyond 10K MAU
Feature lock-in: Many essential features like data exports, advanced analytics, and webhook customization require enterprise plans
Over-engineering for simple use cases: If you only need URL shortening and basic deep linking, Branch's complexity creates unnecessary overhead
Attribution-first focus: Heavily optimized for attribution and ad measurement, which may be overkill if you're primarily focused on deep linking
Vendor dependency: Proprietary SDK implementation makes future migrations challenging
Smler.io Advantages:
Transparent pricing: Starts at just $9/month with generous click limits; no hidden MAU charges or feature paywalls
10-minute migration: Direct API compatibility with Firebase-style link creation; minimal code changes required
Full feature access: Deferred deep linking, link-level analytics, custom domains, and webhooks available on all paid plans
TRAI compliance built-in: Native support for regulatory-compliant SMS campaigns with custom headers
No vendor lock-in: Standard deep linking protocols mean you can migrate to any platform in the future
Developer-friendly: Clean API documentation, extensive code samples for iOS and Android
Bottom line: Choose Branch.io if you're an enterprise with complex attribution needs and a six-figure budget. Choose Smler if you need reliable deep linking, URL shortening, and analytics without the enterprise price tag. For most teams migrating from Firebase, Smler offers 95% of the functionality at 1% of the cost.
Step 1: Export Your Firebase Dynamic Links Data
Before Firebase Dynamic Links went offline, Google provided limited data export capabilities. If you didn't export your data before the shutdown, you'll need to recreate your link structure manually. For those who have access to Firebase project data, here's how to extract your Dynamic Links configuration.
Extract Links Using Firebase Admin SDK
Firebase didn't provide a direct API to list all Dynamic Links, but you can extract link analytics and configuration data using the Firebase Admin SDK and REST API.
Important caveat: If you didn't store Dynamic Links metadata in your own database, you'll need to manually recreate your link structure by reviewing your marketing materials, app code, and any documentation where you tracked link usage.
Document Your Link Structure
Create a comprehensive inventory of all your Dynamic Links including:
Original long URLs and their corresponding short links
Custom URL parameters and UTM tags
Platform-specific fallback URLs (iOS App Store, Google Play Store, web fallback)
Social media meta tags (OG titles, descriptions, images)
Campaign associations and link naming conventions
Deep link paths and custom schemes (e.g.,
yourapp://product/12345)
Step 2: Custom Domain Transfer and DNS Configuration
One of the biggest migration pitfalls is custom domain handling. Firebase allowed you to use custom domains like link.yourbrand.com instead of generic *.page.link domains. Transferring these to smler.io requires careful DNS reconfiguration.
Smler.io Custom Domain Setup
Smler requires specific DNS records to enable custom domains:
Common Domain Transfer Pitfalls
Propagation delays: DNS changes can take 24-48 hours to fully propagate. During this period, some users may encounter broken links. Plan your migration during low-traffic periods.
Existing link breakage: All previously shared Firebase Dynamic Links using your custom domain will break unless you create the same link smler. Using the same url path. Once, created you don't have to worry about anything
Root domain vs subdomain: Smler requires a subdomain (like
link.yourbrand.com) and doesn't support root domain linking. If you were using a root domain with Firebase, you'll need to update all existing links.
Smler supports custom branded domains with the CNAME setup process
Step 3: API Mapping - Firebase Dynamic Links to smler.io
The core of your migration involves translating Firebase Dynamic Links API calls to smler equivalents. Here's a detailed comparison with code samples.
Creating Links: Firebase vs Smler
Firebase Dynamic Links API (deprecated):
We'll not go over this section. Because, if you're migrating you already know how to setup dynamic links in firebase
smler.io API equivalent:
You can check api docs of creating a dynamic links in postman docs. It has sample with payload.
Smler uses all the latest technology in dynamic links. Hence, the amount of code needed for dynamic links to work is significantly lower than other competitors.
Smler uses universal links
Retrieving Link Analytics: getLink API
Firebase approach:
// Firebase - Get link stats (deprecated)
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:
You can hit the get long url endpoint with the short code. You'll then get the corresponding long url for it. Checkout the structure in api docs
Step 4: Testing Your Migration
Thorough testing is critical to ensure your deep links work correctly across all platforms and scenarios.
Smler Dashboard Testing
Link Validation:
Navigate to Smler dashboard → Links → Create new link
Enable Deep linking when you generate the url
Device Testing:
iOS: Test on device with app installed vs not installed. Verify Universal Links open app directly without Safari redirect
Android: Test App Links behavior. Verify automatic app opening without disambiguation dialog
Desktop: Confirm web fallback URLs display correctly
Deep Link Routing:
Verify custom parameters are passed correctly to your app
Test deferred deep linking: Install app via link and confirm proper routing on first open
Validate deep link paths navigate to correct in-app content
Analytics Comparison: Branch vs Firebase
Branch's analytics dashboard differs significantly from Firebase's approach:
Metric | Firebase Analytics | Smler Analytics |
|---|---|---|
Click Tracking | Real-time, unlimited history | Real-time, 120-day retention on free tier |
Geographic Data | Country-level | Country and city-level (enterprise only) |
Device Breakdown | Platform and OS version | Platform, OS, device model, browser |
Conversion Tracking | Basic event tracking | Advanced funnel analysis with attribution |
Data Export | CSV export available | API export |
For teams needing straightforward analytics without attribution complexity, Smler's link-level analytics provide geographic breakdowns, device tracking, and click trends without tier restrictions or data export limitations.
Step 5: Troubleshooting Common Migration Errors
Error 1: Redirect Loop Hell
Symptom: Link clicks result in infinite redirects between your app and web browser.
Cause: Misconfigured Universal Links (iOS) or App Links (Android) with incorrect path patterns.
Error 2: Deep Link Parameters Not Passing Through
Symptom: Your app opens correctly but custom parameters (product IDs, user tokens, etc.) are missing.
Cause: You're not hitting the correct endpoint.
Solution: Try to hit smler with the same payload and see what response you're getting and debug
Step 6: Feature comparison with branch vs firebase vs smler
Smler vs Branch Feature Comparison
Feature | Branch (Free) | Branch (Paid) | Smler |
|---|---|---|---|
Deep Linking | ✅ Basic | ✅ Advanced | ✅ Full |
Deferred Deep Links | ✅ | ✅ | ✅ |
Custom Domains | ❌ | ✅ ($50K+) | ✅ ($9/mo) |
Link Analytics | 📊 Basic (120 days) | 📊 Advanced | 📊 Full (unlimited) |
Webhooks | ❌ | ✅ (Growth tier) | ✅ All plans |
Bulk Shortening | ❌ | ✅ | ✅ CSV/XLSX |
Attribution/MMP | ❌ | ✅ Enterprise | ❌ |
Starting Price | Free (10K MAU) | $50,000+/year | $9/month |
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 user journey mapping and cross-channel attribution
Have budget for $50,000+ annual deep linking infrastructure
Need pre-built integrations with major ad platforms (Facebook, Google, TikTok)
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 (India-specific requirement)
Prefer straightforward API integration without heavy SDK dependencies
Want full feature access (custom domains, analytics, webhooks) on affordable plans
Need bulk URL shortening for campaigns
Quick Smler Migration Steps
Sign up: Create account at Smler (2 minutes)
Get API key: Generate from dashboard → Settings → API Keys (30 seconds)
Update link creation code: Swap Branch API calls for Smler endpoints (5 minutes)
Configure domains: Add custom domains via dashboard with CNAME records (2 minutes)
Test deep links: Verify iOS/Android behavior on test devices (1 minute)
Total migration time: 10 minutes
Check our detailed integration guides for iOS and Android to see exactly how to implement deferred deep linking in your apps.
Conclusion: Choose Your Migration Path Wisely
Migrating from Firebase Dynamic Links is unavoidable now that the service has shut down. Branch.io offers powerful enterprise capabilities but comes with enterprise-level complexity and costs that can quickly spiral to six figures annually.
For the majority of development teams who relied on Firebase for URL shortening, deep linking, and basic analytics, Branch represents significant over-engineering. The MAU-based pricing model means you'll pay based on all app activity, not just link usage, making costs unpredictable and often excessive.
Smler provides a streamlined alternative that handles the core functionality most teams actually need from Firebase—intelligent short links, deferred deep linking, custom domains, and detailed analytics—without the attribution complexity or enterprise pricing.
Next Steps
Review our Firebase to Smler migration documentation
Explore our API reference for detailed endpoint specifications
Try our QR code generator for offline-to-online campaigns
Read about QR code deep linking strategies
Learn how to set up real-time webhook notifications for link events
Whether you choose Branch for enterprise attribution or Smler for cost-effective deep linking, the key is migrating before your legacy Firebase links cause user experience issues. Start your migration today to ensure seamless deep linking for your users.
Ready to Migrate from Firebase?
Smler makes Firebase Dynamic Links migration simple with API compatibility, transparent pricing, and full deep linking capabilities starting at just $9/month.
View Pricing Plans | Read Documentation | Contact Support
Published with LeafPad