Elido
11 мин чтенияСравнения

Branch.io is $499/month — what does Elido's deep-link routing actually cost?

Branch.io pricing math, where Elido covers the same patterns, and the exact decision framework for picking one or the other

Ana Kowalska
Marketing solutions engineering
Pricing comparison: Branch.io tiers ($199, $499, custom) vs Elido Pro/Business with deep-link routing column

Branch.io is the enterprise standard for mobile deep linking. Airbnb uses it. Pinterest uses it. Thousands of apps use it. Branch's published pricing starts at $199/month for the Activation tier and steps up to $499/month for Engagement. Enterprise is a custom contract conversation.

For most apps now migrating off Firebase Dynamic Links — deprecated as of 2025-08-25 — that's a ten-to-fifty-times step up from "free". Firebase Dynamic Links cost nothing. Branch's entry tier is $199/month. Five apps on the Engagement tier: $2,400 to $6,000 per year before you've written a line of code.

Branch is genuinely necessary in a specific set of cases. This article tries to be honest about what those cases are, what the pricing is buying, and where Elido covers the same routing patterns for a fraction of the cost. If you land in the "need Branch" column, this saves you time confirming it. If you land in the "don't need Branch" column, it saves you money.

All Branch pricing figures are from the public Branch pricing page accessed in May 2026. Verify before you quote.

TL;DR#

  • Branch's $199/month Activation tier covers Universal Link / App Link configuration, basic deferred deep linking, and SDK-level install attribution. It does not include advanced MMP integrations, multi-touch attribution, or predictive analytics.
  • Branch's $499/month Engagement tier adds retargeting, journeys (web-to-app banners), and deeper analytics. This is where most production apps end up.
  • If you need install attribution — "which ad caused this install?" — Branch is the right tool. Elido does not do install attribution.
  • If you need Universal Links and App Links to route authenticated users to the right in-app screen after a click, Elido covers that via custom domain deep-link rules. Price: included in Pro and above.
  • For a 100K-MAU app that doesn't need install attribution, the annual cost difference between Branch Engagement and Elido Business is roughly $4,400–$5,400 per year.

What Branch.io actually charges for#

Branch's pricing makes more sense once you understand what the platform actually does underneath. Three layers.

Layer 1: Universal Links and App Links setup. This is the plumbing — Apple's Associated Domains file, Android's Digital Asset Links JSON, the HTTPS fallback page when no app is installed. Every deep link platform does this. Firebase Dynamic Links did it for free. Branch does it better (more reliable handling of edge cases, explicit iOS 16+ routing support) but the capability itself is commodity.

Layer 2: Deferred deep linking with install attribution. This is what Branch built its reputation on. When a user taps a Branch link but doesn't have the app installed, Branch records the original link parameters, redirects to the App Store or Play Store, and after the install completes, the SDK "defers" the routing by replaying those parameters from the first open. Attribution is tracked: Branch knows which campaign, ad network, or content piece drove the install. This feeds into your MMP (AppsFlyer, Adjust, Singular) via server-to-server postbacks. This is the capability that costs money, because it requires Branch's infrastructure to handle the device fingerprint or device ID matching, store the pending parameters, and replay them correctly across the install gap.

Layer 3: Journeys, retargeting, predictive audiences. Web-to-app banners (Journeys), paid retargeting audiences built from Branch link click data, and cohort-level install predictions. These are Engagement-tier features that justify the jump from $199 to $499.

The $199/month is not "pay for a Universal Link". It is paying for the install-attribution infrastructure. If you don't need that infrastructure, you are paying $199/month for commodity plumbing.

What Elido covers in the same space#

Elido is not a Branch replacement. It covers a narrower set of use cases — without the install-attribution overhead.

Universal Links and App Links via custom domain. Elido's deep-link routing feature generates and serves the required apple-app-site-association file and assetlinks.json file from your custom short-link domain. You configure your app's bundle ID and team ID once in the workspace. The platform handles TLS, CDN caching of the well-known files, and the HTTPS fallback destination when no app is installed. The deep links feature page covers the setup mechanics.

Geo and device routing in a single link. Elido evaluates six routing dimensions at the edge on every redirect: device OS, device type, country, language, referrer, and time-of-day. A single link can route iOS users to the App Store, Android users to the Play Store, and desktop users to a web landing page, all from the same short URL. Rule evaluation runs at the edge with p95 under 15ms. No SDK required on the device.

