Why deferred deep links fail after installation
Link opens but deep link data is not passed
If your app opens but doesn't navigate to the intended deep link destination, the attribution data failed to transmit from the link to your app on install.
Deferred deep links require data to survive the app install process. This depends on SDK initialization timing, platform-specific referral mechanisms, clipboard access, and proper handling in your app code.
SDK Init
SDK must initialize before the app renders. Delayed init can cause referral data to be lost.
Referrer Source
iOS uses clipboard; Android uses Play Install Referrer. Both must be properly configured.
Callback Handler
App must listen for and handle deep link data callbacks from the SDK.
Step-by-step troubleshooting
Initialize SDK at app startup
SDK must initialize before any views render or callbacks are registered.
- Call Redirectly.init() or equivalent SDK method in your main app widget/activity
- For Flutter: Call in main() before runApp(). For React Native: Call in App.js before rendering.
- For native iOS: Call in AppDelegate application(_:didFinishLaunchingWithOptions:)
- For native Android: Call in MainActivity onCreate() or Application onCreate()
- Verify init is not deferred by loading screens, state managers, or async operations
Request clipboard permission on iOS
Redirectly uses clipboard to pass deferred link data. Request permission in Info.plist.
- Add to Info.plist: NSPasteboardUsageDescription or NSPrivacyAccessedAPITypes entry
- Include purpose: "To detect and attribute app installs from links"
- User will see permission prompt on first app open
- Without permission, fallback mechanisms still work but attribution may be limited
- Grant permission when prompted for best results
Enable Play Install Referrer on Android
Android needs Google Play Services for referral data. Configure your build.gradle.
- Add to build.gradle: implementation 'com.google.android.gms:play-services-ads:...' or play-services-basement
- Redirectly SDK will automatically use Play Install Referrer API
- Verify referrer is passed: Check Redirectly dashboard logs
- Test on real device with Google Play Store installed
- Emulator with Play Services may not properly simulate referrer behavior
Test on real device with proper flow
Emulators do not properly simulate deferred deep link behavior. Real devices required.
- Fully delete your app from the device (Settings > Apps > Uninstall)
- Open a link from Safari (iOS) or Chrome (Android) pointing to your Redirectly link
- If prompted, choose "App Store" / "Play Store" - do NOT open the link yet
- Install your app from App Store or Play Store
- Launch the app - if configured correctly, you should see the deferred deep link data
Monitor with Redirectly dashboard and app logs
Verify link tracking and data delivery via logs and dashboard analytics.
- Go to Redirectly dashboard and create a test link
- Enable debug logging in your app (check SDK documentation)
- Add console.log or print statements in your deep link callback handler
- View log output to see if data is received from SDK
- Check Redirectly dashboard for link clicks, installs, and conversion events
Common causes of deferred deep link failures
SDK not initialized at startup
Cause: Init called too late or after app views render
Fix: Move SDK init to app entry point before any UI rendering
No callback handler registered
Cause: App not listening for deep link data from SDK
Fix: Register deep link callback handler in your SDK init or setup code
Testing on emulator/simulator
Cause: Emulators do not simulate referrer APIs or clipboard correctly
Fix: Always test on real device. Emulator may show false negatives.
No clipboard permission on iOS
Cause: User denied or app did not request clipboard access
Fix: Request UIPasteboard permission in Info.plist and prompt user
Play Install Referrer not configured on Android
Cause: Google Play Services not included in app dependencies
Fix: Add Google Play Services to build.gradle and rebuild
Testing by re-opening the app (not install from store)
Cause: Deferred deep links only fire on fresh install, not app update
Fix: Fully delete and reinstall app from App Store or Play Store
Deep link data callback throws error
Cause: Callback handler has syntax errors or crashes
Fix: Check app logs for exceptions in deep link handler
Deep link bundle ID or app ID incorrect in Redirectly
Cause: Configuration in Redirectly dashboard does not match app
Fix: Verify bundle ID in Redirectly matches exactly your app bundle ID
Deferred deep link fix checklist
Debug deferred deep links with Redirectly
Use Redirectly's dashboard to track link clicks, app installs, and verify deferred deep link delivery:
Frequently asked questions
Why does deferred deep link work in development but not in production?
Ensure your production app is signed with the same key as your development build. Different signing keys result in different bundle/package identifiers that Redirectly cannot recognize.
Can I test deferred deep links on the same device?
Not really - deferred deep links require the app to be completely uninstalled. Testing on the same device requires full delete and reinstall from app store, which is slow. Use multiple test devices.
What if my app handles deep links correctly but Redirectly does not show conversions?
Check Redirectly dashboard for link clicks and install events. If clicks show but installs do not, the referrer mechanism may not be working. Verify Play Install Referrer on Android or clipboard on iOS.
How long does deferred deep link data persist?
Deferred link data typically persists for 24-48 hours after app install. After that window, the link data expires and the app will not receive deep link information.
Can I use deferred deep links with user login?
Yes. Store the deep link data in your app state or preferences. After user logs in, navigate to the saved deep link destination. This is useful for onboarding flows.