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

Analytics and the importance of traceability an...

Analytics and the importance of traceability and observability in mobile

We often spend so much time and effort getting apps into production that we forget that what comes after is just as of not more important than before. This talk aims to highlight and demystify the importance of thinking about analytics in your mobile app and the importance of thinking about it early"

Matt Robertson has a proven track record of leading large distributed teams to successfully implement technical solutions. He has played a pivotal role in developing innovative, customer-focused, value-driven applications. By night, Matt switches gears as a passionate Game Streamer, showcasing his love for technology and gaming.

Avatar for Leeds Mobile

Leeds Mobile

April 21, 2025
Tweet

More Decks by Leeds Mobile

Other Decks in Technology

Transcript

  1. Matt Robertson - Leeds Mobile 20th March 2025 Analytics and

    the importance of traceability and observability in mobile
  2. If everything is going well....there is no problem But how

    do you know if everything is going well How do you know how many users you've got? Are those users enjoying the app? Or worse!!! Are those users HATING the app!? What's the problem?
  3. Ratings are great Ratings tell us people are liking our

    app Ratings help us to move up the visibility in the app store and get people downloading our app. Ratings help to garner trust in our app Let's start with Ratings On one hand......
  4. Let's start with Ratings Ratings are terrible... People only rate

    things when they go wrong People write more when they want to complain They don't get updated when things get better On the Other Hand......
  5. There is!! It's called Analytics Fortunately there is - It's

    called Analytics So....what is Analytics? It's that boring extra stuff the user doesn't see But Product Owners pester you to implement Helps you to answer awkward questions Such as.....
  6. How many users have installed the app? How many users

    have opened the app? How many users have logged in? How much money have we made through the app? Where are users falling down in the app? What user segments behave differently? What are the most popular features/journeys? Questions Such As??
  7. So what tools can get this info? Well there's the

    basic stuff in Play or AppStore
  8. So what tools can get this info? Well there's the

    basic stuff in Play or AppStore
  9. Other tools Firebase/Google Analytics, Adobe Analytics, Mix Panel, Amplitude And

    others! Integrate with most popular frameworks ie Native, Flutter, ReactNative (and non- mobile too ie web and api) SDKs will instrument many events automatically But, you may need to do some extra work to track more complex events
  10. await FirebaseAnalytics.instance.logEvent( name: "share_image", parameters: { "image_name": name, "full_text": text,

    }, ); Edge.sendEvent(experienceEvent: experienceEvent) Mixpanel.mainInstance().track(event:"Sign Up", properties: [ "Signup Type": "Referral", ]) Logging Myself?? :(
  11. What do I need to track? This is the eternal

    question As always....it depends.... One side of the business always asks “what metrics can you provide?” “Of course we can provide anything and everything” “What do you want to track....?” “What can we track....?” And round and round we go
  12. What do I need to track? If we don’t need

    it. Don’t track it! Instead, ask product/analytics teams, what questions are they trying to answer? Then think about what they'd need to get an answer. Then track that! (Then think of the negative) Leave yourself room to expand later So let's turn it on its head
  13. Being a good tracking citizen Once you start tracking a

    user. You’ll need to tell them you're tracking them Make sure you're updating Store policies, privacy policies, App Tracking Transparency Depending on what and why you're tracking it may fall under different categories
  14. support.google.com User data You must be transparent in how you

    handle user data (for example, information collected from or about a user, including device information). That means disclosing the access, collection, use, handling developer.apple.com App Tracking Transparency | Apple Developer Documentation Request user authorization to access app-related data for tracking the user or the device. developer.apple.com User Privacy and Data Use - App Store - Apple Developer The App Store is designed to be a safe and trusted place for users to discover apps created by talented developers around the world. Policies
  15. So what? Ask yourself this question.... "If this app were

    released, and reports say it was always crashing.....what would I do?" But I'm a Dev!?
  16. How would you get those logs? You don't have the

    customer's device? They might be obfuscated They might not tell you anything useful How do you replicate it in test? How big of a problem is it actually? I'd look at logs!
  17. There must be some better tools? For dealing with crashes

    and understanding problems Google's and Apple's tools are....fine...good enough for small projects Larger/complex projects need better solutions
  18. So what do I need to do? As with Analytics

    Monitoring will give you an SDK to integrate This will instrument your app Detect Crashes and Application Not Responding (ANRs) and more Need to upload mappings/symbols to service to symbolicate crashes Advisable to log extra information to understand what the user was doing before a crash
  19. Alert on increases in crashes, response times etc Link multiple

    similar crashes together View sessions to understand what a user was doing before a crash See the whole picture as they also monitor APIs, websites etc Understand if device, os or version specific AI Gubbins What benefit do they give?
  20. As with product focused analytics Think, what questions do YOU

    want to answer? How many users were affected by this crash or outage? How many payments might we have missed at this time? What was the user experience during this outage/crash? Especially if you need to answer at 3am! What benefit do they give?
  21. What's the best tool for the job? What the best

    tool is....it depends… The easiest answer Whatever the client/customer is currently using.... Hopefully they're using something....
  22. What if they're not using anything? Then...something is better than

    nothing Try crashlytics at first for cheap tools Try to convince them to get trials and PoCs on some of the other tools mentioned Consider Pricing Available as SaaS and on-prem solutions
  23. When should I implement all this? As the saying goes

    The best time to start, was at the start of the project The second best time is now! But seriously, think about analytics before you get close to release Think about what you want to understand when it's live Shift left, build it early, and make it extensible