Click analytics with downstream breakdown. Every redirect through Elido logs the full click event: device type, OS, country, city, referrer, browser. ClickHouse-backed dashboards show the breakdown in real time. For acquisition campaigns where you own the upstream UTM and don't need the post-install attribution, this is sufficient to run campaign ROI analysis.

Custom domain for the deep-link file hosting. If your app's Universal Links domain is go.yourapp.example, Elido handles TLS on-demand via Caddy and serves the well-known files from that domain. No extra infrastructure needed on your side. This is covered in the Business plan.

What Elido does not do: deferred deep linking after an app install, device fingerprint or IDFA-based attribution, SDK-level install tracking, MMP postback forwarding, or Journeys-style web-to-app banners. If you need those, Branch is the right tool.

The decision matrix#

Here is the honest version.

You need Branch if:

  • You run paid user acquisition and need to know which ad creative drove which install, at the install-event level. This is the core Branch use case and no lightweight tool matches it.
  • You use an MMP (AppsFlyer, Adjust, Singular, Kochava) and need the Branch-to-MMP postback to flow correctly. The integration is mature and widely certified on the Branch side.
  • You need deferred deep linking after install — the app needs to open to the exact screen that was linked, even though the user had to install first.
  • You run web-to-app campaigns with Journeys banners, smart banners, or Branch-hosted interstitials.
  • Your app has more than one team using link data, and you need the collaboration and governance features that come with the Engagement or Enterprise tier.

You do not need Branch if:

  • Your deep-link use case is authenticated user routing. A logged-in user taps a share link, it opens the app to the right screen. No install gap. No attribution needed. Elido handles this.
  • You are sending transactional or lifecycle push/email links that land authenticated users in a specific in-app view. The app is already installed; you just need the URL to route correctly.
  • You need device-type routing for a landing page: iOS → App Store, Android → Play Store, desktop → marketing page. This is a routing rule, not attribution.
  • You're building a QR code for offline-to-online that routes to the right app or web destination by device. Again: routing, not attribution.
  • Firebase Dynamic Links covered your use case for the last three years and you never looked at install attribution in the dashboard. If install attribution wasn't part of your workflow, the replacement doesn't need to be Branch either.

The diagnostic question is: "Do I need to know which campaign caused an install?" If yes, Branch. If no, you're probably paying for infrastructure you don't use.

Pricing example: a 100K-MAU app#

Concrete numbers: a mobile app with 100,000 monthly active users, running lifecycle deep links (push, email, in-app share), on a custom domain, and not running paid acquisition campaigns with install attribution.

Branch Engagement tier: $499/month = $5,988/year.

You're on Engagement rather than Activation because you need Journeys (web-to-app banners on the marketing site) and because the Activation tier's analytics are limited for anything beyond a single app. The $499 is the floor; if your link volume or advanced attribution requirements push you into a custom tier, pricing is negotiated separately.

Branch Activation tier: $199/month = $2,388/year.

If you can stay on Activation — no Journeys, basic analytics, one app — this is the entry price. Still $2,388 per year for routing that doesn't require install attribution.

Elido Business plan with custom domain and deep-link routing: approximately $588–$780/year depending on click volume and workspace configuration.

The deep-link routing feature is included in Pro and above. The custom domain (your go.yourapp.example serving the well-known files) is a Business plan feature. For a 100K-MAU app sending lifecycle links — roughly 200K–500K deep-link clicks per month — you land in Business plan territory. Click overage is metered, not a hard cap.

Annual delta: $1,600–$5,400 per year in favor of Elido, for an app that never needed install attribution in the first place.

This math gets wider if you have multiple apps. Branch's pricing is per-account rather than per-app, but as workspaces scale and link volumes grow, the Engagement tier becomes a floor rather than a ceiling. Elido's per-click metering scales more predictably across multiple apps in the same workspace.

Migration considerations#

If you're coming off Firebase Dynamic Links and evaluating both options, the migration path matters.

Firebase Dynamic Links → Branch. Branch has a FDL migration guide with SDK-level compatibility handling. The main work is integrating the Branch SDK into iOS and Android, updating your Associated Domains entitlement, and testing deferred deep link behavior across the install gap. Budget one to two weeks of engineering time for a typical app — more with complex routing logic embedded in the old FDL parameters.

