Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The Key Concepts of App Tracking for Developers 2017

Sergii Zhuk
September 04, 2017

The Key Concepts of App Tracking for Developers 2017

Slides from my talk at Droidcon Berlin 2017.
See also:
- My blog post about app tracking: https://medium.com/@sergii/the-key-concepts-of-app-tracking-for-developers-a11bebf1e65e#
- Github repo with tracking examples:
https://github.com/sergiiz/GroceryStore

More Android stuff:
https://twitter.com/sergiizhuk
https://proandroiddev.com

Sergii Zhuk

September 04, 2017
Tweet

More Decks by Sergii Zhuk

Other Decks in Programming

Transcript

  1. T H E K E Y C O N C

    E P T S O F A P P T R A C 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 B E R L I N 0 4 - 0 9 - 2 0 1 7
  2. 2 GUTEN TAG! My name is Sergii Zhuk • Android

    Engineer @ Zalando SE • In Berlin since 2015 • Founder & Editor of ProAndroidDev.com • @sergiizhuk
  3. 3 ZALANDO SE • Europe’s leading online fashion platform •

    13,000+ employees in Europe • ~ EUR 3.6bn revenue in 2016 • ~ 55% of orders come 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
  5. 10 WHEN TO TRACK: INTERACTION • Open the app, different

    entry points • Screen View • Click/swipe etc. • User sessions
  6. 14 TRACKING TOOLS: GOOGLE ANALYTICS • Mobile & Web •

    Free for not high load projects • Google BigQuery is available for enterprise projects • No significant mobile SDK updates since the end of 2015
  7. 15 TRACKING TOOLS: GOOGLE ANALYTICS FOR FIREBASE • Mobile only

    • Active development, new features • Google BigQuery is available • Free, but limited amount of custom types • Does not officially support devices without Play Services
  8. 16 TRACKING TOOLS: OTHERS • AppSee • Flurry • AppAnnie

    • Localytics • Mixpanel • and more…
  9. 17 TRACKING TOOLS: SELF-MADE • Custom data formats • Integration

    with other systems • Realtime data (complex!)
  10. 19 DEFINE TRACKING STANDARDS • Dev and Marketing teams should

    never be “blind” • Minimum amount of tracking events for every feature • Proper constants to indicate empty value and other states • Estimate app release to include tracking
  11. 20 SOMETHING YOU SHOULD KNOW ABOUT TOOLS • Most of

    tools send data in batches • Data is not always visible immediately after it was sent • Documentation doesn’t suggest any design patterns
  12. 21 “SIMPLE” SCREEN VIEW TRACKING • Don’t expect automagical tracking

    from modern tools • Think about screen rotation contract
  13. CHECK TRACKING PERFORMANCE • Check batching configuration • Minimize the

    amount of data being sent • Set a separate token/configuration for debug • Check threading 22
  14. 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
  15. 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?
  16. 29

  17. 30 TRACKING OUTPUT: PRINT LOGS • May be convenient for

    the debug • Not always consistent with data sent to the server (enriching!) • Not for the release app build
  18. 32 DEBUG LOGS FOR GOOGLE TOOLS Google Analytics: adb shell

    setprop log.tag.GAv4 DEBUG adb shell setprop log.tag.FA-SVC VERBOSE Google Analytics for Firebase:
  19. 34 SUMMARY • Cover every new app feature with tracking

    • One tracking tool is never enough • Debug & QA is the most complex part of tracking • Respect customer privacy