Your app ad opens the wrong screen because the deep link attached to your ad is either broken, misconfigured, or missing entirely. When a deep link fails, the app defaults to the home screen instead of routing the user to the intended destination. This affects both new users arriving after an install and existing users clicking a retargeting ad. The sections below walk through exactly why this happens and how to fix it.
What causes an app ad to open the wrong screen?
The wrong screen opens when the deep link in your ad does not successfully pass its destination parameter to the app. This happens for several reasons: the link is malformed, the app is not configured to handle the URL scheme, the Mobile Measurement Partner (MMP) is not set up correctly, or the link was never added to the ad in the first place. Each of these failures sends the user to the app’s default launch screen instead of the product page, offer, or cart they clicked on.
In practice, the most common cause is a mismatch between the URL scheme registered in the app and the scheme used in the ad. If your ad points to myapp://product/123 but the app only recognises myapp://shop/product/123, the link silently fails. The app opens, but the routing logic finds no matching screen and falls back to the home screen. Users disappear into the app without context, and conversions drop as a result.
What is a deep link and how does it control where users land?
A deep link is a URL that opens a specific screen inside a mobile app rather than just launching the app from the beginning. It works by encoding a destination path into the URL, which the app reads on launch and uses to navigate directly to the right content. Without a deep link, every ad click lands on the home screen regardless of what the ad showed.
Deep links come in several forms. Traditional URI scheme links (like myapp://) work when the app is already installed. Universal Links on iOS and App Links on Android use standard HTTPS URLs and are handled by the operating system, making them more reliable and harder to break. When a deep link is set up correctly, it tells the app exactly where to go, which screen to load, and sometimes which user state to restore, such as a pre-filled cart or a specific onboarding step.
What’s the difference between deep linking and deferred deep linking?
Deep linking routes an existing user directly to a screen inside an already-installed app. Deferred deep linking does the same thing, but for new users who do not yet have the app installed. The destination is stored before the install and applied the moment the user opens the app for the first time after downloading it.
This distinction matters a lot for paid acquisition campaigns. When a new user clicks your ad, they are sent to the App Store or Google Play to install the app. Without deferred deep linking, that destination context is lost during the install process and the user lands on the home screen. With deferred deep linking, the MMP or linking platform holds the destination parameter and injects it into the first app open, sending the user straight to the screen the ad promised. Losing this context is one of the main reasons you see app onboarding drop-off directly after install.
Why does the app open the home screen instead of the ad destination?
The app opens the home screen instead of the ad destination when the deep link routing chain breaks at any point between the ad click and the app’s navigation logic. This can happen because the deep link was not included in the ad setup, the app’s URL handling code does not recognise the path, or the MMP failed to pass the deferred link correctly after install.
A few specific scenarios cause this consistently:
- The ad was set up without a deep link parameter, so no destination was ever passed to the app.
- The app was updated and the URL scheme or path structure changed, breaking existing links in live campaigns.
- The MMP is not integrated correctly, so deferred deep link data never reaches the app on first open.
- The deep link works on one platform but not the other; for example, it works on Android but fails on iOS due to Universal Link configuration issues.
- A retargeting ad opens the wrong page because the segment or product ID in the link no longer matches an active screen.
Each of these causes a different failure point, which is why diagnosing the issue requires testing the full journey rather than just checking whether the link looks correct.
How can you test and diagnose a broken deep link in an ad campaign?
To diagnose a broken deep link, test the full click-to-screen journey on both iOS and Android, separately, for both installed and fresh-install scenarios. Start by clicking the link directly on a device with the app installed to confirm basic routing works. Then simulate a new install to test the deferred deep link path, which requires either a test device with the app removed or a sandbox environment provided by your MMP.
Useful steps for diagnosing the issue include:
- Open the deep link URL directly on a device and confirm it routes to the correct screen.
- Check the app’s URL scheme registration in the iOS Info.plist and AndroidManifest.xml files.
- Verify that Universal Links and App Links are correctly associated with your domain.
- Use your MMP’s dashboard to check whether the deferred deep link parameter is being passed on first open.
- Test the ad’s deep link parameter in the ad platform’s preview tool before publishing.
- Check for recent app version updates that may have changed URL path structures.
Many MMPs, including Branch, Adjust, and AppsFlyer, provide link testing tools that simulate the install and first-open flow, making it easier to catch deferred deep link failures before they affect live campaigns.
Which ad platforms and MMPs affect how deep links behave?
Every major ad platform handles deep links differently, and your MMP sits in the middle of that process, which means both layers need to be configured correctly for deep linking to work end to end. On Apple Search Ads, Universal Links are required and must be verified through Apple’s associated domains. On Meta and Google, you can pass deep link parameters through the ad creative settings, but those parameters only work if the app is built to receive and act on them.
Branch deep linking is one of the most widely used solutions for managing this complexity because it handles both standard deep links and deferred deep links through a single SDK, and it integrates directly with major ad platforms. Adjust and AppsFlyer offer similar functionality through their own deep link modules. The important thing is that your MMP’s SDK is correctly initialised in the app and that the deep link callback is handled in the app’s launch code, not just the URL routing logic.
Platform-specific behaviour to watch for:
- iOS: Universal Links can fall back to the App Store if the associated domain is not configured correctly, bypassing the deep link entirely.
- Android: App Links require domain verification, and older Android versions may not support them, requiring a URI scheme fallback.
- Meta ads: Deep link parameters need to be added at the ad level, not just the campaign level, and must match the app’s registered scheme.
- Google UAC: Deep links are passed through the ad URL, but the app must handle the intent correctly on Android.
Getting this right across all platforms at once is one of the more technically involved parts of running app campaigns, and it is where small configuration gaps cause the biggest user experience problems, including lost users after install, carts lost after reopening the app, and users who do not return after a retargeting ad click.
If you are dealing with persistent deep link failures across your campaigns, it is worth reviewing your full attribution and linking setup with specialists who work across these platforms daily. Our app growth services at Wuzzon cover exactly this, from MMP configuration to deep link QA across iOS and Android. If you want a direct look at where your setup is breaking down, talk to one of our specialists and we can walk through your current setup together.
Frequently Asked Questions
Can a deep link appear to work in testing but still fail in a live ad campaign?
Yes, this is one of the most common and frustrating deep link issues. A link can route correctly when tapped directly on a device but fail in a live campaign because the ad platform strips or re-encodes URL parameters before passing them to the app. Always test deep links through the actual ad preview tool on each platform (Meta, Google, Apple Search Ads) rather than just tapping the raw URL, and verify the full journey using your MMP’s test mode after the campaign goes live.
What should I check first if deep linking works on Android but not on iOS?
The most likely culprit is a misconfigured Universal Link setup on iOS. Check that your Apple App Site Association (AASA) file is correctly hosted at the root of your domain, that the associated domains entitlement is enabled in your app’s Xcode project, and that Apple’s CDN has successfully fetched and cached your AASA file. You can verify this using Apple’s App Search API validation tool or by checking the associated domain logs in Xcode’s device console during a fresh install.
How do I make sure deep link destinations still work after an app update?
Establish a deep link registry — a documented list of every URL path used across active campaigns — and treat it as a required check before any app release. Before shipping an update, QA should verify that every path in the registry still resolves to the correct screen in the new version. If a path structure must change, implement a redirect or fallback handler inside the app so that old links from live campaigns still route users to a relevant screen rather than silently dropping them on the home screen.
Do I need an MMP to implement deferred deep linking, or can I build it myself?
Technically you can build a basic deferred deep linking solution yourself using platform-specific APIs, such as Google’s Play Install Referrer API on Android or custom URL parameter passing on iOS. However, building and maintaining this across both platforms, while also handling attribution, campaign tracking, and ad platform integrations, is a significant engineering investment. For most app marketing teams, using an MMP like Branch, Adjust, or AppsFlyer is the more practical and reliable path, since they handle the cross-platform complexity and provide ready-made integrations with major ad networks.
What's the best way to handle users who click a retargeting ad for a product that no longer exists?
Build a fallback routing rule into your app’s deep link handler so that if the destination screen or product ID is no longer valid, the user is redirected to a relevant alternative — such as a related product category, a sale page, or the home screen with a contextual message — rather than crashing or showing an error. On the campaign side, regularly audit your retargeting audience segments and pause or update ads that link to discontinued products or expired offers to prevent this from reaching users in the first place.
How do deep link failures specifically impact ROAS and conversion rates?
When a deep link fails, users land on the home screen instead of the specific product, offer, or content the ad promised, which breaks the continuity between the ad creative and the in-app experience. This disconnect increases drop-off immediately after the ad click, reduces add-to-cart and purchase rates, and inflates your cost per acquisition — all without any change to your bids or creatives. Because the failure is invisible to most standard reporting dashboards, it can quietly erode ROAS for weeks before being identified, making deep link QA a direct revenue issue, not just a technical one.
Is there a way to monitor deep link health on an ongoing basis rather than just testing before launch?
Yes, and this is strongly recommended for any app running always-on campaigns. Most MMPs provide dashboards that surface deep link pass-through rates and first-open destination data, which you can monitor for sudden drops that indicate a routing failure. You can also set up synthetic monitoring using tools that periodically simulate link clicks and verify the destination, alerting your team if a link starts failing. At minimum, review your MMP’s deep link delivery metrics weekly and set up alerts for significant drops in the percentage of sessions that successfully resolve a deep link destination.
Related Articles
- Why did my numbers change without any changes made?
- Why don't my app install numbers match my ad spend?
- What is the role of a mobile measurement partner in app advertising?
- What tools do professionals use to advertise mobile apps?
- Can you advertise an app without using Google Ads?
- How do you advertise an app using Google App Campaigns?
- How does SKAdNetwork affect the way you advertise your app?
- How does A/B testing work in the app store?
- 5 app store keyword research tools compared
- How do you write an app store description that converts?