Legacy Census Metrics
⚠ The information in this document is obsolete. This content was originally included in the Project Smoot existing metrics report (Mozilla internal link).
ADI and DAU are oft-discussed censuses. This chapter discusses their history and definition.
ADI / Active Daily Installs (blocklist fetches)
⚠ The Blocklist mechanism described below is no longer used and has been replaced with remote settings. The content is left verbatim for historical reference.
ADI, one of Firefox’s oldest client censuses, is computed as the number of conforming requests to the Firefox blocklist endpoint. ADI data is available since July 13, 2008.
It is not possible to opt-out of the blocklist using the Firefox UI, but users can disable the update mechanism by changing preference values.
A blocklist is shipped in each release and updated when Firefox notices that more than 24 hours have elapsed since the last update.
The blocklist request does not contain the telemetry client_id
or any
other persistent identifiers. Some data about the install are provided
as URI parameters:
- App ID
- App version
- Product name
- Build ID
- Build target
- Locale
- Update channel
- OS version
- Distribution
- Distribution version
- Number of pings sent by this client for this version of Firefox
(stored in the pref
extensions.blocklist.pingCountVersion
) - Total ping count (stored in the pref
extensions.blocklist.pingCountTotal
) - Number of full days since last ping
so subsets of ADI may be queried along these dimensions.
The blocklist is kept up-to-date locally using the UpdateTimerManager
facility; the update is scheduled in a manifest and performed by
Blocklist#notify
.
Upon browser startup, after a delay (30 seconds by default),
UpdateTimerManager
checks whether any of its scheduled tasks are
ready. At each wakeup, the single most-overdue task is triggered, if one
exists. UpdateTimerManager
then sleeps at least two minutes or until
the next task is scheduled.
Failures are ignored.
The raw data is available in BigQuery (see STMO#66481
).
Telemetry only reports whether blocklist checking is enabled or disabled on the client; there is no data in telemetry about blocklist fetches, age, or update failures.
DAU / Daily Active Users
⚠ This description of DAU is not authoritative; please see the DAU definition in metrics for the canonical definition.
Firefox DAU is currently computed as the number of unique client_id
s
observed in main
pings received on a calendar day. The DAU count
excludes users who have opted out of telemetry.
Each main
ping describes a single subsession of browser activity.
When and how a ping is sent depends on the reason the subsession ends:
Reason | Trigger | Percent of subsessions [1] | Mechanism |
---|---|---|---|
shutdown |
Browser is closed | 77% | For Firefox 55 or later, sent by Pingsender on browser close unless the OS is shutting down. Otherwise, sent by `TelemetrySendImpl.setup` on the following browser launch. |
environment-change |
The telemetry environment changed | 13% | Sent when change is detected by `TelemetrySession._onEnvironmentChange` |
daily |
more than 24 hours have elapsed since the last ping was sent and the time is local midnight | 8% | Sent at local midnight after a random 0-60 min delay |
aborted-session |
A session terminates uncleanly (e.g. crash or lost power) | 3% | Sent by the browser on the next launch; the payload to send is written to disk every 5 minutes during an active session and removed by a clean shutdown |