Analytics FAQ

Alliance Auth has an opt-out analytics module using Google Analytics Measurement Protocol.

How to Opt-Out

Before you proceed, please read through this page and/or raise any concerns on the Alliance Auth discord. This data helps us make AA better.

To opt out, modify our preloaded token using the Admin dashboard */admin/analytics/analyticstokens/1/change/

Each of the three features Daily Stats, Celery Events and Page Views can be enabled/Disabled independently.

Alternatively, you can fully opt out of analytics with the following optional setting:

ANALYTICS_DISABLED = True

Analytics Tokens

What

Alliance Auth has taken great care to anonymize the data sent. To identify unique installs, we generate a UUIDv4, a random mathematical construct which does not contain any identifying information UUID - UUID Objects

Analytics comes preloaded with our Google Analytics token, and the three types of tasks can be opted out independently. Analytics can also be loaded with your own GA token, and the analytics module will act any/all tokens loaded.

Our Daily Stats contain the following:

  • A phone-in task to identify a server’s existence

  • A task to send the Number of User models

  • A task to send the Number of Token Models

  • A task to send the Number of Installed Apps

  • A task to send a List of Installed Apps

  • Each Task contains the UUID and Alliance Auth Version

Why

This data allows Alliance Auth development to gather accurate statistics on our installation base, as well as how those installations are used.

This allows us to better target our development time to commonly used modules and features and test them at the scales in use.

Where

This data is stored in a Team Google Analytics Dashboard. The Maintainers all have Management permissions here, and if you have contributed to the Alliance Auth project or third party applications, feel free to ask in the Alliance Auth discord for access.

Using Analytics in my App

Analytics Event

analytics_event(namespace: str, task: str, label: str = '', result: str = '', value: int = 1, event_type: str = 'Celery')[source]

Send a Google Analytics Event for each token stored Includes check for if its enabled/disabled

Parameters:
  • namespace (str) – Celery Namespace

  • task (str) – Task Name

  • label (str) – Optional, additional task label

  • result (str) – Optional, Task Success/Exception

  • value (int) – Optional, If bulk, Query size, can be a Boolean

  • event_type (str) – Optional, Celery or Stats only, Default to Celery