We're introducing analytics into our iOS and Android apps for the first time. Is it the done thing to pop something up to make users aware, and allow them to opt out, or are people generally fine with the concept of anonymous data collection these days?

Our users are typically IT Professionals, System Administrators, etc. So very tech-savy and likely to look at network traffic. We wouldn't want to "trick" them into opting in, but we also don't want to ask unnecessary questions. We would probably want a way for them to opt out, even if it ends up buried in settings.

  • No people are not fine with anonymous data collection these days. If they were there wouldn't be such an outrage every time someone disclosed that such and such was doing stuff like that - and it even was in the 200p long TOS. People don't like being spied on. Full stop. They'll suffer it if what you have to offer makes it worth their while enough. Mar 24 '16 at 7:10

Asking users to opt out of analytics is unusual and will skew your numbers. You will no longer have data on site users; you will have data on site users who have lesser privacy concerns. This cohort is likely to use your site differently than others and you will not have balancing data from other types of users.

The best option is to put the information in the Terms and Conditions, as ThinkingMedia notes. For example, this is the language suggested by Lucky Orange for those who use their analytics platform:

"This site uses the Lucky Orange analytics system to help improve usability and the customer experience. Lucky Orange may record mouse clicks, mouse movements and scrolling activity. Lucky Orange may record keystroke information that you voluntarily enter on this website. Lucky Orange does not track this activity on any site that does not use the Lucky Orange system. You can choose to disable the Lucky Orange Service at http://www.luckyorange.com/disable.php. Note, that doing so will disable other features of the Lucky Orange system that this site employs such as 1-to-1 support chat."


This is a broad question with several possible answers, but in the end it is up to you decide how want to handle app usage.

App Permissions

Mobile apps are install and granted permissions by the operating system. The user is often prompted to allow these permissions when they install or update the app. Analytics falls under the category of app permissions for network traffic. If users have already granted your app these permissions then you should be able to add it without notifying the user.

If your app does not have network permissions they will be prompted to grant those permissions next time they update the app, or they can choose not to update.

I would argue that the user has granted permission for you to collect data the moment they grant network access.

Cosmetic Permissions

If you want finer grain control over permissions you have to implement that yourself, but keep in mind that this is purely cosmetic at this point. You can ask the user permission to collect analytics but as you've pointed out any tech-savy user can monitor the traffic to see if you're enforcing the permission.

The problem with this approach is that is it highly opinionated. They user can opt-out of analytics and then criticize every piece of network packet as being personal information.

When you ask the user the question "Allow us to collect anonymous data?" it generally open the door to the user's wildest imagination about what that data could be.

Some analytic services use a mobile devices unique identifier to track users. While the ID is not associated with personal information a user may not view it that way.

User Agreement

Instead of granting permission for a feature. You should cover all future changes under the terms and conditions of a user agreement. Within it you would state what types of network traffic the user is granting by accepting those terms, and what risks and liabilities they are accepting.

You are not only asking permission to collect analytics, but also protecting yourself from legal action on the part of the user for collecting said data.

Example; you could push an update to the iOS store that contains a bug. This bug enables analytics for users who have opt-out of the feature. Without the user agreement you would be liable for user damages.

A user agreement can protect you by defining the terms of usage, liabilities and risks of using your software.

There are websites that offer boilerplate or procedural user agreements.

Just google "legal agreements for mobile apps".

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.