Firebase Dynamic Links → Elido. The work is narrower because there's no SDK to integrate. You point your custom domain's CNAME at Elido, configure the apple-app-site-association and assetlinks.json through the workspace UI, and update your app's Associated Domains entitlement to use the new domain. Existing links that use FDL's page.link domain stop working on the FDL shutdown date; links through your own custom domain redirected by Elido continue working as long as the rules are configured. There's no deferred deep linking after install — if you had FDL parameters you were reading from DynamicLinks.dynamicLinks().handleUniversalLink post-install, you need to replicate that with a different mechanism (usually a first-open API call to your own backend that stores the originating link parameters by device).

More detail on the Firebase Dynamic Links migration is in the migrate from Firebase Dynamic Links guide.

What to keep in mind for either migration:

  • Update your apple-app-site-association with a new domain immediately after your FDL links stop resolving. The AASA cache on Apple's CDN can take 24 hours to propagate after you point a domain at a new server.
  • If you have a web fallback page that used FDL's preview page, you need to build or host a replacement. Elido's fallback is a redirect to any URL you specify; Branch's fallback is configurable per-link.
  • Test on physical devices, not simulators. Universal Link routing behaves differently on real hardware, and simulator behavior is not representative of what your users experience.

FAQ#

Does Elido replace Branch.io for all deep linking use cases?

No. Elido covers Universal Links, App Links, device routing, and click analytics for apps where the user already has the app installed (or where a simple App Store redirect is sufficient). It does not cover deferred deep linking across the install gap, install attribution, or MMP postback forwarding. If those are your use cases, Branch is the right tool.

Can I use Elido for deep links alongside Branch for install attribution?

Yes. Some teams use Branch specifically for new-user acquisition campaigns (where install attribution matters) and route all other deep links — lifecycle email, push, in-app share — through Elido on a custom domain. The domains are different, the SDK is only present in the attribution path, and the click analytics for the lifecycle links come from Elido. This hybrid is more common than it sounds. Branch's pricing makes sense for paid acquisition; it's harder to justify for lifecycle traffic.

What happened to Firebase Dynamic Links, and is Elido a direct replacement?

Firebase Dynamic Links was shut down effective 2025-08-25. Google's official migration path points to either Branch or a self-managed Universal Links / App Links setup. Elido sits in the latter category — it automates the well-known file hosting and link routing that you would otherwise manage yourself, with the addition of click analytics, geo/device routing rules, and a custom domain. It is a direct replacement for teams that used FDL for routing but not for install attribution.

Is Branch's $199/month Activation tier sufficient for a small app?

It depends on whether you need Journeys (web-to-app banners). Activation covers Universal Links, App Links, basic deferred deep linking, and a single app. If your marketing site has a "Download the App" CTA and you want a smart banner that detects existing app installs, that's a Journeys feature on the Engagement tier. Many small app teams land on Engagement not because they need the analytics depth but because they need the banner. If the banner is the gating item, evaluate whether the $300/month delta is the right way to serve a web-to-app banner — there are lighter options.

How does Branch pricing scale for teams with multiple apps?

Branch's pricing page doesn't publish a per-app fee, but the platform is account-scoped rather than per-app. In practice, teams with multiple apps negotiate custom tiers or pay for Engagement and accept that the analytics surface is shared. If you have three or more apps with distinct branding and link domains, the Elido workspace model (one workspace per app or brand, per-click metering across the workspace group) scales more predictably than Branch's custom-quote path.

Where to go from here#

The deep links feature page has the setup flow for Universal Links and App Links on Elido — it takes about fifteen minutes for an app already configured for HTTPS. The pricing page has the current per-click tiers; the deep-link routing feature is included at no extra per-link charge.

If you're on the Firebase Dynamic Links migration path, the migration guide covers the step-by-step for both iOS and Android, including the AASA cache timing and the first-open handling patterns you need if you were reading FDL parameters post-install.

If you're evaluating both Branch and Elido and the deciding factor is install attribution, the honest answer is: Branch is the right tool for that use case and the $199–$499/month cost is defensible against a paid UA budget. The cases where it isn't defensible are the ones where you're paying for attribution infrastructure you're not using. Most apps migrating off Firebase Dynamic Links fall into that category.

Попробуйте Elido

URL-сокращатель с хостингом в ЕС: собственные домены, глубокая аналитика, открытый API. Бесплатный тариф — без банковской карты.

Теги
branch.io alternative
branch.io pricing
mobile deep linking
deep link cost
branch vs elido
firebase dynamic links

Читать дальше