You run paid UA at scale.
Branch attributes installs across ad networks, supports SKAdNetwork, and ties spend to outcomes. Ferry only attributes what happens after someone opens one of your links.
Branch is an excellent enterprise platform. If you are an indie developer or a small team, you are paying for MAU-priced contracts and a procurement process you do not need. Ferry does the deep linking jobs at a flat monthly price.
Ferry is a self-serve Branch alternative for teams that need deep links, deferred deep linking, custom domains, and link-level revenue attribution without an enterprise contract. Pricing is flat, from $0 to $299 per month based on link opens, not MAUs. Branch remains the better choice if you need full MMP attribution, fraud tooling, or enterprise features.
Branch does more than Ferry. The question is whether you need the part it does more of, and whether you want to buy it through a sales process.
| Capability | Branch | Ferry |
|---|---|---|
| Deep links | Mature deep linking across a very large surface of channels, platforms, and edge cases. | Universal Links and App Links with store routing and a web fallback, served from one hostname. |
| Deferred deep links | Yes. Long-established deferred deep linking. | Yes. Server-side matching returns the original link payload with a method and a confidence level on every match. |
| Attribution | Full MMP-grade attribution: ad network integrations, SKAdNetwork support, cost data, and fraud tooling. | Link-level attribution: installs, signups, purchases, and revenue by link and campaign. No ad network integrations, SKAdNetwork, or fraud suite. |
| SDKs | Broad SDK coverage, including Unity and other runtimes Ferry does not support. | Swift, Kotlin, Flutter, and React Native SDKs, plus a plain HTTP API for anything else. |
| Custom domains | Yes, branded link domains. | One custom domain per project on Launch and above. Every plan includes a shared feryl.io subdomain. |
| Pricing model | Priced on monthly active users and sold through sales-led enterprise contracts. | Flat monthly tiers by link opens: $0 to $299 per month for 5,000 to 3,000,000 opens. 14-day trial, no free tier. |
| Self-serve signup | Onboarding for paid products runs through a sales process. | Yes. Sign up, create a project, ship. No sales call at any tier. |
Branch does not publish most of its pricing; its model is described here qualitatively. Verify current terms with Branch directly.
Credibility beats puffery: Branch has years of attribution infrastructure Ferry has not built and deliberately will not build. Choose Branch when these apply.
Branch attributes installs across ad networks, supports SKAdNetwork, and ties spend to outcomes. Ferry only attributes what happens after someone opens one of your links.
Branch ships dedicated fraud detection for paid campaigns. Ferry filters obvious bot and preview traffic out of your bill, but it is not an anti-fraud product.
SSO, SLAs, compliance reviews, and dedicated support are Branch strengths. Ferry deliberately does not build for enterprise procurement.
Unity games, desktop apps, and web-to-app journeys products like smart banners are covered by Branch. Ferry covers iOS, Android, Flutter, React Native, and HTTP.
A Branch migration is mostly link inventory and payload mapping. The SDK swap itself is the small part.
Export your links and identify which are still live in campaigns, emails, QR codes, and product flows. Most old links have no traffic and do not need migrating.
Create a project, connect your link domain or a feryl.io subdomain, and map each Branch link payload to a Ferry data payload.
Replace the Branch SDK with the Ferry SDK for your platform, then test installed-app routing and deferred first-open matching before cutting traffic over.
Ferry is not free: plans start at $9 per month with a 14-day trial and no free tier. Firebase Dynamic Links was the big free option and it shut down in 2025. Fully free usually means building Universal Links and App Links yourself, which works but gives you no deferred deep linking and no attribution.
Branch prices on monthly active users through sales-led contracts, so cost scales with your audience size. Ferry charges flat monthly tiers based on link opens: $0 to $299 per month for 5,000 to 3,000,000 opens. You pay for the links people actually open, not for every user in your app.
Partly, and it is important to be precise. Ferry attributes installs, signups, purchases, and revenue to the specific link and campaign that drove them. It does not do MMP attribution: no ad network integrations, no SKAdNetwork, no cost aggregation, and no fraud suite. If those are load-bearing for you, keep an MMP.
Yes. When someone installs from a Ferry link, the first app open is matched back to the originating link server-side, and your app receives the original payload with the match method and a confidence level.
Inventory which Branch links still get traffic, recreate them in Ferry with equivalent payloads, swap the SDK, and verify both the installed-app and install-then-open journeys. Ferry publishes a step-by-step Branch migration guide on the blog.
No. Every Ferry tier is self-serve: sign up, start a 14-day trial, and integrate the same day. There is no sales process at any price point.
Start a trial, integrate the SDK, and see your first attributed opens the same day. No demo call required.