Skip to content

Commit

Permalink
Update FxA pages to refer to Mozilla Accounts (#810)
Browse files Browse the repository at this point in the history
* Update FxA pages to refer to Mozilla Accounts

Co-authored-by: Sean Rose <1994030+sean-rose@users.noreply.github.com>
  • Loading branch information
clouserw and sean-rose authored Jan 24, 2024
1 parent bd2b97f commit 812a544
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 50 deletions.
8 changes: 4 additions & 4 deletions src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -134,10 +134,10 @@
- [Sponsored Tiles](datasets/other/sponsored_tiles/sponsored_tiles.md)
- [Newtab_Interactions](datasets/other/newtab_interactions/reference.md)
- [Urlbar Events](datasets/other/urlbar_events/reference.md)
- [Firefox Accounts Datasets](datasets/fxa.md)
- [Firefox Account Attribution](datasets/fxa_metrics/attribution.md)
- [Firefox Account Funnel Metrics](datasets/fxa_metrics/funnels.md)
- [Firefox Account Email Metrics](datasets/fxa_metrics/emails.md)
- [Mozilla Accounts Datasets](datasets/fxa.md)
- [Mozilla Account Attribution](datasets/fxa_metrics/attribution.md)
- [Mozilla Account Funnel Metrics](datasets/fxa_metrics/funnels.md)
- [Mozilla Account Email Metrics](datasets/fxa_metrics/emails.md)
- [Static Datasets](datasets/static.md)
- [Normalized OS Names And Versions](datasets/static/normalized_os.md)
- [Historical Reference](historical/index.md)
Expand Down
28 changes: 14 additions & 14 deletions src/datasets/fxa.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
# Firefox Accounts Data
# Mozilla Accounts Data

> ⚠️ Formerly Firefox Accounts, this service was renamed publicly in 2023, but is still often referred to by its previous abbreviation `FxA` internally, including in this documentation.
## Table of Contents

<!-- toc -->

## Introduction

This article provides an overview of Firefox accounts metrics: what is measured and how. See the other articles in this chapter for more details about the specific measurements that are available for analysis.
This article provides an overview of Mozilla accounts metrics: what is measured and how. See the other articles in this chapter for more details about the specific measurements that are available for analysis.

The [Firefox accounts documentation](https://mozilla.github.io/ecosystem-platform/relying-parties/reference/metrics-for-relying-parties) maintains additional detail, as well as the source code, for the metrics described here.
The [Mozilla accounts documentation](https://mozilla.github.io/ecosystem-platform/relying-parties/reference/metrics-for-relying-parties) maintains additional detail, as well as the source code, for the metrics described here.

## What is Firefox Accounts?
## What is Mozilla Accounts?

[Firefox accounts](https://www.mozilla.org/en-US/firefox/accounts/) is Mozilla's authentication solution for account-based end-user services and features. At the time of writing, sync is by far the most popular account-relying service. Below is a partial list of current FxA-relying services:
[Mozilla accounts](https://www.mozilla.org/en-US/firefox/accounts/) is Mozilla's authentication solution for account-based end-user services and features. At the time of writing, sync is by far the most popular account-relying service. Below is a partial list of current FxA-relying services:

- [Sync](https://support.mozilla.org/en-US/kb/how-do-i-set-sync-my-computer)
- Requires FxA.
Expand All @@ -31,29 +33,27 @@ A single account can be used to authenticate with all of the services listed abo

Note that in addition to being the most commonly used relier of FxA, sync is also unique in its integration with FxA - unlike the other reliers in the list above, sync is currently **not** an FxA oauth client. When someone signs into an oauth client using Firefox, nothing in the browser changes - more specifically, client-side telemetry probes such as [`FXA_CONFIGURED`](https://probes.telemetry.mozilla.org/?view=detail&probeId=histogram%2FFXA_CONFIGURED) do not change state. Thus at the present time the only way to measure usage of FxA oauth reliers is to use the FxA server-side measures described below.

One more thing: China runs its own stack for sync, but Chinese sign-ups for oauth reliers still go through the "one and only" oauth server. This means that Chinese users who want to use both sync and an oauth service (e.g. Monitor) will have to register for two accounts. It also means that only metrics for Chinese oauth users will show up in the datasets described below; any sync-related measures will not. At present, you must contact those responsible for maintaining the FxA stack in China for metrics on Chinese sync users.
> ⚠️ China runs its own stack for sync, but Chinese sign-ups for oauth reliers still go through the "one and only" oauth server. This means that Chinese users who want to use both sync and an oauth service (e.g. Monitor) will have to register for two accounts. It also means that only metrics for Chinese oauth users will show up in the datasets described below; any sync-related measures will not. At present, you must contact those responsible for maintaining the FxA stack in China for metrics on Chinese sync users.
## Metrics Background

Unlike most telemetry described in these docs, FxA metrics are logged server-side. There are many [FxA "servers"](https://github.com/mozilla/fxa/tree/main/packages) that handle different aspects of account authentication and management. The metrics of most interest to data analysts are logged by the FxA auth server, content server and oauth server. Each server writes their metrics into their log stream, and some post-processing scripts combine the metrics events from all three servers into datasets that are available in BigQuery.
FxA metrics are logged both server-side and client-side. There are many [FxA "servers"](https://github.com/mozilla/fxa/tree/main/packages) that handle different aspects of account authentication and management. The metrics of most interest to data analysts are logged by the FxA auth server, content server and oauth server. Each server writes their metrics into their log stream, and some post-processing scripts combine the metrics events from all three servers into datasets that are available in BigQuery. In 2023 a new logging implementation was integrated leveraging the [Glean](../concepts/glean/glean.md) libraries and pipelines which means both server- and client-side will use the Glean system. All new metrics are being implemented in Glean and the legacy metrics will likely be removed in 2024.

In general, metrics logged by the [FxA auth server](https://github.com/mozilla/fxa/tree/main/packages/fxa-auth-server) reflect authentication events such as account creation, logins to existing accounts, etc.
Metrics logged by the [FxA content server](https://github.com/mozilla/fxa/tree/main/packages/fxa-content-server) reflect user interaction and progression through the FxA web UI - form views, form engagement, form submission, etc.
The [FxA oauth server](https://github.com/mozilla/fxa/pull/3176) logs metrics events when oauth clients (Monitor, Lockwise, etc) create and check authentication tokens.

## Metrics Taxonomies

There are two overlapping taxonomies or sets of FxA event metrics.

[**Flow Metrics**](https://github.com/mozilla/fxa-auth-server/blob/master/docs/metrics-events.md): these are an older set of metrics events that can be queried through the `firefox_accounts` dataset in the `mozdata` project in BigQuery. See [this documentation](https://github.com/mozilla/fxa-auth-server/blob/master/docs/metrics-events.md) for detailed description of the types of flow events that are logged and the tables that contain them (note this documentation does not contain an exhaustive list of all flow metrics but is generally still accurate about the ones that are described).
In 2023 we integrated Glean with Mozilla Accounts and Event Metrics are now available for the [server-side](https://dictionary.telemetry.mozilla.org/apps/accounts_backend) and [client-side](https://dictionary.telemetry.mozilla.org/apps/accounts_frontend).

**Amplitude Events**: FxA started to send metrics events to amplitude circa October 2017 and ended around June 2020. While we stopped using Amplitude, the term Amplitude Events lives on to reference this set of events. Amplitude events can be queried through the `moz-fx-data-shared-prod.firefox_accounts` dataset in BigQuery. [`moz-fx-data-shared-prod.firefox_accounts.fxa_content_auth_events`](https://github.com/mozilla/bigquery-etl/blob/master/sql/moz-fx-data-shared-prod/firefox_accounts/fxa_content_auth_events/view.sql) is probably the easiest BigQuery view to use, though it does not contain email bounce events.
There are two additional legacy event types described below:

Note that the BigQuery [ETL jobs](https://github.com/mozilla/bigquery-etl/tree/master/sql) run daily.
[**Flow Metrics**](https://github.com/mozilla/fxa-auth-server/blob/master/docs/metrics-events.md): these are an older set of metrics events that can be queried through the `firefox_accounts` dataset in the `mozdata` project in BigQuery. See [this documentation](https://github.com/mozilla/fxa-auth-server/blob/master/docs/metrics-events.md) for detailed description of the types of flow events that are logged and the tables that contain them (note this documentation does not contain an exhaustive list of all flow metrics but is generally still accurate about the ones that are described). These will likely evolve significantly in 2024.

FxA's amplitude metrics were originally just re-configured and re-named versions of the flow metrics. However things have since diverged a bit and there are now metrics events that only have an amplitude version but no corresponding flow event, and vice-versa. If you are wondering whether a certain event is logged its likely you will have to check both data sources.
**Amplitude Events**: FxA started to send metrics events to Amplitude circa October 2017 and ended around June 2020. While we stopped using Amplitude, the term Amplitude Events lives on to reference this set of events. Amplitude events can be queried through the `moz-fx-data-shared-prod.firefox_accounts` dataset in BigQuery. [`moz-fx-data-shared-prod.firefox_accounts.fxa_content_auth_events`](https://github.com/mozilla/bigquery-etl/blob/main/sql/moz-fx-data-shared-prod/firefox_accounts/fxa_content_auth_events/view.sql) is probably the easiest BigQuery view to use, though it does not contain email bounce events. These are being completely replaced by the Glean Event Metrics and will be removed in 2024. FxA's Amplitude metrics were originally just re-configured and re-named versions of the flow metrics. However things have since diverged a bit and there are now metrics events that only have an Amplitude version but no corresponding flow event, and vice-versa. If you are wondering whether a certain event is logged its likely you will have to check both data sources.

It is also possible to query the FxA server logs directly through BigQuery (ask an FxA team member for access), though virtually all analytics-related questions are more easily answered using the data sources described above.
Note that the BigQuery [ETL jobs](https://github.com/mozilla/bigquery-etl/tree/main/sql) run daily.

## Service databases

Expand Down
10 changes: 3 additions & 7 deletions src/datasets/fxa_metrics/attribution.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Attribution of Firefox Accounts
# Attribution of Mozilla Accounts

## Table of Contents

<!-- toc -->

## Introduction

Users can create or login to an account through an increasingly large number of relying services and entrypoints. This article describes how we attribute authentications to their point of origin, and documents some of the most frequently trafficked entrypoints (it would not be feasible to list them all, but we will try to update this document when there are substantial changes).
Users can create or login to an account through an increasingly large number of relying services and entrypoints. This article describes how we attribute authentications to their point of origin, and documents some of the most frequently trafficked entrypoints.

## Types of Attribution

Expand All @@ -22,11 +22,7 @@ There is a variable called `service` that we use to (1) attribute users to the r
| `fx-monitor` | `802d56ef2a9af9fa` | Firefox Monitor ([website](https://monitor.firefox.com)) |
| `pocket-mobile` | `7377719276ad44ee` | Pocket Mobile App |
| `pocket-web` | `749818d3f2e7857f` | Pocket Website |
| `firefox-addons` | `3a1f53aabe17ba32` | `addons.mozilla.org` |
| `amo-web` | `a4907de5fa9d78fc` | `addons.mozilla.org` (still unsure how this differs from `firefox-addons`) |
| `screenshots` | `5e75409a5a3f096d` | Firefox Screenshots ([website](https://screenshots.firefox.com/), no longer supported) |
| `notes` | `a3dbd8c5a6fd93e2` | Firefox Notes (desktop extension) |
| `notes` | `7f368c6886429f19` | Firefox Notes (android app) |
| `amo-web` | `a4907de5fa9d78fc` | `addons.mozilla.org` |
| `fxa-content` | `ea3ca969f8c6bb0d` | Oauth ID used when a user is signing in with cached credentials (i.e. does not have to re-enter username/password) and when the user is logging into the FxA settings page. |
| `mozilla-email-preferences` | `c40f32fd2938f0b6` | Oauth ID used when a user is signing in to modify their marketing email preferences (e.g., to opt-out.) |

Expand Down
6 changes: 3 additions & 3 deletions src/datasets/fxa_metrics/emails.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# FxA Email Metrics
# Mozilla Account Email Metrics

## Table of Contents

<!-- toc -->

## Introduction

Users must provide an email address when they sign up for a Firefox Account. Emails are sent to users to confirm authentication, alert them to new sign-ins, and to complete password resets. Users can also opt-in to marketing emails, however metrics for those are not covered in this article.
Users must provide an email address when they sign up for a Mozilla Account. Emails are sent to users to confirm authentication, alert them to new sign-ins, and to complete password resets. Users can also opt-in to marketing emails, however metrics for those are not covered in this article.

Events that we track relating to email:

Expand All @@ -24,7 +24,7 @@ Metrics relating to emails also contain the following properties:

Only emails sent by the FxA auth server are represented in the tables below. TBD on marketing emails.

### Firefox Accounts
### Mozilla Accounts

| `email_template` | `email_type` | Description & Notes |
| -------------------------------------- | -------------------------| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
Expand Down
24 changes: 2 additions & 22 deletions src/datasets/fxa_metrics/funnels.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Firefox Account Funnels
# Mozilla Account Funnels

## Table of Contents

Expand Down Expand Up @@ -140,29 +140,9 @@ _This funnel starts after user clicks to use a recovery code during the TOTP fun
| 2 | Not Implemented | `flow.sign_in_recovery_code.view` | View of the TOTP recovery code form. |
| 3 | Not Implemented | `recoveryCode.verified` (auth server) | User submitted a valid recovery code. |

## Connect Another Device / SMS

Sync is most valuable to users who have multiple devices connected to their account. Thus after a user completes a sync login or registration funnel, they are shown the "connect another device" form. This Call to Action contains a form for a phone number, as well as links to the Google Play and Apple stores where users can download mobile versions of Firefox. If a user submits a valid phone number (associated with a country that our service supports), then we send them an SMS message with links to their mobile phone's app store.

At one point, at least for iOS, the SMS message contained a deep link that pre-filled the user's email address on the sign-in form once they installed the mobile browser. There is some uncertainty about whether this still works...

### SMS Funnel

_This funnel begins either (1) after a user has completed the login or registration funnel, or (2) if they click on "connect another device" from the FxA toolbar menu within the desktop browser (provided they are signed in). In the latter case the `signin` segment of the flow event will be omitted._

| Step | Amplitude Event | Flow Event | Description |
| ---- | ------------------------------------------------------------- | --------------------------- | --------------------------------------------------------------- |
| 1 | `fxa_connect_device - view` (`connect_device_flow` = `sms`) | `flow.signin.sms.view` | User viewed the SMS form. |
| 2 | `fxa_connect_device - engage` (`connect_device_flow` = `sms`) | `flow.signin.sms.engage` | User clicked somewhere on the SMS form. |
| 3 | `fxa_connect_device - submit` (`connect_device_flow` = `sms`) | `flow.signin.sms.submit` | User submitted the SMS form. |
| 4 | Not Implemented | `sms.region.{country_code}` | An SMS was sent to a number with the two letter `country_code`. |
| 5 | Not Implemented | `flow.sms.sent.view` | User views the message confirming that the SMS has been sent. |

The SMS form also contains app store links. If they are clicked, flow events `flow.signin.sms.link.app-store.android` or `flow.signin.sms.link.app-store.ios` will be logged.

## Settings

A variety of metrics are logged that reflect user interaction with the settings page (https://accounts.firefox.com/settings). The chart below outlines some of these events (this may not be an exhaustive list).
A variety of metrics are logged that reflect user interaction with the settings page (https://accounts.firefox.com/settings). The chart below outlines some of these events (this is not an exhaustive list).

| Amplitude Event | Flow Event | Description |
| ------------------------------------------------------------------- | ---------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
Expand Down

0 comments on commit 812a544

Please sign in to comment.