Slides from my talk at Droidcon Krakow 2016.
About the conference: http://droidcon.pl.
More Android stuff:
https://medium.com/@sergii
https://twitter.com/sergiizhuk
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
The Key Concepts of App Tracking for Developers
1. T HE KE Y CO NCE P T S
O F AP P T R AC KI NG
F O R DE V E L O P E RS
S E R G I I Z H U K @ D R O I D C O N K R A K Ó W
0 8 - 1 2 - 2 0 1 6
2. 2
HELLO!
My name is Sergii Zhuk
• Android Engineer @ Zalando SE
• Author of Android Digest for Ukrainian Developers Community
• In Berlin since August 2015
• twitter.com/sergiizhuk
• medium.com/@sergii
3. 3
ZALANDO SE
• Europe’s leading online fashion platform
• 11,000+ employees in Europe
• ~ EUR 3bn revenue in 2015
• ~ 65% of shop traffic came from mobile
• 10M+ downloads Android app
4. 4
AGENDA
• What is the app tracking and why do you need it
• When to track the data
• Which tools you can use
• Dev challenges and patterns
14. 14
TRACKING TOOLS
Rank Company Market share
1 Google Analytics 91.58%
2 Flurry 4.81%
3 Umeng 1.11%
4 Crashlytics 0.61%
5 Localytics 0.34%
6 Mixpanel 0.30%
7 HockeyApp 0.23%
Source: “Mobile App Analytics: What Winning Mobile Developers Use” by John Koetsier.
December 2015. Firebase Analytics wasn’t released yet.
15. 15
TRACKING TOOLS
Flurry
• One of the oldest tracking tools
• The market leader for iOS
• Mobile-only
• Acquired by Yahoo in 2014
• Free
16. 16
TRACKING TOOLS
Google Analytics
• Mobile & Web
• Free for not high load projects
• Google BigQuery available for enterprise projects
• No significant mobile SDK updates since the end of 2015
17. 17
TRACKING TOOLS
Firebase Analytics
• Mobile only
• Active development, new features are coming
• Free, but limited amounts of custom types can be tracked
• Google BigQuery available
• Does not officially support devices without Play Services
20. 20
SOMETHING YOU SHOULD KNOW ABOUT TOOLS
• Most of tools don’t send the data immediately, but collect it in batches
• Usually you won’t be able to see the data at the dashboard immediately
even if it was sent
• Usually documentation is poor and doesn’t suggest any design patterns.
21. 21
EXPECT TRACKING REQUIREMENTS TO COME
• Expect tracking requirements to come from the beginning
• Estimate initial release to include tracking implementation
22. 22
BE READY TO SCALE
• Design architecture to expect 2nd, 3rd and N+1 tracking tool to be
integrated
• Isolate the tracking logic from the UI
24. 24
CHECK TRACKING PERFORMANCE
• Check batching configuration
• Minimize the amount of data being sent
• Make sure you have a separate token/configuration for debug
25. 25
DEFINE TRACKING STANDARDS
• Dev and Marketing teams should never be “blind”
• Define minimum amount of tracking events every feature should have
(screen view, click etc.)
• Define proper constants to indicate empty value
26. 26
CUSTOMER PRIVACY
• Make sure you don’t send data that allows to identify the user
• Make sure you mask the IP of user
• Make sure that user has an option to switch off tracking
27. 27
CUSTOMER PRIVACY
• Make sure you don’t send data that allows to identify the user
• Make sure you mask the IP of user
• Make sure that user has an option to switch off tracking
• Why the most of tracking tools are free?
30. 30
TRACKING OUTPUT: PRINT LOGS
• Slows down the app
• Hard to read
• Not always consistent with data being sent to the server (data enriching)
• Not available for the release app build
34. 34
TRACKING DEMO
• Demo app with three tracking tools configured
• Google Analytics, Firebase, Flurry
• Details on how to setup proper accounts
• And proxy to debug the output
https://github.com/sergiiz/GroceryStore
35. 35
CONCLUSION
• Collect meaningful data to take decisions
• Check cross-platform availability for your tracking tools
• Be ready to scale
• Respect customer privacy