๐งช Test Affiliate Links
Click on any of these test affiliate links to see the deep linking in action:
๐ How It Works
When someone visits a URL like https://ustor.xyz/signup/[entitiesUID]
:
- The affiliate router detects the signup URL pattern
- It extracts the
entitiesUID
parameter
- Attempts to open the Flutter app with:
ustor://signup/{entitiesUID}
- If the app opens, the user is redirected to the affiliate signup flow
- If the app doesn't open, shows a fallback with download options
๐ฑ Deep Link Format
The deep link follows this pattern:
ustor://signup/{entitiesUID}
Examples:
ustor://signup/test123
ustor://signup/affiliate456
ustor://signup/partner789
๐ฏ Implementation Details
URL Pattern: /signup/{entitiesUID}
Validation: Affiliate ID must be 3-100 characters long
Fallback Delay: 2 seconds before showing download options
Analytics: Tracks affiliate clicks and app open attempts
๐ Analytics Events
The system tracks these events in Google Analytics:
affiliate_link_click
- When someone clicks an affiliate link
app_open_attempt
- When attempting to open the app
๐ก Testing Tips
- Test on both mobile and desktop devices
- Test with the uStor app installed and not installed
- Check the browser console for debug information
- Verify analytics events are firing correctly
โ ๏ธ Important Notes
- Deep links only work when the Flutter app is installed
- On desktop, the deep link will open in a new tab
- Make sure your Flutter app handles the
ustor://signup/
scheme
- Test fallback behavior by temporarily removing the app
๐ง Technical Implementation
The affiliate routing is handled by affiliate-router.js
which:
- Intercepts URL changes and navigation
- Validates affiliate IDs
- Creates and executes deep links
- Shows fallback UI when needed
- Integrates with Google Analytics