Welcome to ChurnJitsu, your weekly briefing on the art of retention.
Let’s dive in.
🥊 TL;DR
When a push, email or shared link drops someone on exactly what you promised them, every message you already send starts earning more. No extra volume, no extra spend.
Android App Links and iOS Universal Links are the plumbing that makes that happen, and one afternoon of verification work protects every campaign you run after it.
Measure whether the promised screen actually rendered, not whether the app opened, and you get a funnel that tells you which campaigns are worth repeating.

🎯 Master Class
Every tap you earn deserves the screen you promised.
One of your users gets an email saying a friend sent them a challenge. They tap it. Your app opens.
Straight to the home screen.
The challenge is nowhere in sight. They poke around for a few seconds, give up, and go back to whatever they were doing.
Your analytics calls that a win. Open recorded, campaign attributed, session started. The person who tapped would tell you a different story.
Here is the good news in that. The gap between the tap and the screen is a few seconds of plumbing, and it is yours to fix. Close it and the same push volume, the same email list and the same ad budget all start delivering more, because more of the people you already paid to reach arrive where they meant to go.
What a working link buys you
A good deep link carries intent from wherever your user started, whether that is an email, a notification, an ad or a message from a friend, all the way to the exact thing they expected to see.
When it lands, you get a user who feels understood on arrival. They came for one specific thing and your product handed it to them. That is the cheapest trust you will ever buy, and it compounds. People who get what they were promised open the next message too.
A broken link spends that trust instead. The product team sees a soft retention number, the developer sees an ordinary launch, and the user sees a promise you did not keep.
Where the intent gets dropped
Three things usually go wrong, and all three are quiet.
The app opens but routes to a generic screen, because the route parser does not recognize the path.
The user is signed out, signs in, and lands on the home tab instead of the content they came for.
The link never leaves the browser at all, because your app to domain verification failed.
None of these break your homepage, which is why they survive release after release.
The check worth putting in your next release checklist
On an Android 12 or newer test device, run:
adb shell pm get-app-links com.example.app
Use your own package name, then read the domain verification state. Your expected host should come back verified. If it does not, check the intent filters and the Digital Asset Links file at https://yourdomain.com/.well-known/assetlinks.json. Google documents a separate reset and re-verification procedure if you need to force a fresh check (Verify Android App Links).
On iOS, check the Associated Domains entitlement and the apple-app-site-association file for every linked hostname. Apple notes that a same-domain link clicked inside Safari may intentionally stay in Safari, so do not treat every browser opening as a broken association (Debugging universal links).
Then test the way your users actually arrive
Take one real link and open it three ways: cold app launch, app already running, and signed out. The bar is the same every time. After whatever login or loading is necessary, the user lands on the actual content.
Three minutes of tapping tells you more about this than a month of dashboards will.
The measurement that pays for itself
Ask your developer for a custom event named deep_link_destination_loaded, fired only when the intended destination is genuinely visible. Attach a safe destination type and a link campaign identifier. Keep a separate link-received event and compare the two. Firebase supports custom events and parameters (Log events).
One limit to plan around: in-app analytics cannot see a link that never reaches the app. For that gap, compare against your web or campaign click logs.
What you get back is a funnel with real edges. Click, app receipt, correct destination, useful action. Break it down by platform, app version and login state, and the weakest step tells you exactly where your campaign budget is leaking.
Be careful with the conclusion. A higher destination-completion rate alongside a retention lift is not proof that one caused the other. Use a staged rollout and compare similar cohorts, or run a proper experiment, before you claim the win.
Your move this week: send yourself one real link from your own last campaign and open it signed out. If you do not land on the thing the message promised, you have found a retention leak that costs you nothing to plug.
A user who comes back and gets lost is not a win you can bank. Make the destination the promise, and the comeback starts counting for something.
Inman