Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

5 TRACKING: WHY?

Slide 6

Slide 6 text

6 TRACKING AND ANALYTICS • Application • Tracking Tools • Analytics Tools & Dashboards

Slide 7

Slide 7 text

7 WHY TRACKING Do users know about FAB?

Slide 8

Slide 8 text

8 WHEN TO TRACK

Slide 9

Slide 9 text

9 WHEN TO TRACK: INTERACTION • Open the app, different entry points • Screen View • Click/swipe etc.

Slide 10

Slide 10 text

10 WHEN TO TRACK: APPLICATION • User sessions • Application performance • Exceptions, crashes

Slide 11

Slide 11 text

11 WHEN TO TRACK: APPLICATION • User sessions • Application performance • Exceptions, crashes and bread crumbs

Slide 12

Slide 12 text

12 TRACK SPECIFIC CASES • Application install/uninstall/reinstall • System and account information

Slide 13

Slide 13 text

13 TRACKING TOOLS

Slide 14

Slide 14 text

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.

Slide 15

Slide 15 text

15 TRACKING TOOLS Flurry • One of the oldest tracking tools • The market leader for iOS • Mobile-only • Acquired by Yahoo in 2014 • Free

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

17 TRACKING TOOLS Firebase Analytics • Mobile only • Active development, new features are coming • Free, but limited amount of custom types can be tracked • Google BigQuery available • Does not officially support devices without Play Services

Slide 18

Slide 18 text

18 TRACKING TOOLS Self-made solutions • Custom data formats • Integration with other systems for input & output • Realtime data (complex!)

Slide 19

Slide 19 text

19 PATTERNS & CHALLENGES

Slide 20

Slide 20 text

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.

Slide 21

Slide 21 text

21 EXPECT TRACKING REQUIREMENTS TO COME • Expect tracking requirements to come from the beginning • Estimate initial release to include tracking implementation

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

23 BE READY TO SCALE: TRACKING FACADE

Slide 24

Slide 24 text

24 CHECK TRACKING PERFORMANCE • Check batching configuration • Minimize the amount of data being sent • Make sure you have a separate token/configuration for debug

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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?

Slide 28

Slide 28 text

28 HOW TO TEST TRACKING OUTPUT

Slide 29

Slide 29 text

29

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

31 TRACKING OUTPUT: PROXY NETWORK TRAFFIC

Slide 32

Slide 32 text

32 TRACKING OUTPUT: FIREBASE DEBUGVIEW

Slide 33

Slide 33 text

33 DEMO

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

35 CONCLUSION • Collect meaningful data to take decisions • Check cross-platform availability for your tracking tools • Be ready to scale • Respect customer privacy

Slide 36

Slide 36 text

36 THANKS! • tech.zalando.com/jobs • @sergiizhuk • medium.com/@sergii