the key concepts of app tracking for developers
TRANSCRIPT
T H E K E Y C O N C E P T S
O F AP P T R AC K I N G
F O R D E V E L O P E R S
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
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
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
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
5
TRACKING: WHY?
6
TRACKING AND ANALYTICS
• Application
• Tracking Tools
• Analytics Tools & Dashboards
7
WHY TRACKING
Do users know
about FAB?
8
WHEN TO TRACK
9
WHEN TO TRACK: INTERACTION
• Open the app, different entry points
• Screen View
• Click/swipe etc.
10
WHEN TO TRACK: APPLICATION
• User sessions
• Application performance
• Exceptions, crashes
11
WHEN TO TRACK: APPLICATION
• User sessions
• Application performance
• Exceptions, crashes and bread crumbs
12
TRACK SPECIFIC CASES
• Application install/uninstall/reinstall
• System and account information
13
TRACKING TOOLS
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
TRACKING TOOLS
Flurry
• One of the oldest tracking tools
• The market leader for iOS
• Mobile-only
• Acquired by Yahoo in 2014
• Free
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
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
18
TRACKING TOOLS
Self-made solutions
• Custom data formats
• Integration with other systems for input & output
• Realtime data (complex!)
19
PATTERNS & CHALLENGES
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
EXPECT TRACKING REQUIREMENTS TO COME
• Expect tracking requirements to come from the beginning
• Estimate initial release to include tracking implementation
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
23
BE READY TO SCALE: TRACKING FACADE
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
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
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
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?
28
HOW TO TEST TRACKING
OUTPUT
29
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
31
TRACKING OUTPUT: PROXY NETWORK TRAFFIC
32
TRACKING OUTPUT: FIREBASE DEBUGVIEW
33
DEMO
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
CONCLUSION
• Collect meaningful data to take decisions
• Check cross-platform availability for your tracking tools
• Be ready to scale
• Respect customer privacy
36
THANKS!
• tech.zalando.com/jobs
• @sergiizhuk
• medium.com/@sergii