How to Implement Data Tracking When Building an App
Proper data tracking will allow your team to better serve your users. Read on for a good overview of how to implement data tracking in your team's application.
Join the DZone community and get the full member experience.Join For Free
Analytics forms a major part of the conceptual design of an app. Data tracking and collection for the purpose of analytics allows us to better update our app for consumer use. Data tracking is akin to the idea of feedback from a user. By collecting the data in a way that makes sense to us, we can add features or upgrade the existing elements of our app to meet the demand of the consumer. While this allows for a certain level of automatic feedback it does not mean that we can outright ignore our app users' comments either. A firm balance of both is the middle ground that we should be chasing.
Relevant Data Tracking
As a developer, data tracking is simply one more SDK that needs to be built into our existing application framework. We obviously don't need every bit of information the app can collect - most of this is useless to our determination of whether the app functions as expected or not. We can, however, produce separate use cases to test whether users find a certain button layout more conducive to their app use. We can also collect information such as uninstall/reinstall information, the orientation of the device, loading time of the application and, by extension, its performance on a number of different handsets (very useful in benchmarking the processing friendliness of the application), account information, and, of course, crashes and exception data that can help improve our user experience. David Cearley from Gartner Inc. is noted as saying that every app now needs to be an analytics app and we can only do this through tracking the data relevant to our app.
Tools for Aiding in Data Tracking
The idea of data tracking in apps is as old as the idea of connected apps themselves. Because of that, the field is quite rife with a number of providers for app data tracking, which makes our lives as developers a lot easier. Among the available options to us are:
Google Analytics (GA): Google analytics is probably the most familiar name to those of us who have been on the internet and used the service for the delivery of Google ads. GA is free for small and medium businesses, but also has the option to be extended into an enterprise model called Google Analytics 360.
Firebase Analytics: Google themselves state that Firebase is their new development in analytics and is also free for use, like GA mentioned above. The major differences between these services are how mobile-friendly they are. Firebase is primarily developed for use in a mobile environment.
Adjust: This analytics platform offers a free trial to show off its usefulness, and it is indeed a useful tool. While it is mobile-only in implementation, it can be used to develop a system by which collected data can be spread out to a number of different receivers, such as multiple database locations or even backup databases directly. This allows for an app to limit the amount of SDKs needed server-side to handle the data.
Flurry Analytics: Another free service, owned and managed by Yahoo, but based on Google analytics principles, Flurry is one of the oldest mobile analytics platforms available. Their services were revamped in 2016, and they offer all the things you may need in an app analytics package.
Custom Options: Sometimes, we may not need an out-of-the-box solution. Occasionally an application requires insights that we would prefer to collect for ourselves. While these SDKs provide a lot of coverage for possible collection of data, and, in many cases, they would suffice, there are a few edge cases where we may need to write our data collection and handling ourselves.
Data Protection and Customer Privacy
As the quote from Voltaire (most times misattributed to Spiderman's Uncle Ben) goes, "With great power comes great responsibility." As app developers, we are in a unique position to get access to our users' data, and it’s up to us to ensure that this data is protected. A major faux pas that we want to avoid is recording our users' IPs since, at that point in time, the data we collect stops being anonymous. When using SDKs like GA or Firebase, there is the option of sharing the data we collect with them as well. Depending on the sensitivity of this data, we may decide to keep it for ourselves. Finally, there should always be an option to allow our users to decide they don't want to be part of our data collection. Being clear and up-front about this ensures that we gain our users' trust, as well as avoid possible legal actions later.
Using Collected Data
Depending on the SDK we're using, the fist port of call for our data will be a web-based application. From there, we can follow real-time statistics of our application, including crash reports. For larger projects with a lot of data to be collected, this data can be collated into a spreadsheet or database to make processing of the collected data a lot easier. After collating this data, we can utilize it to inform our design decisions about an application and the user base we're targeting with it. Analytics provides insights into the people using our app and these insights can aid us in building an app more focused on our users, thereby driving user engagement and potentially popularity.
Opinions expressed by DZone contributors are their own.