Why your deep link works for you but breaks for your customers
It opens perfectly on your phone and fails on theirs. The reason is the conditions you tested under, and here’s how to test the way customers actually tap.
A deep link that opens perfectly on your own phone can still fail for most of your customers, because you test it with the app already installed, already signed in, tapped from a clean browser, while they tap it from inside Instagram or WhatsApp, often with no app and no account. The gap between those two situations is where deep links quietly break.
You build the link, tap it on your phone, and the app opens to the right screen. You ship it. Then the messages start: the link isn’t working, it just opens a website, nothing happens. On your phone it opens every time; on your customer’s it just fails. Nothing’s wrong with how you tested, only the conditions you tested under.
The gap is between how you tap and how your customers do. It opens up in four places.
You tap from a clean context. They tap from inside an app
You test by tapping the link from your notes or your browser, which is the phone’s real environment, where a scheme link is free to hand off to the app. Your customer taps it inside an Instagram DM or a WhatsApp chat, and the tap happens in that app’s in-app browser, where a raw scheme link often never gets the chance to fire. Same link, different room, and the room is the whole problem. It’s the same failure behind Instagram links that don’t open your app.
Half of them don’t have the app
Your phone has the app installed, so the link has somewhere to go. A first-time visitor doesn’t, and a bare deep link with no fallback dead-ends for them: an error, a blank tab, or nothing. It needed a store fallback for the not-installed case, the part you never saw, because you were never the person without the app.
They land signed out
Even when the app does open, your signed-in session papers over problems a new customer hits head-on. The screen that loads straight away for you asks them to sign in first, or shows a logged-out version that looks nothing like what you tested. Opening the app is only half the job. The other half is landing them on a screen that works before they’ve an account.
How to test the way a customer taps
Test under their conditions, not yours. The four that catch almost every real-world break:
| Test the link | Because your customer |
|---|---|
| From inside an Instagram or WhatsApp chat | taps there, not from a clean browser |
| On a phone with the app NOT installed | may not have it, and needs the store fallback |
| While signed out of the app | has never logged in, and sees a different screen |
| On both an iPhone and an Android | is on whichever one you didn’t build for, and iOS fails in its own ways |
The fix that survives all four
You could hand-handle each case, or use a link that already does. A smart link breaks out of the in-app browser and opens the app when it’s there. When it isn’t, it sends people to the store, or to the web on a desktop. So the tap works whether it comes from your phone or a stranger’s. That’s what the deep-link router is for, and it reports back what each tap did, so you catch the next break before a customer does.
Found this useful? Tell Google to show you more of it.
Add us as a preferred sourceRelated guides
Put this into practice
Create smart short links that open the right app, with analytics built in. No credit card required.
Start free