Your attribution link measures a tap that never arrived

OneLink, Branch, Adjust, Singular and Kochava do their job: they record the click. But whatever happens in the middle, the last step is apps.apple.com — and inside an in-app browser that step can end on an empty screen.

AppsFlyer · Branch · Adjust · Singular · Kochava · Firebase

Where it breaks

The tracker works, the destination does not

Campaign, creative and placement are all measured correctly. Then the tracker redirects to the store, Apple answers with a scheme the browser cannot open, and the chain stops there.

This is worse than a plain broken link

A dead store link leaves an obvious gap between clicks and installs. A dead tracker reports the click as normal, so the loss reads like a weak creative or a bad audience — and you optimise against a phantom.

Keep the tracker, fix the last step

Your attribution link becomes the destination of a GoToApp link. We get the tap out of the in-app browser, your tracker takes over from there, and none of your parameters are touched.

Deferred deep linking suffers too

Everything your tracker does after the install depends on the person actually reaching the store. A tap that never arrives cannot be matched later, so the personalised onboarding you built never runs.

What we measure

Delivery depends on which app the link opens in, and the spread is wide. These are our own numbers, not an industry estimate. Sample: 606 taps through our own links, 3–5 August 2026. Every link reports back when a tap fails to leave the in-app browser, so these are counted, not modelled.

SourceReached the storeDetail
Instagram99%3 taps stalled, 2 of them recovered by pressing the button
Facebook81%35 stalled, 17 recovered — this is where the system asks for confirmation
TikTok86%small sample, but the pattern matches Facebook
Plain browser100%nothing to escape from, the store opens directly

What the link actually does

It reads where the tap came from and takes the route that survives there: the external browser out of Instagram and Threads, the store's own scheme where that is what works, an immediate button where the system asks for confirmation. If everything is blocked, the tap still ends on a visible button instead of a blank screen.

Nothing to install

No SDK and no changes in the app. You swap one address for another.

Your tracker stays

An attribution link can be the destination. We hand the tap over and leave your parameters alone.

You see what arrived

Each link reports when a tap failed to leave the in-app browser, so the dashboard shows delivery, not just clicks.

Questions

Do OneLink or Branch fix the blank page themselves?

No. They measure the tap, they do not change where it runs. Whatever the tracker does in the middle, its last step is still the store URL, and that is the step that fails.

Will my attribution survive?

Yes. We do not rewrite your parameters and do not add our own. The tracker receives the tap exactly as it would have.

One link for both platforms?

Yes. An attribution link already splits iOS and Android on its own, so you fill a single field and both platforms route through it.

Which trackers are supported?

AppsFlyer OneLink, Branch, Adjust, Singular, Kochava, Airbridge, Tenjin and Firebase Dynamic Links, including your own subdomains under them.

Does a personal link per user work?

Yes. Keep the base link in the dashboard and pass the personal part in the address — we put your parameters back on the destination. That is how an AppsFlyer Smart Script setup keeps working unchanged.

Fix it with one link

Free while you try it: up to three apps, unlimited links under each, full routing and per-source stats. The paid plan buys a shorter address.