Skip to content

Deep linking · iOS, Android and web

Send people to the right screen in your app.

A link to your app usually dumps people on your home screen — or in the App Store with no idea where they were going. QubeRoute takes them to the exact page you meant, and shows you which link got them there.

The Firebase Dynamic Links replacement. Your links, working again — without an attribution suite you did not ask for. iOS, Android and web. One integration.

  • Free plan, no card
  • Set up in ten to twenty minutes

Attribution

Example

Totals, across every link

  • Clicks
  • Installs
  • Attributed

By link

Link
  • /spring-sale
  • /invite-a-friend
  • /black-friday

Clicks and Installs sit beside each one.

How sure we are

  • Certain
  • High
  • Medium

Every attribution lands in one of these.

How the attribution report is laid out: the totals, a row per link, the confidence bands. Example links, no figures — we do not draw numbers we have not measured.
  • Five lines of code
  • iOS, Android and web
  • No native code to write
  • Free plan, no card
  • From £19 a month

Who this is for

If one of these is you, this is the right tool.

You run a referral or affiliate programme

You need to know which partner earned each install — not just that an install happened. Every link is tied to whoever shared it.

Firebase Dynamic Links shut down and took your links with it

This is the replacement, and moving across is an afternoon. Your existing links keep the same shape.

You send links by email, SMS or social

And you want them to open the app at the right place, rather than the website — including for people who do not have the app yet.

You have an Ionic, Capacitor or React Native app

Five lines of JavaScript on iOS, Android and web, no native code to write and nothing to maintain per release.

Unattributed installs

Know which installs you cannot credit.

A report that shows only what it matched hands you a figure you cannot act on, because the installs it could not place are still being paid for. Ours is a field in the report, at the top, in the colour that means look at this.

Attribution

Example

Not attributed

Installs we could not join to a click. Shown first, on purpose — everybody reports what they matched, and this is the row that says what they did not.

Attributed

  • Certain
  • High
  • Medium
  • Low

Every attribution lands in one of these, with the confidence on the row.

An example of the screen, not of any data. The unattributed row is a field of its own, not a rounding error — and it is the first thing on it.

When the link survives, it is exact. When it does not, it is a guess.

On Android the referrer survives the install, so the match is exact. On iOS nothing survives, so the fallback is a probabilistic guess rather than a certainty — and it stays off until you switch it on, because a wrong match is worse than no match.

We measure how often that guess is right and how often it is wrong, and we publish both — including the case that makes us look worst. The method, the sample it rests on and the figures themselves are in the documentation.

How it is measured, and how to turn the guessing off

  1. The link survived

    Exact. The app was opened by the link itself, so there is nothing to infer.

    Certain
  2. A clipboard token

    Exact, and off by default: iOS asks your user first, and they can refuse. Android does not need it — the install referrer is exact already.

    Certain
  3. Coarse signals

    A guess, from six coarse signals inside the match window — sixty minutes by default.

    High or medium
Tried in this order, and the first to answer wins. Only the third can be wrong, and it runs last.

While you are still integrating

Is it working right now?

Every tap and every install as it happens, with what we decided and how sure we were. Bots and refusals are on the list too — you cannot debug a screen that only shows you the good rows.

The quickstart, with your own values

Live view

Example

  • ATTRIBUTED · Certaininstall
  • OKclick · iOS
  • NO MATCHinstall
  • OKclick · Android
  • BOTclick · preview fetch
  • REFUSEDclick · rate limited
Example rows, in the real live view. Bots and refusals are shown, not filtered.

One link, every case

Where does a tap go if they do not have the app?

To the store, and then to the right screen once they open it. To your website on a desktop. Each link carries its own fallback, and the host it is printed under is allocated once and never reused — so a link on a poster outlives the campaign that made it.

Links

Example

LinkWeb fallbackTagsStatus
/spring-saleexample.com/springemailLive
/invite-a-friendexample.com/invitereferralLive
/black-fridayexample.com/bfemailLive
/app-of-the-dayexample.com/featuredpressLive

Clicks sits in the last column.

qbrtk.example.com/spring-sale
Example links, in the real list. The host is allocated once and never reused.

The whole integration

Five lines, and none of them are ours to break.

Not an excerpt — the entire @quberoute/sdk integration. init never throws and never waits for the network.

npm install @quberoute/sdkv0.2.1 on npm, MIT

No native module and nothing to rebuild. What iOS asks for is its own: the Associated Domains entitlement, your Team ID, and your bundle identifier — three fields, once, in Xcode. The whole path, end to end sets out what we serve and what the platform does.

The quickstart, with your own values

The whole integrationtypescript
import { QubeRoute } from '@quberoute/sdk'

const qr = await QubeRoute.init({ key: 'qr_test_YOUR_KEY' })

qr.onLink(link => {
  // link.data is whatever you put in the link when you created it.
  this.router.navigateByUrl(link.data.path as string)
})

Pricing

What each plan costs.

From Free, with a paid plan at £19 a month.

Free

Free

1 app
1,000 clicks a month

Start free

Starter

£19 / month

3 apps
25,000 clicks a month

Choose Starter

Growth

£49 / month

10 apps
150,000 clicks a month

Choose Growth

Scale

£149 / month

Unlimited apps
1 million clicks a month

Choose Scale

Full pricing →

Start free. Stay free until you outgrow it.

One app, 1,000 clicks a month, both environments, and two-factor authentication. No card.