Zoho Apptics is a pay-per-use analytics tool that helps you gain insights from your applications. This guide enables you to understand the basics of user, device, and user consent and how this all binds together to form our architecture.

Before you start using Apptics, there are a few terms that you should have acquainted yourself with. You can always check the Glossary to get the definitions of the technical terms that we use in Apptics. However, here we discuss terms such as New devices, Active devices, Unique active devices, Opt-in devices, Opt-out devices, and Anonymous devices


When you create a portal in Apptics and if you agree for Apptics to collect app data from your app users, you are given a choice as to whether you will be willing to ask your app users for consent for data collection or not. 

If you decide to use the user consent module, the user is presented with three options after they log in or sign up.

  • I am in with my identity - the user has given consent to track the data from their device. In such scenarios, the device id registered with Apptics is associated with the user id that you set using the setuser() method.
  • I am in anonymously - the user wants to share the data from their device without their identity. In such scenarios, a randomly generated UUID is assigned as the unique identifier to track this device's usage and analytics data. The randomly generated UUID cannot be associated with any user and all the data is tracked anonymously.
  • Do not track - the user doesn't want any tracking for the usage.

For iOS apps, you must show a `Review Privacy and Security settings` pop-up. It should be mandatory for users to interact with this pop-up and review their privacy settings in the App (you should not add a close button on this pop-up). The options will be as shown below.

The data collected based on user consent is shown in the Apptics console as Opt-in, Anonymous Opt-in, and Opt-out. For the Opt-out devices, the total number of opt-out devices and the consent state are maintained in the Apptics server.

When you add the Apptics SDK to your mobile app and call the relevant methods, the Apptics SDK is initialized for your app. Refer to our SDK guide.

Now, when a user downloads the app from the app marketplace (App Store, Play Store, or Windows Store), the device is registered as a `New Device` in Apptics with a Device ID and a randomly generated UUID.

When the Apptics SDK is initialized within the app, by default tracking will happen anonymously, and the data is not associated with any identifier until the setuser() method is used by you to identify a user. You can use any identifier in the setuser() method. 

See how to use setuser() method for various SDKs - Android SDK guide, iOS SDK guide, Windows SDK guide, React Native SDK guide, and Flutter SDK guide.

The user ID you use in the setuser() method should also be maintained at your end. Later, you can use this user ID to search the data in the Apptics console. After a user downloads the app from the marketplace, the next step will be to log in or sign up. This is the time when you can show the user consent pop-up.

NOTE: You should not use any direct personally identifiable information in the setuser(). If you do have to use a direct PII, you need to make sure that the same is conveyed to your users through your Privacy policy.

Generally, the New devices in Apptics can be equated to the number of downloads from the marketplace. However, this data should not be compared with the AppStore or PlayStore data. The reason is, in the App Store only the opt-in data is collected but in Apptics we ignore the global opt-in status of OS and get consent from the user for every app.

The key metric to measure and account for is the Active device count (both cumulative & unique). The Active devices are a measure of at least one Active Session during the defined period. You get the Unique Active devices count for 30 days in the Apptics console. Above 30 days, you get the Cumulative Active device count.

NOTE: When you use Apptics as your preferred Analytics solution, you don't have to implement Apple's tracking transparency (ATT) framework.

Definitions

  • New Devices - The total number of devices in which the app has been downloaded and installed. Whenever the device is reset to factory settings or if the app has been deleted and installed again, the device is registered as a New Device in Apptics.
  • Active Devices (Cumulative) - The total number of devices in which at least one Active session has happened. 
  • Active Devices (Unique) - The unique number of devices in which at least one Active session has happened in the past 30 days. Example:
    • Day1 - Device A, B, C, D (4 devices)
    • Day2 - Device A, C, E, F, G (5 devices, 3 new)
    • Day3 - Device A, C, H, I (4 devices, 2 new)
    • Total Unique active devices = A, B, C, D, E, F, G, H, I (4+3+2)
  • Opt-in Devices - The total number of devices where the user has given consent for data tracking with their identity. This means that all data collected from Person X's device will be attributed to Person X. In this scenario Device = User.
  • Anonymous Opt-in Devices - The total number of devices where the user has given consent for data tracking but without revealing their identity.
  • Opt-out Devices - The total number of devices where the user denies any data collection and tracking. The consent state of all the devices is maintained in the Apptics backend.

Data in Apptics Dashboard

In the Apptics dashboard, you get detailed stats on how many users have opt-ins, how many are anonymous opt-ins, and how many have an opt-out. When you `Search` the details using a device Id or a user id, you only get the data for opt-in and anonymously opt-in users. 

Device and Data-sharing Preferences

This section explains different scenarios when there is a change in the device data-sharing preferences. A user is considered a subset of a device in Apptics.

A. If user A has opt-in and later changes to:

  • Anonymous opt-in - This is considered a new user. There will be no connection between user A and this new anonymous user.
  • Opt-out - We will stop collecting the data from the day the preference was changed.

B. If user A has anonymous opt-in and later changes to:

  • Opt-in with identity - This is considered as a separate user and there is no connection between the previous anonymous and the current user.
  • Opt-out - We will stop collecting the data from the day the preference was changed.

C. If user A has opt-out and later changes to: 

  • Opt-in with identity - Data is collected with the user's identity
  • Opt-in anonymously - Data is collected but is not associated with the user identity.

Other user cases

Scenario #1

If a user has opt-in with identity on 1st Jan and

  • Changes to anonymous on 10th Jan and then 
  • From 12th Jan to 31st Jan choose opt-in with identity 

In the above scenario, the data will be displayed in the Apptics dashboard as:

  • 10th-12th Jan anonymous data will be collected separately.

Data from 1st Jan-10th Jan and 12th-31st Jan, the same data will be tracked in continuation. For two days, between the 10th and 12th Jan, the email data won't be there. Some anonymous data will be there, but we will not know if it was the same user or someone else.


Scenario #2

If a user has opt-in with identity on 1st Jan and

  • Choose to opt out on 10th Jan and then 
  • From 12th Jan to 31st Jan choose opt-in with identity

In the above scenario, the data will be displayed in the Apptics dashboard as:

  • 10th to 12th Jan data will not be collected.

Data from 1st-10th Jan and from 12th-31st Jan, the same user data will be tracked in continuation. For two days, i.e., 10th -12th Jan there won't be any data.


Scenario #3

If a user has opt-in with identity on 1st Jan and 

  • Choose to opt out on 10 Jan, 
  • From 12th Jan to 31st Jan choose an anonymous opt-in

In the above scenario, data from 

1st-10th Jan will be available with the user identity. From 10th-12th Jan, the data will not be collected. And, from 12th-31st Jan, data will be collected anonymously but we will not know if the data is from the same user.