Utilities is composed of a set of tools to fine-tune the operation and management of your application in Countly. Nested is this section of your Main Menu, you will find:
Please refer to the detailed Data Manager User Guide.
The Data Populator feature is available in both Countly Enterprise and Countly Lite.
The Data Populator feature provides an easy method for you to generate sample data for your currently active application. It populates data related to sessions, events, crashes, in-app purchases, push notifications, funnels, and user profiles so that you can have an understanding of what your reporting and analytics will look like when you go live.
To start using the Data Populator feature, go to Main Menu > Utilities > Data Populator. The data populator will warn you before you populate the data into any app. It is important that you do not run the data populator if your current application has already collected real/live user data.
Data Populator Overview
Understanding Data Populator Views
The Data Populator feature is divided into two Views:
- Data Populator: This allows you to set up and run the data populator on the selected application.
- Templates: This allows you to set up different data population templates, including the details you want to populate (e.g., events, sessions, funnels, etc.), and save them for use.
Using Data Populator
Data Populator View
The Data Populator View is the default View in the Data Populator feature.
On this page, you need to set the below fields:
- App Template: Using the dropdown menu, select the template you want to use to populate sample data.
- Date Range: Using the calendar dropdown, set a date range for the sample data. The options mimic the options in the date range of all Countly features.
- Maximum Time to Run: Set the maximum time, in seconds, that the data population should run.
Once you have filled in these fields, click the Generate Demo Data button. This will result in sample data being populated.
Do not populate sample data for an app that is already collecting live/real user data!
To go to the Templates View, click on the Templates tab at the top of the page. Here, you will see a table of all the templates that you have set up.
Each template has the below details:
- Template: The name of the template.
- Type: Whether this is a default or custom template.
- Number of User Properties: Number of user properties within the template.
- Number of Events: Number of events within the template.
- Edited By: The user who last edited the template.
Duplicating a Template
To duplicate any template, click on the 3-dot ellipsis menu button on the right of the row of the relevant template, and then click on Duplicate.
Creating a New Template
To create a new template, click on the Create New Template button on the top right corner of the page. This will open up a drawer where you will be required to fill in the below details:
- Template Name
- Custom User Properties (including key and values)
- Additional Custom User Properties (Optional): Click on the +Add a custom property button to add additional user properties. To delete any user property, click on Delete Property at the top right of the field.
- Event, including:
- Event Key
- Use Duration Property: Check this box to set a minimum and maximum time that it may take for a user to complete actions inside the app.
- Use Sum Property: Check this box to set a range for a floating point number to track an additional numeric value for your event.
- Additional Segmentations (Optional): Click on the +Add Segmentation button to add additional segmentation to the Event.
- Additional Events (Optional): Click on the +Add Event button to add additional Events and their details. To delete any Event, click on Delete Event at the top right of the field.
Once you have filled in all the details, click on the Create button at the bottom right of the drawer. The template will now be added to the table.
The Config Transfer feature is available only in Countly Enterprise.
The Config Transfer feature allows you to export the configurations of other features into another instance of Countly. You can export entire A/B testing experiments or Dashboards, and import them to a completely different Countly instance.
Config Transfer of data from specific features is dependent on the availability of those features in the edition you are using. As such, Config Transfer can be implemented in:
- A/B Testing
- Data Populator
- Remote Config
- Data Manager Transformations
To start using Config Transfer, go to Main Menu > Utilities > Config Transfer. The default View is the Export Configs View.
Config Transfer Overview
Understand Config Transfer Views
The Config Transfer feature has two Views:
- Export Configs: This View allows you to export configs. It is the default Config Transfer view.
- Import Configs: This View allows you to import configs.
Using Config Transfer
To start exporting configs, go to Main Menu > Utilities > Config Transfer. The default view is the Export Configs View.
On the left side of this View (1), you will see all the feature configurations that can be exported. Use the dropdown arrow against any feature configuration to see items under it.
Use the Search bar at the top of the table to look for specific feature configurations. To select any feature configuration to export it, simply select the corresponding check box (2). Select as many feature configurations as you would like to export. You can also select individual items of a particular configuration using the collapsible arrow (3) on the right side of each configuration. As you select configurations, they appear in the Configs to Export table on the right side (4).
To deselect any of the plugin configurations, unchecking them in either the left or right table removes them from the selection to be exported.
You can then download these files to export them. To download the JSON file, you can simply click on the Export as File button (5).
To import configs, click on the Import Configs tab at the top of the page and go to the corresponding view.
A file downloaded from the Export Config section from any Countly instance can be uploaded in this section by clicking the Browse Link or by dragging and dropping the file onto the white upload area.
Once the file has been selected, the import process can be started by clicking the Import Configs button on the top right corner of the upload area.
The imported configurations will be visible in their respective sections, e.g., imported dashboards would be visible in the Dashboards dropdown.
The dependencies for each exported item are exported and then imported into the new instance without any extra configuration.
For example: If Dashboard A depends on Cohorts x and y, both Cohorts x and y will be exported with the file as well.
Incoming Data Logs
The Incoming Data Logs feature is available in both Countly Lite and Countly Enterprise.
Incoming Data Logs allows you to centralize all the incoming requests from your SDKs, allowing you further explore all requests received, request time, app version, device, location, crashes, performance, and other metrics of the requests.
First of all, make sure Event Logs is enabled. To do so, go to the Sidebar > Management > Feature Management and enable the Incoming Data Logs toggle.
Then, to access Incoming Data Logs at any time, on the Main Menu, go to Utilities > Incoming Data Logs.
Incoming Data Logs Overview
Understanding Incoming Data Logs
This feature logs all requests, originating device, and contents of the latest 1000 requests done to the SDK, something particularly useful during the development stage of your application.
In addition, the logs' data can be segmented based on different types of requests such as sessions, events, metrics, user details, and crashes.
Using Incoming Data Logs
The Incoming Data Logs View includes everything you need to know about the last 1000 requests done with the SDKs to your app.
1. You can visualize all the requests (selected by default) or filter per type. Note that the type will depend on the data types currently being collected by your SDKs.
2. Additionally, you can enable the Auto-refresh toggle button (disabled by default), which will automatically update the logs.
3. Each log entry is shown in a human-readable format. Upon expanding the content of each entry, you will find the actual information sent by the SDK.
The SDK Manager feature is available in both Countly Lite and Countly Enterprise.
The SDK manager lets you view the SDKs that are being used by your application. It enhances the usage of SDKs by providing you with analytics related to SDK usage.
Benefits of using SDK manager
- It helps the Countly team to understand any issue related to SDK in a more comprehensive way and allows them to solve the issue in an efficient manner.
- It also helps your team stay up to date with latest developments in SDKs by providing you with information on the version that your application is using.
Using SDK manager
The SDK manager has two views: SDK Stats and SDK Configuration. To access SDK manager, go to Main Menu > Utilities > SDK manager.
You can see the following screen.
In the SDK stats section, you'll find various analytics related to the SDK used in your application.
- First, choose the date range using the Date Picker dropdown button. The SDK stats will display results based on Total sessions, Total users, and New users.
- The next section will present the distribution of users among the versions of the SDKs supported by Countly.
- Below that, you'll find a detailed breakdown of SDK version distribution for all versions.
- Similar to App versions, the next section also indicates the rate at which users are updating their SDK version to the latest. Simply select the SDK version from the dropdown and choose whether you want to view it as a percentage or as a value.
- Lastly, the Data Table contains two tabs. The first tab provides details on three metrics - total sessions, total users, and new users - for all the versions of the SDKs supported by Countly. The next tab contains similar data for each particular version of your SDK.
SDK Configuration (Experimental)
When you toggle to SDK configuration, the following screen will appear.
The functionality of this feature to control tracking and networking capabilities of SDKs remotely. Any customer can disable SDK data collection in their app from the Countly server.
In future, we will have more different controls over SDKs.
The Location Targeting feature is available only in Countly Enterprise.
Location Targeting allows you to create specific geolocations to use for Push Notifications. Therefore, you will only see this option if your Countly instance corresponds to a mobile application.
First of all, make sure Location Targeting is enabled. To do so, in the Sidebar, go to Management > Feature Management and enable the Geolocations toggle.
After that, you will find Location Targeting in the Utilities section.
There, the View will show you a list of existing geolocations (including the given name, applications in Countly that can use them, and specfic location) as well as the + Create New Location button
By default, the location will be available for all applications, unless you select a specific application.
The Compliance Hub feature is available in both Countly Lite and Countly Enterprise.
- Supported Countly versions: 18.04 and higher
- Supported Countly SDKs: iOS, Android, Node.js, and web
The Countly Compliance Hub feature helps Countly administrators view and track users' consents, and manage them in one place.
Compliance Hub is enabled by default on each Countly instance and helps you do two things:
- Collect user consents: Every first-time user/visitor (in web or mobile) should be asked for permission to collect analytics data. This data has several features (e.g. session, crash, view, clicks, etc.) and it should be clearly stated which data would be collected from the end user via a consent form. If a user does not give consent for data collection, no information will be sent until they clearly opt-in.
- Manage user requests: This feature also creates a "Consents" tab for each user profile (available only in the Enterprise Edition). Any user, in mobile or web, can request their information exported or deleted via a contact form or via an SDK. When a request is retrieved from an SDK, this information can be viewed from that particular user's profile page. Upon reviewing this request, the Countly admin can either export this data and send it to the corresponding user, or delete the user's information altogether.
In order to collect consent, you can use a custom form, or use a form that we provide as examples for each SDK. When you have more than one vendor integrated in your app that collects user data, it is best to use a custom consent manager which will inform those SDKs.
Compliance Hub Overview
Countly SDKs for mobile (iOS and Android) and web pages (Nodejs and web SDK) have the ability to get consent information from users and then send this data to Countly. The SDKs can separately send different individual metric data in case it is required (e.g., metrics, sessions, users, and crashes), send all of them, or not send them at all.
The SDKs can also send feature-based opt-in/opt-out requests for logging purposes for a specific device, instead of a particular user. Hence, users must send their opting choices for each device they have.
Each SDK is initialized without sending any information to a Countly server, and it is possible for each SDK to enable or disable a metric submission feature while the application is running. Hence, a user can opt-in for all metrics, but then decide to opt out from some of them. If there is queued data related to a user, and they choose to opt out, this queue is not sent to Countly.
The SDKs are configured as opt-in by default due to backward compatibility, as is the most common use case for first-party data collection. It is however possible to set an SDK into opt-out mode with the initialization configuration. In such a case, it would work only when specific consents are provided.
Getting Permissions via the SDKs
In order to comply with GDPR, you need to set all your visitors at 'opt-out' by default, and show them a consent form pop-up. At your discretion, in regions where it may be legal to do so, you can also opt-in your users by default and not show this consent form. However, for GDPR you must explicitly ask for permission to track data, explaining what you are tracking and why. Only when the user agrees can you start tracking your users.
When the app starts for the first time, it initializes Countly only after permission is given explicitly by the end user. In your application, you need to give the user a way to opt in/out in case the user changes their mind, and this method is provided by Countly SDKs.
If you want to have a feature-by-feature (e.g., metrics, users, crashes, views, etc.) selection, such as opt-in to crash submissions, but opt-out of views, you would need to manage the user preferences yourself, storing them persistently and starting or calling Countly features enabling methods based on those preferences upon each app start. There are examples of how to do that inside each SDK documentation where sending consent information is supported.
Using Compliance Hub
The Compliance Hub feature is enabled by default in all Countly instances. If, for some reason, you would like to disable it, go to Side Bar > Management > Feature Management and disable the Data Compliance Hub toggle.
To use Compliance Hub, go to Main Menu > Utilities > Compliance Hub.
The Compliance Hub feature has four Views:
- Metrics: View data compliance metrics (e.g., sessions, events, views, clicks, forms, users, etc.) per metric, in a time-series graph. It shows all incoming requests about consents, e.g., both opt-ins and opt-outs.
- Users: A visitor list with consent history. In this View, you can see each visitor's consent history and also export data of the corresponding user.
- Consent History: List of all opt-in and opt-out requests, based on any metrics (e.g., sessions, events, views, etc.)
- Export/Purge History: List of all exports and removals in a single view.
Other than the information above, each user profile (available in Enterprise Edition) has a tab titled Consents, which keeps the user's consent history. If you see a user sending export or deleting consent, you can just export this user's data or remove this user's information altogether from Countly.
These are detailed below.
In the Metrics View you can view all consent requests in a time-series graph, including opt-ins or opt-outs for each feature as shown below. In this screen, orange lines represent opt-outs and blue lines represent opt-ins. You can also filter by metric feature type, e.g., opt-ins and opt-outs by sessions, events, crashes, etc. from the Feature type dropdown menu. You can also showcase data for specific periods using the time buckets on the top right.
In the Users View, you can see all users' current consent options, broken by User ID, Device, App Version, and Consent Type.
On the right end of each user row, there is a 3-dot ellipsis menu where you can:
Go to consent history: Clicking this option will take you to the consent history of that particular user.
Download user's export data: Downloads user's exported data, including everything that this particular user's device has sent over, e.g., crashes/errors (if any) or events.
Starting version 22.09.15 export format has been changed. Export is a single .json file. There is an array of objects, in which each describes a single document in different collections.
[All fields except _col are coming from the database. _col is the collection from which data was exported. Before version 22.09.15 downloaded package is in a gzip format (.gz) which includes several JSON files.
- Download user's export data: Downloads user's exported data, including everything that this particular user's device has sent over, e.g., crashes/errors (if any) or events.
- Purge user's exported data: It completely deletes user's exported data on the server. This does not remove the user data.
- Purge user's data completely: It deletes user data completely. Use with caution!
You can download the data table information using the Downward Arrow button on the top right of the table.
Exporting vs Purging application user data
Neither exporting nor deleting exported data removes the application user's data directly. In order to purge an application user, you must use Purge user's data completely from the list explained above. Use this menu item with extreme caution as this will completely wipe out that application user's past history from Countly.
Consent History View
In the Consent History tab, you will see a historical list of all past consents. You can filter by status, i.e., those who opted-in, opted-out, or all, and metric type (sessions, events, views, etc.). Once you set your desired filter, the data table shows you the user's Device ID, Changes (i.e., opted-in / opted-out), UID, Consent (i.e., features opted-in), App Version, and Time of last change. You can also select a date range for which to populate the data table using the Dropdown Menu button at the top right of the table.
Download the information from any data table by clicking the Downward Arrow at the top right corner.
Export/Purge History View
The Export/Purge History View shows you all export and data removals a Countly admin has executed. Whenever you export or delete user data, is shown here. You can filter them on the basis of data type using the Dropdown Menu button at the top left of the data table. You can also download the report by clicking on the Downward Arrow button at the top right of the table.
Individual User Consents
When the Compliance Hub feature is enabled, each User Profile will have a new tab, Consents. This shows the application user's consent history, along with several actions you can take.
When you click on the 3-dot ellipsis menu on top-right hand side of the screen, you will see 3 options by default:
- Export: Exports this app user's data and make it available for download later. This option does not directly download app user's data.
- Purge user's data completely: This option purges this app user's data. Use with caution!
- Create message: Opens the Push Notification panel so you can let this user know that their app data is being wiped. This option is only shown if the user has a push notification token obtained and sent via a mobile app. You can do this only before deleting the app user data, since push tokens will be invalidated.
When you export an app user data, there will be a 4th and 5th option shown here, Download user's exported data and Purge user's exported data, which downloads exported user data and deletes the exported data on Countly, respectively. Note that deleting exported data does not delete the user's data previously collected directly, and this user will be able to send data from the applications.
Compliance Hub APIs
Countly has several API sets that helps you remain compliant with several regulations in your country, or worldwide. This is useful especially if you send data to Countly not via SDKs, but via exposed Countly APIs.
Right to be forgotten: https://resources.count.ly/v1.0/reference#iapp_usersdelete
Right for retrieving user data: https://resources.count.ly/v1.0/reference#iapp_usersexport https://resources.count.ly/v1.0/reference#iapp_usersdeleteexportfilename https://resources.count.ly/v1.0/reference#oapp_usersdownloadfilename
You might come across a situation when trying to symbolicate a crash, it does not produce a symbolicated result after initiating it.
This means that there was a problem while trying to symbolicate your crash. To get more information on the problem, you can check out the symbolication logs to understand what failed, and how to mitigate the problem.
After the issue which caused the failure has been fixed, you may rerun that symbolication task.
The Filtering Rules feature is available only in Countly Enterprise.
Sometimes, for varying reasons, you may want to block a particular event or session data from being written to the database. The Filtering Rules feature can be handy in such a case.
You may add as many rules as you would like, e.g., based on the IP, country, browser, platform, etc. You may also filter based on sessions or events.
The Filtering Rules feature is enabled by default in Countly Enterprise, and you can find it in the Main Menu > Utilities > Filtering Rules. If you still don’t see it, go to the Sidebar > Management > Feature Management and enable the Filtering Rules toggle.
Filtering Rules Overview
Using Filtering Rules
The Filtering Rules feature View has the below details:
- Filtering Rules list: Each filtering rule in the list can be quickly activated or deactivated using its respective toggle button.
- Table controls: Use them to change the columns shown in the table or to search for particular surveys.
- Filtering Rules menu: You can edit filtering rules as per your needs or delete old ones.
- + Create New Filtering Rule button: Opens the drawer to create a new filtering rule.
Creating a Filtering Rule
Upon clicking the + Create New Filtering Rule button in the main Filtering Rules View, a creation drawer will appear.
Creating a filtering rule in Countly is an easy process:
- Choose Filtering Rules For: Choose whether you would like to filter all requests, request based on session, or request based on events.
- Choose Targeting: You can either block all requests or add a filter.
- Add filtering to define more accurate blocking: You can add filters such as IP Address, hostname, etc. The more filters you use, the more granular and deeper your data will be.
You can keep adding properties by using the + Add Property button
In addition to this if you had selected filtering rules for events, you will need to select your event settings.
- Select from existing events: Choose from the dropdown the event you would like to block.
- Enter event string: Enter string to match the event key you want to block in the input field.
Can we create Funnels in Data Populator?
Yes, you can create Funnels in Data Populator for testing purposes, which will also lead to a perfect testing scenario, as the steps of the funnel will be defined by the Data Populator.
In order to enter a funnel, each user generated by the Populator must trigger at least the first event in the defined funnel sequence.