Both replace Firebase Dynamic Links, both redirect from Cloudflare Workers, and both do deferred deep linking. The difference that lands on your invoice is metering: LinkHopp counts your clicks and LinkSense does not. Everything below was checked on 28 August 2026.
Both free plans say 1,000. LinkHopp means 1,000 clicks a month. LinkSense means 1,000 links, for good — clicks are not counted at all.
1,000 clicks a month on Free, 50,000 on Starter at $49, 200,000 on Pro at $79, 1,000,000 on Business at $149. The meter runs on every tier, so the plan you need is a function of how much your links get used.
That is a fair model for campaign links, where volume is something you choose. It is an awkward one for transactional links — password resets, magic links, order confirmations — because those scale with how many users you have, not with what you decided to spend.
Our plans have exactly two limits: projects and links. There is no click quota, no overage line and no per-user price anywhere in billing. The free plan carries unlimited clicks; $19.99 a month removes the project and link limits.
Pro is also the last plan. There is no Enterprise tier above it, so a link that goes unexpectedly well changes your traffic graph and nothing else.
LinkHopp figures read from their pricing page and changelog on 28 August 2026.
| LinkHopp | LinkSense | |
|---|---|---|
| Free plan | $0 — 1,000 clicks per month, 10 links | $0 — 1,000 links total, unlimited clicks, 1 project |
| Cheapest paid plan | $49/mo — 50,000 clicks per month, unlimited links, 3 seats | $19.99/mo — unlimited links, unlimited projects, unlimited clicks |
| Plans above that | $79/mo for 200,000 clicks; $149/mo for 1,000,000 | None. Pro is the top plan — there is no Enterprise tier |
| What the meter counts | Clicks per month, on every tier | Nothing. There is no click quota and no overage in billing |
| Seats | 3 on Starter, 10 on Pro | None — LinkSense has no teams, seats or roles |
| Uptime commitment | 99.9% SLA on the $149 Business tier | No SLA offered |
One caveat on their side worth knowing before you buy: LinkHopp's homepage and pricing page describe the tiers differently. The homepage sizes them by projects and puts custom domains on the top tier; the pricing page sizes them by links and puts custom domains on Starter. Confirm the tier contents rather than the marketing page.
Including the rows we lose. A comparison table that never concedes anything is an advert.
| LinkHopp | LinkSense | |
|---|---|---|
| Universal Links & App Links hosting | Yes | Yes — the association files are generated and served on your subdomain, on every plan including free, with no SDK |
| Device routing (iOS / Android / desktop) | Yes | Yes |
| Deferred deep linking | Yes — clipboard token plus a server-side fingerprint. The Play Install Referrer read is a method channel you implement yourself; their README says it falls back to fingerprinting when absent | Yes — Pro, and still Beta. The Play Install Referrer read is compiled into our Android SDK and on by default; the iOS pasteboard read ships in our SDK behind an opt-in |
| Native iOS & Android SDKs | None published — nothing on Maven Central, CocoaPods or SPM as of 2026-08-28 | Both published — an AAR on Maven Central and a Swift package |
| Flutter & React Native packages | Published on pub.dev and npm since March 2026 | Not published. If you build in Flutter or React Native, this is their advantage today |
| REST API | Yes — 13 documented operations, OpenAPI 3.1 spec | Yes — free on every plan, including the free one |
| Custom domains | Starter, $49/mo | Pro, $19.99/mo |
| A/B testing / link variants | Yes — weighted variants, Pro $79/mo | No. Not implemented |
| Geo targeting | Yes — country code to URL | No. Not implemented |
| Link expiry | Yes — Pro $79/mo | No. Not implemented |
| Outbound webhooks | Yes — HMAC-signed, Pro $79/mo | No. Not implemented |
| Structured UTM fields on a link | Yes — utm_source / utm_medium / utm_campaign on the link object | No builder. Put your own query string on the destination URL |
| Firebase Dynamic Links import | Yes — self-service importer | No importer. You recreate links in the dashboard or over the REST API |
| Hosted landing page | Not offered | One per project, built from your store listing — served to links that have no desktop URL of their own |
| QR codes | Yes — a PNG endpoint on the API | Yes — plus a free generator that needs no account |
| Analytics | Per-link click stats | Clicks by device, browser, OS, country and referrer. 7 days of history on free, all of it on Pro |
| CSV / data export | Not documented publicly | No. There is no export anywhere in the product today |
Four of them, stated plainly, because you will find them anyway.
Their packages have been on pub.dev and npm since 22 March 2026. Ours are not published at all — LinkSense ships native iOS and Android SDKs, and the cross-platform wrappers are unreleased. If you are writing Dart or TypeScript this week, that is the whole comparison.
LinkHopp keeps click fingerprints for 24 hours; our probabilistic window is 1 hour. For the user who taps a link at lunch and installs the app that evening, theirs can still make the connection and ours cannot.
They ship a tool that pulls your existing Firebase Dynamic Links across. We do not have one — you recreate links in the dashboard or over the REST API.
A/B testing, geo targeting, link expiry, HMAC-signed webhooks, team seats, structured UTM fields and a smart-banner widget are all on their published feature list. None of them exist in LinkSense. If your shortlist requires any of them, this page should end here.
LinkSense billing has two limits — projects and links. There is no click quota, no overage and no MAU price anywhere in it. Free includes unlimited clicks; Pro is $19.99 flat and is also the top plan, so the bill cannot move because a link did well.
We generate and serve the Apple App Site Association and Android assetlinks files on your subdomain, so a tap opens your app with the full URL intact and your own code decides what to show. No SDK, no plan gate, no feature flag. It is the same on the free plan as on Pro.
The Play Install Referrer read is compiled into our Android SDK and enabled by default, and the iOS pasteboard read ships inside our Swift SDK behind an explicit opt-in. LinkHopp documents both mechanisms but ships neither in native code — their Flutter and React Native packages call out to a plugin you are expected to write, and their own README says the Android path falls back to fingerprinting when it is missing.
Every project gets a hosted landing page generated from your store listing. Links that carry their own desktop URL go straight there instead. LinkHopp does not offer hosted landing pages.
LinkHopp advertises a 90% deferred match rate. Their founder has published the internals in unusual detail, which is to their credit — and the two write-ups do not agree with each other. One rates the Play Install Referrer stage at roughly 98%; the other describes the same stage as an exact match “about 30% of the time”. The overall figure is 85–90% in one article and about 90% in the other.
We publish no match rate at all, and the reason is structural rather than modest. When a Universal Link or App Link works, the operating system opens your app straight from the association file already on the device and no link service is contacted. That is true of LinkHopp, of us, and of any vendor in this category. The best outcome is the one that leaves no record, so any rate quoted next to it is unfalsifiable from the vendor's own data.
Compare the mechanism instead. It is the part you can read.
Six things about LinkSense that are easier to learn from this page than from a migration.
There is no wildcard or prefix routing. /reset?token=abc resolves to your /reset link; /reset/abc does not. If your Firebase links used path prefixes, that is the part of the migration that takes work.
It is a real feature, it is gated to Pro, and it is labelled Beta because it is. Try it — do not build a launch on it yet.
LinkSense has no teams, seats, roles or invites. Every access rule in the database is a single-owner check. LinkHopp sells seats from its $49 tier.
There is no CSV or data export today. You can read everything back over the REST API, which is free on every plan, but there is no download button.
We do not store a screen or route per link. We hand your app the full URL and your own routing code takes it from there. That is a design choice, but it means there is nothing to configure in our dashboard for in-app destinations.
A link that goes to the App Store or Google Play cannot carry your query string through the install by itself. That is what deferred deep linking is for, and on our side that is the Pro Beta feature above.
Not sure which side you fall on? Read our pricing page — both plans are on it, and the free one needs no card.
The free plan gives you 1,000 links, unlimited clicks, the REST API and hosted app linking. Point a subdomain at it and see whether your links open your app.
Create a free accountNo credit card · No click metering · No SDK required for app linking