Adobe Target Architect Master study materials
Adobe Target Architect Master study resources

Mobile App Offline Mode Causes Target Activity Misfires

Adobe Target Architect Master · Put your knowledge to work in context.

All case studies

Mobile App Offline Mode Causes Target Activity Misfires

A travel booking app uses Adobe Target to personalize the home screen with recommended destinations. The app is built with React Native and uses the Adobe Experience Platform Mobile SDK with the Target extension. The app supports offline mode: users can browse previously loaded content and make bookings that sync when back online. The Target implementation fetches activities on app launch and caches them for 24 hours. The app has 500,000 monthly active users, and 30% of sessions occur offline. The personalization strategy uses a 'Recently Viewed' algorithm and a fallback default banner. Analytics shows that offline users have a 40% lower conversion rate and a 60% lower engagement with personalized content. The app team reports that offline users often see stale or irrelevant recommendations because the cached activities are not refreshed. Additionally, when users come back online, the app does not immediately refresh Target activities, leading to a delay of up to 2 hours. The company wants to improve personalization for offline users without compromising app performance or data usage. The Target implementation uses a 5-second timeout for activity fetches and a 10% sampling rate for QA.

1. What are the root causes of poor personalization for offline users, and how should the architect address them?

Read the worked answer

Root causes: 1) Cached activities for 24 hours become stale, especially for 'Recently Viewed' which requires up-to-date user behavior. 2) Offline users cannot fetch new activities, so they see outdated recommendations. 3) The app does not refresh activities immediately upon reconnection, causing up to 2 hours of delay. 4) The 5-second timeout may cause fetches to fail silently in low-connectivity, falling back to default content. 5) The 'Recently Viewed' algorithm relies on server-side data that may not be available offline. Address: 1) Implement a more frequent cache refresh policy for personalized content, e.g., 1 hour, and use background fetch when online. 2) For offline mode, use on-device personalization: pre-fetch a set of recommendations for likely scenarios (e.g., based on last viewed destinations) and store them locally. Use Target's device-mode or offline capabilities if available, or build a local recommendation engine using cached data. 3) On reconnection, trigger an immediate Target fetch and update the UI if activities changed. 4) Increase the timeout to 10 seconds for initial fetches but use a shorter timeout for background refreshes. 5) Use the Mobile SDK's lifecycle metrics to detect connectivity changes and refresh. 6) For 'Recently Viewed', consider using a local algorithm based on locally stored view history, synced with Target when online. 7) A/B test the offline experience to measure impact.

2. How can the architect balance personalization freshness with app performance and data usage constraints?

Read the worked answer

Balance by: 1) Tiered caching: cache critical activities (e.g., home banner) for 1 hour, less critical for 24 hours. 2) Use conditional requests (ETag/Last-Modified) to reduce data usage: only fetch if changed. 3) Pre-fetch activities during app idle time or on Wi-Fi only, respecting user data preferences. 4) Implement a lightweight local personalization fallback that uses on-device data (e.g., last viewed destinations) to rank cached recommendations. 5) Use Target's response tokens to pass personalized data and reduce payload. 6) Monitor performance metrics: track fetch latency, success rate, and data usage; set thresholds. 7) Use Adobe Target's A/B testing to compare caching strategies. 8) For offline, ensure the fallback content is contextually relevant (e.g., popular destinations) and not just a generic banner. 9) Consider using Adobe Experience Platform's Edge Network for faster responses. 10) Regularly review and update the personalization strategy based on analytics.