Why Device Detection Matters
Different devices need different experiences:- Mobile users might have your app installed—send them to the app with deep links
- Desktop users can’t install mobile apps—send them to your web app instead
- iOS users have different app stores than Android users
- Tablet users might need a different layout than phone users
Common Use Cases
1. Mobile App vs Web App
Scenario: You have a mobile app for field staff and a web app for office staff. Setup:- Create a “Mobile App” Destination with your app’s deep link
- Set condition:
device.isMobile
- Set condition:
- Create a “Web Portal” Destination with your web app URL
- Set condition:
device.isDesktop
- Set condition:
2. Platform-Specific App Downloads
Scenario: You want people to download your app from the right app store. Setup:- Create “Download on App Store” Destination
- URL:
https://apps.apple.com/app/yourapp - Condition:
device.isIOS
- URL:
- Create “Get it on Google Play” Destination
- URL:
https://play.google.com/store/apps/details?id=com.yourapp - Condition:
device.isAndroid
- URL:
3. iOS Safari Deep Link Workaround (SafetyCulture Example)
Scenario: SafetyCulture mobile app deep links (iauditor://) only work in Safari on iOS. Users on iOS in Chrome or other browsers need the web version instead.
Setup - Create Two Destinations:
Destination 1: “Start Inspection (Mobile App)”
- URL:
iauditor://template/new_audit/template_fcbc86fd41a74180921347e4be53bdf2 - Condition:
device.isDesktop || !device.isIOS || (device.isIOS && device.browser == "safari")
- URL:
https://app.safetyculture.com/inspection/new?templateId=template_fcbc86fd41a74180921347e4be53bdf2 - Condition:
device.isIOS && device.browser != "safari"
device.isDesktop- Desktop users (app links won’t work anyway, but SafetyCulture handles this)!device.isIOS- Non-iOS mobile users (Android, etc. - app links work fine)device.isIOS && device.browser == "safari"- iOS users in Safari (app links work here)
device.isIOS && device.browser != "safari"- iOS users NOT in Safari (app links blocked, use web)
- Desktop users: See mobile app Destination (SafetyCulture redirects appropriately)
- Android users: See mobile app Destination (opens SafetyCulture app)
- iOS Safari users: See mobile app Destination (opens SafetyCulture app)
- iOS Chrome/Firefox users: See web Destination (opens in browser, avoiding iOS restriction)
4. Tablet-Optimized Experience
Scenario: You have a special interface optimized for tablets. Setup:- Create “Tablet Interface” Destination
- Condition:
device.isTablet
- Condition:
- Create “Standard Interface” Destination
- Condition:
!device.isTablet
- Condition:
5. Browser-Specific Features
Scenario: A feature only works in certain browsers. Setup:- Create “Use Advanced Feature” Destination
- Condition:
device.browser == "chrome" || device.browser == "firefox"
- Condition:
- Create “Standard Version” Destination
- Condition:
device.browser != "chrome" && device.browser != "firefox"
- Condition:
Available Device Information
Device Type
Field:device.type
Values:
'mobile'- Smartphone'tablet'- Tablet device'desktop'- Desktop or laptop computer
device.isMobile- True if smartphonedevice.isTablet- True if tabletdevice.isDesktop- True if desktop/laptop
Operating System
Field:device.os
Values:
'ios'- iPhone or iPad'android'- Android device'windows'- Windows PC'macos'- Mac computer'linux'- Linux system'unknown'- Could not detect OS
device.isIOS- True if iPhone/iPaddevice.isAndroid- True if Android
Browser
Field:device.browser
Values:
'chrome'- Google Chrome'safari'- Apple Safari'firefox'- Mozilla Firefox'edge'- Microsoft Edge'opera'- Opera browser'unknown'- Could not detect browser
How to Set Up Device Routing
- Create your Destinations - One for each device scenario
- Add conditions - Use device fields in each Destination’s visibility condition
- Test on multiple devices - Scan your QR code from phone, tablet, desktop to verify
Combining Device Detection with Item Data
You can combine device detection with Item fields for powerful routing: Example: Mobile crane operators get the mobile app. Desktop users get web portal. But both only see these if the equipment type is “crane”. Mobile App Destination condition:Important Notes
User-Agent Detection: Device detection uses browser User-Agent strings. These are generally reliable but:- Users can modify their User-Agent (rare)
- Some privacy browsers mask device info
- New devices/browsers might be detected as “unknown”
- Type:
desktop - OS:
unknown - Browser:
unknown
Testing Your Setup
Before deploying QR codes with device routing:- Test on iPhone - Verify iOS-specific Destinations appear
- Test on Android - Verify Android-specific Destinations appear
- Test on Desktop - Verify desktop Destinations appear
- Test different browsers - Safari, Chrome, Firefox if you’re using browser conditions
- Test tablets - If you have tablet-specific routing
When NOT to Use Device Detection
Don’t use device detection for:- Restricting access to sensitive information (use proper authentication)
- Forcing users into one specific app (let them choose)
- Scenarios where showing all options is simpler
- App store routing (right store for each platform)
- Mobile app vs web app routing
- Platform-specific deep links
- Optimized experiences per device type
Related
- Using Fields - Complete field reference including device fields
- Conditional Visibility - Using device detection in visibility conditions
- Profile Pages Overview - Setting up Profile Pages with multiple Destinations
- Key Concepts - Understanding Destinations and Links