- Types of Attribution
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).
We can attribute accounts to the service that they sign up for, as well as the entrypoint that they use to begin the authentication flow. Each service typically has many entrypoints; sync, for example, has web-based entrypoints and browser-based entrypoints (see below).
There is a variable called
service that we use to (1) attribute users to the relying services of FxA that they have authenticated with and (2) attribute individual events to the services they are associated with. Except in the case of sync,
service is a mapping from the oauth
client_id of the relying service/product to a human readable string. Note that this mapping is currently maintained by hand, and is done after the events have been logged by the server. Currently, mapping to the human-readable
service variable is only done for amplitude metrics, where it is treated as a user property. There is also a
service variable in the
flow_metadata re:dash tables (FxA Activity Metrics data source), however it only contains the opaque oauth
client_id, not the human-readable string. A table of some of the most common oauth
client_ids along with their corresponding
service mapping is shown below. This is not a complete list.
|Lockwise App for Android|
|Lockwise App for iOS|
|Sync implementation for Fenix|
|Firefox Monitor (website)|
|Firefox Send (website)|
|Firefox Send (android app)|
|Pocket Mobile App|
|Firefox Screenshots (website, no longer supported)|
|Firefox Notes (desktop extension)|
|Firefox Notes (android app)|
|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.|
|Oauth ID used when a user is signing in to modify their marketing email preferences (e.g., to opt-out.)|
In amplitude, there is also a
fxa_services_used user property which maintains an array of all the services a user has authenticated with.
Some amplitude charts segmenting by service can be found here.
We can also attribute users to where they began the authentication process, be it from a website or an application. Attribution is done through query parameters appended to links that point at
accounts.firefox.com (which hosts the actual authentication process). These parameters are logged along with with any metrics events that the user generates during the authentication flow. The table below lists the query parameters that are currently in use, along with the values associated with some of the most common funnels. Note that only
entrypoint is typically logged for flows beginning within the browser. Web-based entrypoints are listed first, followed by entrypoints that are found within the browser chrome itself.
See this documentation for more implementational detail on utm/entrypoint parameters.
|utm parameters||Description & Notes|
|The about:welcome page that is shown to new profiles on browser |
|This is the old version of the |
|varies (can contain values passed through by referrals)||example. The "install Firefox" page. This page doesn't always promote FxA and it will often only promote it to a certain % of traffic or to certain segments.|
|NA||The in-browser toolbar icon. This was introduced with version 67.0|
|NA||The in-browser account item in the "hamburger" menu on desktop (three-line menu in the upper right corner) as well as the sync/FxA menu item on android and iOS.|
|NA||The "sign into sync" button found in the sync section in desktop preferences.|
|NA||The "sign into sync" button found in synced-tabs section under the library menu.|
|NA||The "sign into sync" button found in the "send tab to device" menu accessible by right-clicking on a tab.|
|NA||The "sign into sync" button found within the the Lockwise desktop extension. This is likely to change once Lockwise becomes fully integrated into the browser.|