the key concepts of app tracking for developers

36
THE KEY CONCEPTS OF APP TRACKING FOR DEVELOPERS SERGII ZHUK @ DROIDCON KRAKÓW 08-12-2016

Upload: sergii-zhuk

Post on 13-Apr-2017

31 views

Category:

Internet


0 download

TRANSCRIPT

Page 1: The Key Concepts of App Tracking for Developers

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

Page 2: The Key Concepts of App Tracking for Developers

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

Page 3: The Key Concepts of App Tracking for Developers

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

Page 4: The Key Concepts of App Tracking for Developers

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

Page 5: The Key Concepts of App Tracking for Developers

5

TRACKING: WHY?

Page 6: The Key Concepts of App Tracking for Developers

6

TRACKING AND ANALYTICS

• Application

• Tracking Tools

• Analytics Tools & Dashboards

Page 7: The Key Concepts of App Tracking for Developers

7

WHY TRACKING

Do users know

about FAB?

Page 8: The Key Concepts of App Tracking for Developers

8

WHEN TO TRACK

Page 9: The Key Concepts of App Tracking for Developers

9

WHEN TO TRACK: INTERACTION

• Open the app, different entry points

• Screen View

• Click/swipe etc.

Page 10: The Key Concepts of App Tracking for Developers

10

WHEN TO TRACK: APPLICATION

• User sessions

• Application performance

• Exceptions, crashes

Page 11: The Key Concepts of App Tracking for Developers

11

WHEN TO TRACK: APPLICATION

• User sessions

• Application performance

• Exceptions, crashes and bread crumbs

Page 12: The Key Concepts of App Tracking for Developers

12

TRACK SPECIFIC CASES

• Application install/uninstall/reinstall

• System and account information

Page 13: The Key Concepts of App Tracking for Developers

13

TRACKING TOOLS

Page 14: The Key Concepts of App Tracking for Developers

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.

Page 15: The Key Concepts of App Tracking for Developers

15

TRACKING TOOLS

Flurry

• One of the oldest tracking tools

• The market leader for iOS

• Mobile-only

• Acquired by Yahoo in 2014

• Free

Page 16: The Key Concepts of App Tracking for Developers

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

Page 17: The Key Concepts of App Tracking for Developers

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

Page 18: The Key Concepts of App Tracking for Developers

18

TRACKING TOOLS

Self-made solutions

• Custom data formats

• Integration with other systems for input & output

• Realtime data (complex!)

Page 19: The Key Concepts of App Tracking for Developers

19

PATTERNS & CHALLENGES

Page 20: The Key Concepts of App Tracking for Developers

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.

Page 21: The Key Concepts of App Tracking for Developers

21

EXPECT TRACKING REQUIREMENTS TO COME

• Expect tracking requirements to come from the beginning

• Estimate initial release to include tracking implementation

Page 22: The Key Concepts of App Tracking for Developers

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

Page 23: The Key Concepts of App Tracking for Developers

23

BE READY TO SCALE: TRACKING FACADE

Page 24: The Key Concepts of App Tracking for Developers

24

CHECK TRACKING PERFORMANCE

• Check batching configuration

• Minimize the amount of data being sent

• Make sure you have a separate token/configuration for debug

Page 25: The Key Concepts of App Tracking for Developers

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

Page 26: The Key Concepts of App Tracking for Developers

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

Page 27: The Key Concepts of App Tracking for Developers

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?

Page 28: The Key Concepts of App Tracking for Developers

28

HOW TO TEST TRACKING

OUTPUT

Page 29: The Key Concepts of App Tracking for Developers

29

Page 30: The Key Concepts of App Tracking for Developers

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

Page 31: The Key Concepts of App Tracking for Developers

31

TRACKING OUTPUT: PROXY NETWORK TRAFFIC

Page 32: The Key Concepts of App Tracking for Developers

32

TRACKING OUTPUT: FIREBASE DEBUGVIEW

Page 33: The Key Concepts of App Tracking for Developers

33

DEMO

Page 34: The Key Concepts of App Tracking for Developers

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

Page 35: The Key Concepts of App Tracking for Developers

35

CONCLUSION

• Collect meaningful data to take decisions

• Check cross-platform availability for your tracking tools

• Be ready to scale

• Respect customer privacy