Skip to content

Firefox desktop

metric-hub

Pre-defined metrics for firefox_desktop. These metrics are defined in metric-hub

ad_click_rate

Ad Click Rate

This is a Population Ratio Metric. It is the total number of ad clicks over all clients in the population divided by the total number of SAP searches over all clients in the population.

Data Source: ``

Definition:
None

active_hours

Active hours

Measures the amount of time (in 5-second increments) during which Firefox received user input from a keyboard or mouse. The Firefox window does not need to be focused.

Data Source: clients_daily

Definition:
{{agg_sum("active_hours_sum")}}

uri_count

URIs visited

Counts the total number of URIs visited. Includes within-page navigation events (e.g. to anchors).

Data Source: clients_daily

Definition:
{{agg_sum("scalar_parent_browser_engagement_total_uri_count_sum")}}

search_count

SAP searches

Counts the number of searches a user performed through Firefox's Search Access Points. Learn more in the search data documentation.

Data Source: search_clients_engines_sources_daily

Definition:
{{agg_sum("sap")}}

tagged_search_count

Tagged SAP searches

Counts the number of searches a user performed through Firefox's Search Access Points that were submitted with a partner code and were potentially revenue-generating. Learn more in the search data documentation.

Data Source: search_clients_engines_sources_daily

Definition:
{{agg_sum("tagged_sap")}}

tagged_follow_on_search_count

Tagged follow-on searches

Counts the number of follow-on searches with a Mozilla partner tag. These are additional searches that users performed from a search engine results page after executing a tagged search through a SAP. Learn more in the search data documentation.

Data Source: search_clients_engines_sources_daily

Definition:
{{agg_sum("tagged_follow_on")}}

ad_clicks

Ad clicks

Counts clicks on ads on search engine result pages with a Mozilla partner tag.

Data Source: search_clients_engines_sources_daily

Definition:
{{agg_sum("ad_click")}}

searches_with_ads

Search result pages with ads

Counts search result pages served with advertising. Users may not actually see these ads thanks to e.g. ad-blockers. Learn more in the search analysis documentation.

Data Source: search_clients_engines_sources_daily

Definition:
{{agg_sum("search_with_ads")}}

organic_search_count

Organic searches

Counts organic searches, which are searches that are not performed through a Firefox SAP and which are not monetizable. Learn more in the search data documentation.

Data Source: search_clients_engines_sources_daily

Definition:
{{agg_sum("organic")}}

search_with_ads_organic

Organic searches with ads

Counts search result pages from organic searches served with advertising. Organic searches are not performed through a Firefox SAP and are not monetizable. Users may not actually see these ads thanks to e.g. ad-blockers. Learn more in the search analysis documentation.

Data Source: search_clients_engines_sources_daily

Definition:
{{agg_sum("search_with_ads_organic")}}

ad_clicks_organic

Organic ad clicks

Counts clicks on ads on search engine result pages organic searches. Organic searches are not performed through a Firefox SAP and are not monetizable.

Data Source: search_clients_engines_sources_daily

Definition:
{{agg_sum("ad_click_organic")}}

unenroll

Unenrollments

Counts the number of clients with an experiment unenrollment event.

Data Source: normandy_events

Definition:
{{agg_any(
     """        event_category = 'normandy'
        AND event_method = 'unenroll'
        AND event_string_value = '{experiment_slug}'
     """)}}

notification_clicks

System Notification Clicks

Counts the number of clients that launched Firefox to handle the notification corresponding to this experiment.

Data Source: browser_launched_to_handle_events

Definition:
{{agg_any(
     """    event_method = 'system_notification'
    AND event_object = 'toast'
    AND STARTS_WITH(mozfun.map.get_key(event_map_values, 'name'), '{experiment_slug}:')
     """)}}

view_about_logins

about:logins viewers

Counts the number of clients that viewed about:logins.

Data Source: events

Definition:
{{agg_any(
     """            event_method = 'open_management'
            AND event_category = 'pwmgr'
         """)}}

view_about_protections

about:protections viewers

Counts the number of clients that viewed about:protections.

Data Source: events

Definition:
{{agg_any(
     """            event_method = 'show'
            AND event_object = 'protection_report'
         """)}}

connect_fxa

Connected FxA

Counts the number of clients that took action to connect to FxA. This does not include clients that were already connected to FxA at the start of the experiment and remained connected.

Data Source: events

Definition:
{{agg_any(
     """            event_method = 'connect'
            AND event_object = 'account'
         """)}}

pocket_rec_clicks

Clicked Pocket organic recs in New Tab

Counts the number of Pocket rec clicks made by each client.

Data Source: activity_stream_events

Definition:
COUNTIF(
    event = 'CLICK'
    AND source = 'CARDGRID'
    AND JSON_EXTRACT_SCALAR(value, '$.card_type') = 'organic'
)

pocket_spoc_clicks

Clicked Pocket sponsored content in New Tab

Counts the number of Pocket sponsored content clicks made by each client.

Data Source: activity_stream_events

Definition:
COUNTIF(
    event = 'CLICK'
    AND source = 'CARDGRID'
    AND JSON_EXTRACT_SCALAR(value, '$.card_type') = 'spoc'
)

days_of_use

Days of use

The number of days in the interval that each client sent a main ping.

Data Source: clients_daily

Definition:
COUNT(submission_date)

qualified_cumulative_days_of_use

QCDOU

The number of days in the interval that each client sent a main ping, given that the client had >0 active hours and >0 URIs loaded.

Data Source: clients_daily

Definition:
COUNTIF(
    active_hours_sum > 0 AND
    scalar_parent_browser_engagement_total_uri_count_normal_and_private_mode_sum > 0
)

daily_active_users

DAU

The number of unique clients with >0 active hours and >0 URIs loaded that we received a main ping from each day. To be comparable to DAU used for KPI tracking, this metric needs to be aggregated by submission_date. If the metric is NOT aggregated by submission_date, the metric is similar to a "days of use" metric. For more details, refer to the DAU description in the Mozilla Data Documentation.

For questions, please contact bochocki@mozilla.com or firefox-kpi@mozilla.com.

Data Source: clients_daily

Definition:
COUNTIF(active_hours_sum > 0 AND total_uri_count > 0)

daily_active_users_v2

Firefox Desktop DAU

This is the official DAU reporting definition. The logic is detailed on the Confluence DAU page and is automatically cross-checked, actively monitored, and change controlled. Whenever possible, this is the preferred DAU reporting definition to use for Desktop. This metric needs to be aggregated by submission_date. If it is not aggregated by submission_date, it is similar to a "days of use" metric, and not DAU.

Data Source: firefox_desktop_active_users_aggregates_view

Definition:
SUM(dau)

client_level_daily_active_users_v1

Firefox Desktop Client-Level DAU

This metric reports DAU values similar (but not necessarily identical) to the official DAU reporting definition. It's generally preferable to use the official DAU reporting definition when possible; this metric exists only for cases where reporting client_id is required (e.g. for experiments). This metric needs to be aggregated by submission_date. If it is not aggregated by submission_date, it is similar to a "days of use" metric, and not DAU.

For more information, refer to [the DAU description in Confluence](https://mozilla-hub.atlassian.net/wiki/spaces/DATA/pages/314704478/Daily+Active+Users+DAU+Metric).
For questions please contact bochocki@mozilla.com or firefox-kpi@mozilla.com.

Data Source: clients_daily

Definition:
COUNTIF(active_hours_sum > 0 AND total_uri_count > 0 AND isp_name <> 'BrowserStack')

client_level_daily_active_users_v2

Firefox Desktop Client-Level DAU

Client-level DAU. The logic is detailed on the Confluence DAU page and is automatically cross-checked, actively monitored, and change controlled. This metric needs to be aggregated by submission_date. If it is not aggregated by submission_date, it is similar to a "days of use" metric, and not DAU.

Data Source: firefox_desktop_active_users_view

Definition:
COUNTIF(is_dau)

desktop_dau_kpi

Desktop DAU KPI

The average number of unique clients with >0 active hours and >0 URIs loaded that we received a main ping from each day in the 28-day period ending on December 15th. To reconstruct the annual Desktop DAU KPI, this metric needs to be aggregated by EXTRACT(YEAR FROM submission_date).

For questions, please contact bochocki@mozilla.com or firefox-kpi@mozilla.com.

Data Source: clients_daily

Definition:
COUNTIF(
    active_hours_sum > 0 AND
    total_uri_count > 0 AND
    FORMAT_DATE('%m-%d', submission_date) BETWEEN '11-18' AND '12-15'
    ) / 28

desktop_dau_kpi_v2

Firefox Desktop DAU KPI

The average Firefox Desktop DAU in the 28-day period ending on December 15th. This is the official Desktop DAU KPI reporting definition. The logic is detailed on the Confluence DAU page and is automatically cross-checked, actively monitored, and change controlled. To reconstruct the annual Desktop DAU KPI, this metric needs to be aggregated by EXTRACT(YEAR FROM submission_date).

Data Source: firefox_desktop_active_users_aggregates_view

Definition:
SUM(IF(FORMAT_DATE('%m-%d', submission_date) BETWEEN '11-18' AND '12-15', dau, 0)) / 28

disable_pocket_clicks

Disabled Pocket in New Tab

Counts the number of clicks to disable Pocket in New Tab made by each client.

Data Source: activity_stream_events

Definition:
COUNTIF(
    event = 'PREF_CHANGED'
    AND source = 'TOP_STORIES'
    AND JSON_EXTRACT_SCALAR(value, '$.status') = 'false'
)

disable_pocket_spocs_clicks

Disabled Pocket sponsored content in New Tab

Counts the number of clicks to disable Pocket sponsored content in New Tab made by each client.

Data Source: activity_stream_events

Definition:
COUNTIF(
    event = 'PREF_CHANGED'
    AND source = 'POCKET_SPOCS'
    AND JSON_EXTRACT_SCALAR(value, '$.status') = 'false'
)

content_shutdown_crashes

Content Shutdown Crashes

Number of Content Shutdown Crashes

Data Source: crash

Definition:
SUM(IF(REGEXP_CONTAINS(payload.process_type, 'content') AND REGEXP_CONTAINS(payload.metadata.ipc_channel_error, 'ShutDownKill'), 1, 0))

content_crashes

Content Crashes

Number of Content Crashes

Data Source: crash

Definition:
SUM(IF(REGEXP_CONTAINS(payload.process_type, 'content') AND NOT REGEXP_CONTAINS(COALESCE(payload.metadata.ipc_channel_error, ''), 'ShutDownKill'), 1, 0))

shutdown_hangs

Shutdown Hangs

Number of Shutdown Hangs

Data Source: crash

Definition:
SUM(IF(payload.metadata.moz_crash_reason LIKE r'MOZ\_CRASH%', 1, 0))

oom_crashes

OOM Crashes

Number of Out of Memory Crashes

Data Source: crash

Definition:
SUM(IF(payload.metadata.oom_allocation_size IS NOT NULL, 1, 0))

main_crashes

Main Crashes

Number of Main Crashes

Data Source: crash

Definition:
SUM(IF(payload.process_type = 'main' OR payload.process_type IS NULL, 1, 0))

startup_crashes

Startup Crashes

Number of Startup Crashes

Data Source: crash

Definition:
SUM(IF(payload.metadata.startup_crash = '1', 1, 0))

gmplugin_crashes

Gmplugin Crashes

Number of GMPlugin (for loading DRM media in a highly sandboxed process) Crashes

Data Source: main

Definition:
SUM(COALESCE(`moz-fx-data-shared-prod`.udf.keyed_histogram_get_sum(payload.keyed_histograms.subprocess_crashes_with_dump,'gmplugin'), 0))

gpu_crashes

Gpu Crashes

Number of GPU Crashes

Data Source: main

Definition:
SUM(COALESCE(`moz-fx-data-shared-prod`.udf.keyed_histogram_get_sum(payload.keyed_histograms.subprocess_crashes_with_dump, 'gpu'), 0))

plugin_crashes

Plugin Crashes

Number of Plugin Crashes

Data Source: main

Definition:
SUM(COALESCE(`moz-fx-data-shared-prod`.udf.keyed_histogram_get_sum(payload.keyed_histograms.subprocess_crashes_with_dump, 'plugin'), 0))

child_process_launch_ms

Child Process Launch Ms

Time spent in the generic child process launching code, which is run off-main-thread and used by all child process types

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.histograms.child_process_launch_ms) IGNORE NULLS)

content_process_count

Content Process Count

A count of the number of content processes, collected every five minutes.

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.histograms.content_process_count) IGNORE NULLS)

content_process_max

Content Process Max

The maximum number of content processes, submitted when a new maximum is reached.

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.histograms.content_process_max) IGNORE NULLS)

checkerboard_severity

Checkerboard Severity

Opaque measure of the severity of a checkerboard event

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.histograms.checkerboard_severity) IGNORE NULLS)

content_frame_time_vsync

Content Frame Time Vsync

The time, in percentage of a vsync interval, spent from the vsync that started a paint in the content process until that frame is presented in the compositor.

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.histograms.content_frame_time_vsync) IGNORE NULLS)

fx_urlbar_quick_suggest_remote_settings_latency_ms

Firefox Suggest Remote Settings Latency Ms

The time from when Firefox starts fetching a suggestion from remote settings to the time the suggestion is retrieved.

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.histograms.fx_urlbar_quick_suggest_remote_settings_latency_ms) IGNORE NULLS)

fx_new_window_ms

Fx New Window Ms

Firefox: Time taken to open a new browser window (ms)

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.histograms.fx_new_window_ms) IGNORE NULLS)

fx_tab_switch_composite_e10s_ms

Fx Tab Switch Composite E10S Ms

Firefox: Time in ms between tab selection and first composite of the tab content in e10s windows

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.histograms.fx_tab_switch_composite_e10s_ms) IGNORE NULLS)

fx_tab_switch_total_e10s_ms

Fx Tab Switch Total E10S Ms

Firefox: Time in ms between tab selection and tab content paint in e10s windows

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.histograms.fx_tab_switch_total_e10s_ms) IGNORE NULLS)

timestamps_first_paint_two

Timestamps First Paint Two

Record the timestamp of the first main window paint, in milliseconds since process start. Intended to replace first_paint since first_paint is broken.

Data Source: main

Definition:
SUM(payload.processes.parent.scalars.timestamps_first_paint_two)

timestamps_about_home_topsites_first_paint

Timestamps About Home Topsites First Paint

Record the timestamp of when the first about:home's Topsites are painted. Only records if about:home is set as the default homepage, and if sessions are not being restored by default.

Data Source: main

Definition:
SUM(payload.processes.parent.scalars.timestamps_about_home_topsites_first_paint)

keypress_present_latency_ms

Keypress Present Latency Ms

Time between receiving a keypress event on the event loop and compositing its result onto the screen (ms)

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.processes.gpu.histograms.keypress_present_latency) IGNORE NULLS)

scroll_present_latency

Scroll Present Latency

Time between receiving a scroll event on the event loop and compositing its result onto the screen (ms)

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.processes.gpu.histograms.scroll_present_latency) IGNORE NULLS)

memory_total

Memory Total

Total Memory Across All Processes (KB)

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.histograms.memory_total) IGNORE NULLS)

cycle_collector_max_pause

Cycle Collector Max Pause

Longest pause for an individual slice of one cycle collection, including preparation (ms)

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.histograms.cycle_collector_max_pause) IGNORE NULLS)

cycle_collector_max_pause_content

Cycle Collector Max Pause Content

Longest pause for an individual slice of one cycle collection, including preparation (ms)

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.processes.content.histograms.cycle_collector_max_pause) IGNORE NULLS)

cycle_collector_visited_gced

Cycle Collector Visited GCED

Number of JS objects visited by the cycle collector

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.processes.content.histograms.cycle_collector_visited_gced) IGNORE NULLS)

cycle_collector_visited_ref_counted

Cycle Collector Visited Ref Counted

Number of ref counted objects visited by the cycle collector

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.processes.content.histograms.cycle_collector_visited_ref_counted) IGNORE NULLS)

gc_max_pause_2

Gc Max Pause 2

Longest GC slice in a GC (ms)

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.histograms.gc_max_pause_ms_2) IGNORE NULLS)

gc_max_pause_2_content

Gc Max Pause 2 Content

Longest GC slice in a GC (ms)

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.processes.content.histograms.gc_max_pause_ms_2) IGNORE NULLS)

gc_ms

Gc Ms

Time spent running JS GC (ms)

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.histograms.gc_ms) IGNORE NULLS)

gc_ms_content

Gc Ms Content

Time spent running JS GC (ms) in the content process

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.processes.content.histograms.gc_ms) IGNORE NULLS)

gc_slice_during_idle

Gc Slice During Idle

Percent of GC slice done during idle time

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.histograms.gc_slice_during_idle) IGNORE NULLS)

gc_slice_during_idle_content

Gc Slice During Idle Content

Percent of GC slice done during idle time in the content process

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.processes.content.histograms.gc_slice_during_idle) IGNORE NULLS)

gc_non_incremental

Gc Non Incremental

Was the GC non-incremental?

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.histograms.gc_non_incremental) IGNORE NULLS)

gc_reason_2

Gc Reason 2

Reason (enum value) for initiating a GC

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.processes.content.histograms.gc_reason_2) IGNORE NULLS)

gc_mark_rate_2

Gc Mark Rate 2

The number of objects marked per ms during GC.

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.processes.content.histograms.gc_mark_rate_2) IGNORE NULLS)

gc_budget_overrun

Gc Budget Overrun

How long a GC slice ran over its budget in microseconds

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.histograms.gc_budget_overrun) IGNORE NULLS)

memory_unique_content_startup

Memory Unique Content Startup

Unique Set Size of Content Process at Startup (KB)

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.processes.content.histograms.memory_unique_content_startup) IGNORE NULLS)

perf_first_contentful_paint_ms

Perf First Contentful Paint Ms

The time between navigationStart and the first contentful paint of a foreground http or https root content document, in milliseconds. The contentful paint timestamp is taken during display list building and does not include rasterization or compositing of that paint.

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.processes.content.histograms.perf_first_contentful_paint_ms) IGNORE NULLS)

time_to_first_interaction_ms

Time To First Interaction Ms

Time in milliseconds from the first non-blank paint to the creation time of the next click, key, mouse or scroll event per top-level content browsing context.

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.histograms.time_to_first_interaction_ms) IGNORE NULLS)

perf_page_load_time_ms

Perf Page Load Time Ms

Time in milliseconds from navigationStart to loadEventStart for the foreground http or https root content document

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.processes.content.histograms.perf_page_load_time_ms) IGNORE NULLS)

input_event_response_coalesced

Input Event Response Coalesced

Time (ms) from the Input event being created to the end of it being handled, but with overlapping events coalesced.

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.processes.content.histograms.input_event_response_coalesced_ms) IGNORE NULLS)

mouseup_followed_by_click_present_latency

Mouseup Followed By Click Present Latency

Time between receiving a mouseup which follow by a mouseclick on the event loop and compositing its result onto the screen (ms)

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.processes.gpu.histograms.mouseup_followed_by_click_present_latency) IGNORE NULLS)

fx_page_load_ms_2

Fx Page Load Ms 2

Firefox: Time taken to load a page (ms). This includes all static contents, no dynamic content. Page reloads and loading of about: pages are not included.

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.processes.content.histograms.fx_page_load_ms_2) IGNORE NULLS)

perf_dom_content_loaded_time

Perf DOM Content Loaded Time

Time in milliseconds from navigationStart to domContentLoaded for the foreground http or https root content document.

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.processes.content.histograms.perf_dom_content_loaded_time_ms) IGNORE NULLS)

perf_dom_contentperf_dom_content_loaded_time_from_responsestart_ms_loaded_time

Perf DOM Content Loaded Time From Response Start

Time in milliseconds from responseStart to domContentLoaded for the foreground http or https root content document.

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.processes.content.histograms.perf_dom_content_loaded_time_from_responsestart_ms) IGNORE NULLS)

perf_page_load_time_from_responsestart

Perf Page Load Time from Response Start

Time in milliseconds from navigationStart to loadEventStart for the foreground http or https root content document.

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.processes.content.histograms.perf_page_load_time_from_responsestart_ms) IGNORE NULLS)

perf_request_animation_callback_non_pageload

Perf Request Animation Callback Non Pageload

Time spent in milliseconds calling all request animation frame callbacks for a document after it has reached readystate complete.

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.processes.content.histograms.perf_request_animation_callback_non_pageload_ms) IGNORE NULLS)

perf_request_animation_callback_pageload

Perf Request Animation Callback Pageload

Time spent in milliseconds calling all request animation frame callbacks for a document after it has reached readystate complete.

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.processes.content.histograms.perf_request_animation_callback_pageload_ms) IGNORE NULLS)

loaded_tab_count

Loaded Tab Count

Number of fully loaded (i.e., not pending from session restore) tabs opened across all windows, collected at most every 5 minutes whenever the user interacts with the browser in the following ways: open tab/window, page load, restoring a pending tab.

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.histograms.loaded_tab_count) IGNORE NULLS)

active_ticks

Browser Engagement Active Ticks

The count of the number of five-second intervals ('ticks') the user was considered 'active' in a subsession. Session activity involves keyboard or mouse interaction with the application. It does not take into account whether or not the window has focus or is in the foreground, only if it is receiving these interaction events.

Data Source: main

Definition:
SUM(payload.processes.parent.scalars.browser_engagement_active_ticks)

subsession_length

Subsession Length

The subsession length until now in seconds, monotonic

Data Source: main

Definition:
SUM(payload.info.subsession_length)

tab_pinned_event_count

Browser Engagement Tab Pinned Event Count

The count of tab pinned events per subsession, across all windows, after the session has been restored. This includes tab pinned events from private windows.

Data Source: main

Definition:
SUM(payload.processes.parent.scalars.browser_engagement_tab_pinned_event_count)

tab_open_event_count

Browser Engagement Tab Open Event Count

The count of tab open events per subsession, across all windows, after the session has been restored. This includes tab open events from private windows and from manual session restorations (i.e. after crashes and from about:home).

Data Source: main

Definition:
SUM(payload.processes.parent.scalars.browser_engagement_tab_open_event_count)

tab_unload_to_reload

Tab Unload To Reload

How long (sec) a tab had been unloaded until it was reloaded.

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.histograms.tab_unload_to_reload) IGNORE NULLS)

tab_reload_count

Browser Engagement Tab Reload Count

The count of tab reload events by the user after unloaded.

Data Source: main

Definition:
SUM(payload.processes.parent.scalars.browser_engagement_tab_reload_count)

tab_unload_count

Browser Engagement Tab Unload Count

The count of tab unload events by TabUnloader due to a low-memory situation.

Data Source: main

Definition:
SUM(payload.processes.parent.scalars.browser_engagement_tab_unload_count)

concurrent_pinned_tab_count

Browser Engagement Concurrent Pinned Tab Count

The count of maximum number of pinned tabs open during a subsession. This includes private windows and the ones opened when starting the browser. Starting Firefox 85 this includes number of restored pinned tabs at startup.

Data Source: main

Definition:
SUM(payload.processes.parent.scalars.browser_engagement_max_concurrent_tab_pinned_count)

concurrent_opened_tab_count

Browser Engagement Concurrent Opened Tab Count

The count of maximum number of tabs open during a subsession, across all windows, including tabs in private windows and restored at startup.

Data Source: main

Definition:
SUM(payload.processes.parent.scalars.browser_engagement_max_concurrent_tab_count)

opened_tab_count

Opened Tab Count

Number of tabs opened across all windows, collected at most every 5 minutes whenever the user interacts with the browser in the following ways: open tab/window, page load.

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.histograms.tab_count) IGNORE NULLS)

js_pageload_xdr_encoding_ms

Js Pageload Xdr Encoding Ms

Time spent during page load XDR encoding Javascript in ms.

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.processes.content.histograms.js_pageload_xdr_encoding_ms) IGNORE NULLS)

js_pageload_protect_ms

Js Pageload Protect Ms

Time spent during page load protecting JIT executable memory.

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.processes.content.histograms.js_pageload_protect_ms) IGNORE NULLS)

js_pageload_parse_ms

Js Pageload Parse Ms

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.processes.content.histograms.js_pageload_parse_ms) IGNORE NULLS)

js_pageload_execution_ms

Js Pageload Execution Ms

Time spent during page load syntax parsing JS scripts on the main thread in ms.

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.processes.content.histograms.js_pageload_execution_ms) IGNORE NULLS)

js_pageload_delazification_ms

Js Pageload Delazification Ms

Time spent during page load delazifying Javascript in ms.

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.processes.content.histograms.js_pageload_delazification_ms) IGNORE NULLS)

js_pageload_baseline_compile_ms

Js Pageload Baseline Compile Ms

Time spent during page load baseline compiling Javascript in ms.

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.processes.content.histograms.js_pageload_baseline_compile_ms) IGNORE NULLS)

input_event_response_ms

Input Event Response Ms

Time (ms) from the Input event being created to the end of it being handled for events handling during page load only

Data Source: main

Definition:
ARRAY_AGG(mozfun.hist.extract(payload.histograms.input_event_response_ms) IGNORE NULLS)

memory_pressure_count

Memory Pressure Count

Event memory pressure count

Data Source: events_memory

Definition:
SUM(SAFE_CAST(SPLIT(event_string_value, ',')[OFFSET(1)] AS NUMERIC))

search_with_ads

Search with Ads

Total number of Searches with Ads

Data Source: search_clients_engines_sources_daily

Definition:
SUM(search_with_ads)

ad_click

Ad Clicks

Total number of Ad Clicks

Data Source: search_clients_engines_sources_daily

Definition:
SUM(ad_click)

sap

SAP Search Count

Total number of SAP search counts

Data Source: search_clients_engines_sources_daily

Definition:
SUM(sap)

ad_click_organic

Organic Ad Click Count

Total number of Organic Ad Click Counts

Data Source: search_clients_engines_sources_daily

Definition:
SUM(ad_click_organic)

is_default_browser

Is Default Browser

Was Firefox the default browser at any point during the interval?

Data Source: clients_daily

Definition:
COALESCE(LOGICAL_OR(is_default_browser), FALSE)

is_default_pdf_handler

Is Default PDF Handler (Windows)

Was Firefox the default PDF Handler at any point during the interval?

Data Source: main

Definition:
COALESCE(LOGICAL_OR(mozfun.map.get_key(payload.processes.parent.keyed_scalars.os_environment_is_default_handler, '.pdf')), FALSE)

is_pinned

Is Pinned (Windows Taskbar)

Was Firefox pinned to the Windows Taskbar at any point during the interval?

Data Source: clients_daily

Definition:
COALESCE(LOGICAL_OR(scalar_parent_os_environment_is_taskbar_pinned), FALSE)

newtab_searches

Newtab Handoff Searches

Count of searches performed on the New Tab and handed off to the urlbar

Data Source: newtab_clients_daily

Definition:
COALESCE(SUM(searches), 0)

newtab_any_searches

Any Newtab Searches

Client performed any Newtab Handoff searches during the experiment

Data Source: newtab_clients_daily

Definition:
{{agg_any("searches > 0")}}

newtab_gt4_searches

Any Newtab Searches

Client performed any Newtab Handoff searches during the experiment

Data Source: newtab_clients_daily

Definition:
COALESCE(CASE WHEN SUM(searches) > 4 THEN 1 ELSE 0 END, 0)

newtab_searches_with_ads

Newtab Searches with Ads

Count of searches performed on the New Tab that resulted in an ad impression on the SERP

Data Source: newtab_clients_daily

Definition:
COALESCE(SUM(tagged_search_ad_impressions), 0)

newtab_ad_clicks

Newtab Ad Clicks

Count of searches performed on the New Tab that resulted in an ad click

Data Source: newtab_clients_daily

Definition:
COALESCE(SUM(tagged_search_ad_clicks), 0)

newtab_ad_click_rate

Newtab Ad Click Rate

New Tab ad clicks divided by New Tab searches with ads

Data Source: newtab_clients_daily

Definition:
SAFE_DIVIDE(COALESCE(SUM(tagged_search_ad_clicks), 0),  COALESCE(SUM(tagged_search_ad_impressions), 0))

organic_pocket_clicks

Organic Pocket Clicks

Count of clicks on Organic Pocket content.

Data Source: newtab_clients_daily

Definition:
COALESCE(SUM(organic_pocket_clicks), 0)

any_organic_pocket_clicks

Any organic Pocket Clicks

Client had any Pocket clicks during the experiment.

Data Source: newtab_clients_daily

Definition:
COALESCE(LOGICAL_OR(organic_pocket_clicks > 0), FALSE)

Sponsored Pocket Clicks

Count of clicks on Sponsored Pocket content.

Data Source: newtab_clients_daily

Definition:
COALESCE(SUM(sponsored_pocket_clicks), 0)

organic_pocket_impressions

Organic Pocket Impressions

Count of impressions on Organic Pocket content.

Data Source: newtab_clients_daily

Definition:
COALESCE(SUM(organic_pocket_impressions), 0)

Sponsored Pocket Impressions

Count of impressions of Sponsored Pocket content.

Data Source: newtab_clients_daily

Definition:
COALESCE(SUM(sponsored_pocket_impressions), 0)

all_tile_impressions_pos1_2

All Tiles Impressions Count (Position 1 and 2)

Count of Impressions of All Tiles (sponsored and organic) in the first and second positions.

Data Source: newtab_visits_topsite_tile_interactions

Definition:
COALESCE(
        SUM(CASE
          WHEN topsite_tile_interactions.topsite_tile_position < 2 THEN COALESCE(topsite_tile_interactions.sponsored_topsite_tile_impressions, 0) +  COALESCE(topsite_tile_interactions.organic_topsite_tile_impressions, 0)
          ELSE 0 END
        ),
        0
      )

all_tile_impressions_pos3_more

All Tiles Impressions Count (Position 3 or greater)

Count of Impressions of All Tiles (sponsored and organic) in the third and greater positions.

Data Source: newtab_visits_topsite_tile_interactions

Definition:
COALESCE(
        SUM(CASE
          WHEN topsite_tile_interactions.topsite_tile_position >= 2 THEN COALESCE(topsite_tile_interactions.sponsored_topsite_tile_impressions, 0) +  COALESCE(topsite_tile_interactions.organic_topsite_tile_impressions, 0)
          ELSE 0 END
        ),
        0
      )

all_tile_clicks_pos1_2

All Tiles Clicks Count (Position 1 and 2)

Count of Clicks of All Tiles (sponsored and organic) in the first and second positions.

Data Source: newtab_visits_topsite_tile_interactions

Definition:
COALESCE(
        SUM(CASE
          WHEN (topsite_tile_interactions.topsite_tile_position < 2 AND (topsite_tile_interactions.sponsored_topsite_tile_clicks > 0 OR  topsite_tile_interactions.organic_topsite_tile_clicks > 0))
          THEN COALESCE(topsite_tile_interactions.sponsored_topsite_tile_clicks, 0) +  COALESCE(topsite_tile_interactions.organic_topsite_tile_clicks, 0)
          ELSE 0 END
        ),
        0
      )

all_tile_clicks_pos3_more

All Tiles Clicks Count (Position 3 or greater)

Count of Clicks of All Tiles (sponsored and organic) in the third and greater positions.

Data Source: newtab_visits_topsite_tile_interactions

Definition:
COALESCE(
        SUM(CASE
          WHEN (topsite_tile_interactions.topsite_tile_position >= 2 AND (topsite_tile_interactions.sponsored_topsite_tile_clicks > 0 OR  topsite_tile_interactions.organic_topsite_tile_clicks > 0))
          THEN COALESCE(topsite_tile_interactions.sponsored_topsite_tile_clicks, 0) +  COALESCE(topsite_tile_interactions.organic_topsite_tile_clicks, 0)
          ELSE 0 END
        ),
        0
      )

Sponsored Tile Impressions

Count of impressions of Sponsored Tiles (aka Sponsored Topsites on New Tab) across all positions.

Data Source: newtab_clients_daily

Definition:
COALESCE(SUM(sponsored_topsite_tile_impressions), 0)

All Tiles Impressions Count (Position 1 and 2)

Count of Impressions of All Tiles (sponsored and organic) in the first and second positions.

Data Source: newtab_visits_topsite_tile_interactions

Definition:
COALESCE(
        SUM(CASE
          WHEN
            topsite_tile_interactions.sponsored_topsite_tile_impressions > 0 AND topsite_tile_interactions.topsite_tile_position < 2
            THEN topsite_tile_interactions.sponsored_topsite_tile_impressions
          ELSE 0
          END),
        0
      )

All Tiles Impressions Count (Position 3 or greater)

Count of Impressions of All Tiles (sponsored and organic) in the third and greater positions.

Data Source: newtab_visits_topsite_tile_interactions

Definition:
COALESCE(
        SUM(CASE
          WHEN
            topsite_tile_interactions.sponsored_topsite_tile_impressions > 0 AND topsite_tile_interactions.topsite_tile_position >= 2
            THEN topsite_tile_interactions.sponsored_topsite_tile_impressions
          ELSE 0
          END),
        0
      )

Sponsored Tile Clicks

Count of clicks of Sponsored Tiles (aka Sponsored Topsites on New Tab) across all positions.

Data Source: newtab_clients_daily

Definition:
COALESCE(SUM(sponsored_topsite_tile_clicks), 0)

Sponsored Tiles Clicks Count (Position 1 and 2)

Count of Clicks of Sponsored Tiles in the first and second positions.

Data Source: newtab_visits_topsite_tile_interactions

Definition:
COALESCE(
        SUM(CASE
          WHEN
            topsite_tile_interactions.sponsored_topsite_tile_clicks > 0 AND topsite_tile_interactions.topsite_tile_position < 2
            THEN topsite_tile_interactions.sponsored_topsite_tile_clicks
          ELSE 0
          END),
        0
      )

Sponsored Tiles Clicks Count (Position 3 or greater)

Count of Clicks of Sponsored Tiles in the third and greater positions.

Data Source: newtab_visits_topsite_tile_interactions

Definition:
COALESCE(
        SUM(CASE
          WHEN
            topsite_tile_interactions.sponsored_topsite_tile_clicks > 0 AND topsite_tile_interactions.topsite_tile_position >= 2
            THEN topsite_tile_interactions.sponsored_topsite_tile_clicks
          ELSE 0
          END),
        0
      )

newtab_newtab_enabled

Newtab Newtab Enabled

Whether or not new tabs are set to display the default New Tab page.

Data Source: newtab_clients_daily

Definition:
COALESCE(MAX(IF(newtab_newtab_category = 'enabled', 1, 0)), 0)

newtab_homepage_enabled

Newtab Homepage Enabled

Whether or not the homepage is set to display the default New Tab page.

Data Source: newtab_clients_daily

Definition:
COALESCE(MAX(IF(newtab_homepage_category = 'enabled', 1, 0)), 0)

newtab_search_enabled

Newtab Search Enabled

Whether or not the SAP (i.e., search handoff) is enabled on the New Tab.

Data Source: newtab_visits_topsite_tile_interactions

Definition:
COALESCE(MAX(CAST(newtab_search_enabled AS INT)), 0)

newtab_tiles_enabled

Newtab Tiles Enabled

Whether or not tiles are enabled on the New Tab. Includes both sponsored and nonsponsored tiles.

Data Source: newtab_clients_daily

Definition:
COALESCE(MAX(CAST(topsites_enabled AS INT)), 0)

newtab_sponsored_tiles_enabled

Newtab Sponsored Tiles Enabled

Whether or not sponsored tiles are enabled on the New Tab. Includes both sponsored and nonsponsored tiles.

Data Source: newtab_clients_daily

Definition:
COALESCE(MAX(CAST(topsites_sponsored_enabled AS INT)), 0)

newtab_pocket_enabled

Newtab Pocket Enabled

Whether or not Pocket is enabled on the New Tab.

Data Source: newtab_clients_daily

Definition:
COALESCE(MAX(CAST(pocket_enabled AS INT)), 0)

newtab_sponsored_pocket_stories_enabled

Newtab Sponsored Pocket Stories Enabled

Whether or not Pocket Sponsored Stories is enabled on the New Tab.

Data Source: newtab_clients_daily

Definition:
COALESCE(MAX(CAST(pocket_sponsored_stories_enabled AS INT)), 0)

newtab_engagement

Newtab Engagement

Whether or not the client had a newtab search OR a pocket click OR a tile click.

Data Source: newtab_clients_daily

Definition:
COALESCE(MAX(CASE WHEN visits_with_non_impression_engagement > 0 THEN 1 ELSE 0 END), 0)

newtab_visits

Newtab Visit Count

Count of New Tab visits

Data Source: newtab_clients_daily

Definition:
COALESCE(SUM(newtab_visit_count), 0)

newtab_engaged_visits

Newtab Engaged Visit Count

Count of New Tab visits with any engagement

Data Source: newtab_clients_daily

Definition:
COALESCE(SUM(visits_with_non_impression_engagement), 0)

newtab_non_search_engagement

Newtab Non-Search Engaged Visit Count

Count of New Tab visits with non-search engagement

Data Source: newtab_clients_daily

Definition:
COALESCE(SUM(visits_with_non_search_engagement), 0)

newtab_organic_topsite_clicks

Newtab Organic Tile Clicks

Count of New Tab organic tile clicks across all positions.

Data Source: newtab_visits_topsite_tile_interactions

Definition:
COALESCE(SUM(topsite_tile_interactions.organic_topsite_tile_clicks), 0)

newtab_organic_topsite_impressions

Newtab Organic Tile Impressions

Count of New Tab organic tile impressions across all positions.

Data Source: newtab_visits_topsite_tile_interactions

Definition:
COALESCE(SUM(topsite_tile_interactions.organic_topsite_tile_impressions), 0)

wallpaper_clicks

Wallpaper Selection Clicks

Count of total clicks on wallpaper selections.

Data Source: newtab_clients_daily

Definition:
COALESCE(SUM(wallpaper_clicks), 0)

wallpaper_clicks_had_previous_wallpaper

Wallpaper Selection Clicks With Previous Wallpaper

Count of total clicks on wallpaper selections where the client had previously selected a wallpaper.

Data Source: newtab_clients_daily

Definition:
COALESCE(SUM(wallpaper_clicks_had_previous_wallpaper), 0)

wallpaper_clicks_first_selected_wallpaper

Wallpaper Selection Clicks With No Previous Wallpaper

Count of total clicks on wallpaper selections where the client had no previously selected a wallpaper.

Data Source: newtab_clients_daily

Definition:
COALESCE(SUM(wallpaper_clicks_first_selected_wallpaper), 0)

wallpaper_highlight_dismissals

Wallpaper Highlight Dismissals

Count of dismissals of the wallpaper highlight.

Data Source: newtab_clients_daily

Definition:
COALESCE(SUM(wallpaper_highlight_dismissals), 0)

wallpaper_highlight_cta_clicks

Wallpaper Highlight CTA Clicks

Count of total clicks on the CTA in the wallpaper feature highlight.

Data Source: newtab_clients_daily

Definition:
COALESCE(SUM(wallpaper_highlight_cta_clicks), 0)

newtab_weather_widget_enabled

Weather Widget Enabled

Whether or not the weather widget is enabled on the New Tab.

Data Source: newtab_clients_daily

Definition:
COALESCE(MAX(CAST(newtab_weather_widget_enabled AS INT)), 0)

weather_widget_impressions

Weather Widget Impressions

Count of total impressions of the New Tab weather widget.

Data Source: newtab_clients_daily

Definition:
COALESCE(SUM(weather_widget_impressions), 0)

weather_widget_clicks

Weather Widget Clicks

Count of total clicks on the New Tab weather widget.

Data Source: newtab_clients_daily

Definition:
COALESCE(SUM(weather_widget_clicks), 0)

weather_widget_load_errors

Weather Widget Load Errors

Count of New Tab weather widget load errors.

Data Source: newtab_clients_daily

Definition:
COALESCE(SUM(weather_widget_load_errors), 0)

weather_widget_change_display_to_detailed

Weather Widget Change Display to Detailed

Count of events where the client changed the weather widget display type to Detailed.

Data Source: newtab_clients_daily

Definition:
COALESCE(SUM(weather_widget_change_display_to_detailed), 0)

weather_widget_change_display_to_simple

Weather Widget Change Display to Simple

Count of events where the client changed the weather widget display type to Simple.

Data Source: newtab_clients_daily

Definition:
COALESCE(SUM(weather_widget_change_display_to_simple), 0)

imported_bookmarks

Imported Bookmarks

Count of clients who imported bookmarks

Data Source: clients_daily

Definition:
LOGICAL_OR(bookmark_migrations_quantity_all IS NOT NULL AND bookmark_migrations_quantity_all != 0)

imported_bookmarks_count

Total Number of Imported Bookmarks

Total number of imported bookmarks per client who imported

Data Source: clients_daily

Definition:
NULLIF(SUM(bookmark_migrations_quantity_all), 0)

imported_logins

Imported Logins

Count of clients who imported logins

Data Source: clients_daily

Definition:
LOGICAL_OR(logins_migrations_quantity_all IS NOT NULL AND logins_migrations_quantity_all != 0)

imported_logins_count

Total Number of Imported Logins

Total number of imported logins per client who imported

Data Source: clients_daily

Definition:
NULLIF(SUM(logins_migrations_quantity_all), 0)

imported_history

Imported History

Count of clients who imported history

Data Source: clients_daily

Definition:
LOGICAL_OR(history_migrations_quantity_all IS NOT NULL AND history_migrations_quantity_all != 0)

imported_history_count

Total Number of Imported History Links

Total number of imported history links per client who imported

Data Source: clients_daily

Definition:
NULLIF(SUM(history_migrations_quantity_all), 0)

fxa_signed_in

FxA Sign-in Rate

Did the client sign in to Firefox Desktop

Data Source: clients_daily

Definition:
CAST(COALESCE(SUM(CASE WHEN fxa_configured IS TRUE THEN 1 ELSE 0 END),0) > 0 AS INT)

retained

Retained

Records whether a client submitted any pings (i.e. used Firefox).

Data Source: clients_daily

Definition:
COALESCE(SUM(pings_aggregated_by_this_row), 0) > 0

non_ssl_loads_v1

Non-SSL Loads

Page loads of Firefox users that were not using SSL

Data Source: main

Definition:
SUM(
    mozfun.map.get_key(mozfun.hist.extract(payload.histograms.http_pageload_is_ssl).values, 0)
)

ssl_loads_v1

SSL Loads

Page loads of Firefox users that were using SSL

Data Source: main

Definition:
SUM(
    mozfun.map.get_key(mozfun.hist.extract(payload.histograms.http_pageload_is_ssl).values, 1)
)

http_pageload_is_ssl_ratio_v1

SSL Loads Probe Ratio

Ratio of clients that have the http_pageload_is_ssl_ratio_v1 probe

Data Source: main

Definition:
COUNT(payload.histograms.http_pageload_is_ssl) / COUNT(*)

Sponsored Tiles Disabled Event

Boolean that identifies clients that disabled sponsored tiles during experiment

Data Source: sponsored_tiles_clients_daily

Definition:
{{agg_any("sponsored_tiles_disable_count > 0")}}

Sponsored Tiles Dismissals Count

Count of sponsored tiles dismissals in all positions

Data Source: newtab_visits_topsite_tile_interactions

Definition:
COALESCE(SUM(topsite_tile_interactions.sponsored_topsite_tile_dismissals), 0)

any_sponsored_tiles_dismissals

Any Sponsored Tiles Dismissed

Clients that dismissed any sponsored tiles

Data Source: newtab_visits_topsite_tile_interactions

Definition:
COALESCE(LOGICAL_OR(
        topsite_tile_interactions.sponsored_topsite_tile_dismissals > 0
      ), FALSE)

Sponsored Tiles Dismissals Count (Positions 1 and 2)

Count of sponsored tiles dismissals in the first two positions

Data Source: newtab_visits_topsite_tile_interactions

Definition:
COALESCE(
        SUM(CASE WHEN topsite_tile_interactions.sponsored_topsite_tile_dismissals > 0 AND topsite_tile_interactions.topsite_tile_position < 2 THEN topsite_tile_interactions.sponsored_topsite_tile_dismissals ELSE 0 END),
        0
      )

Sponsored Tiles Dismissals Count (Position 3 or greater)

Count of sponsored tiles dismissals in the third and greater positions

Data Source: newtab_visits_topsite_tile_interactions

Definition:
COALESCE(
        SUM(CASE WHEN topsite_tile_interactions.sponsored_topsite_tile_dismissals > 0 AND topsite_tile_interactions.topsite_tile_position >= 2 THEN topsite_tile_interactions.sponsored_topsite_tile_dismissals ELSE 0 END),
        0
      )

organic_tiles_dismissals

Organic Tiles Dismissals Count

Count of organic tiles dismissals in all positions

Data Source: newtab_visits_topsite_tile_interactions

Definition:
COALESCE(SUM(topsite_tile_interactions.organic_topsite_tile_dismissals),0)

any_organic_tiles_dismissals

Any Organic Tiles Dismissed

Clients that dismissed any organic tiles

Data Source: newtab_visits_topsite_tile_interactions

Definition:
COALESCE(LOGICAL_OR(
        topsite_tile_interactions.organic_topsite_tile_dismissals > 0
      ), FALSE)

separate_search_engine

Split PBM search engine

Indicates whether the client configured separate search engines for regular browsing and private browsing mode.

Data Source: search_clients_engines_sources_daily

Definition:
COALESCE(ANY_VALUE(default_search_engine != default_private_search_engine), false)

new_profiles_v1

New Profiles

The number of newly acquired Firefox Desktop clients. A client is newly acquired on the first date they appear in either of new profile, main or first shutdown pings based on submission date

Data Source: clients_first_seen_v2

Definition:
COUNT(*)

pdf_engagement

Data Source: metrics

Definition:
(
    (COALESCE(SUM(mozfun.map.get_key(metrics.labeled_counter.pdfjs_editing, "freetext")) > 0, FALSE) OR
    COALESCE(SUM(mozfun.map.get_key(metrics.labeled_counter.pdfjs_editing, "ink")) > 0, FALSE) OR
    COALESCE(SUM(mozfun.map.get_key(metrics.labeled_counter.pdfjs_editing_highlight_kind, "highlight")) > 0, FALSE) OR
    COALESCE(SUM(mozfun.map.get_key(metrics.labeled_counter.pdfjs_editing_highlight_kind, "free_highlight")) > 0, FALSE)) AND
    (COALESCE(SUM(mozfun.map.get_key(metrics.labeled_counter.pdfjs_editing, "print")) > 0, FALSE) OR
    COALESCE(SUM(mozfun.map.get_key(metrics.labeled_counter.pdfjs_editing, "save")) > 0, FALSE))
)

pdf_freetext

Data Source: metrics

Definition:
(
    COALESCE(SUM(mozfun.map.get_key(metrics.labeled_counter.pdfjs_editing, "freetext")) > 0, FALSE)
)

pdf_ink

Data Source: metrics

Definition:
(
    COALESCE(SUM(mozfun.map.get_key(metrics.labeled_counter.pdfjs_editing, "ink")) > 0, FALSE)
)

pdf_print

Data Source: metrics

Definition:
(
    COALESCE(SUM(mozfun.map.get_key(metrics.labeled_counter.pdfjs_editing, "print")) > 0, FALSE)
)

pdf_save

Data Source: metrics

Definition:
(
    COALESCE(SUM(mozfun.map.get_key(metrics.labeled_counter.pdfjs_editing, "save")) > 0, FALSE)
)

pdf_opening

Data Source: metrics

Definition:
(
    COALESCE(SUM(metrics.counter.pdfjs_used) > 0, FALSE)
)

pdf_highlight

Data Source: metrics

Definition:
(
    COALESCE(SUM(mozfun.map.get_key(metrics.labeled_counter.pdfjs_editing_highlight_kind, "highlight")) > 0, FALSE)
)

pdf_free_highlight

Data Source: metrics

Definition:
(
    COALESCE(SUM(mozfun.map.get_key(metrics.labeled_counter.pdfjs_editing_highlight_kind, "free_highlight")) > 0, FALSE)
)

pdf_invoked_to_handle

PDF Invoked to Handle

Firefox was invoked (i.e., was already running and was not launched) to handle a pdf file

Data Source: main

Definition:
(
    COALESCE(SUM(mozfun.map.get_key(payload.processes.parent.keyed_scalars.os_environment_invoked_to_handle, '.pdf')) > 0, FALSE)
)

pdf_launched_to_handle

PDF Launched to Handle

Firefox was launched afresh (i.e., was not already running) to handle a pdf file

Data Source: main

Definition:
(
    COALESCE(SUM(mozfun.map.get_key(payload.processes.parent.keyed_scalars.os_environment_launched_to_handle, '.pdf')) > 0, FALSE)
)

pdf_launched_or_invoked_to_handle

PDF Launched or Invoked

Firefox was launched or invoked to handle a pdf file

Data Source: main

Definition:
(
    (COALESCE(SUM(mozfun.map.get_key(payload.processes.parent.keyed_scalars.os_environment_invoked_to_handle, '.pdf')) > 0, FALSE) OR 
    COALESCE(SUM(mozfun.map.get_key(payload.processes.parent.keyed_scalars.os_environment_launched_to_handle, '.pdf')) > 0, FALSE))
)

repeat_first_month_user

Repeat First Month Users

Clients that were DAU at least once between their 2nd and 28th days, inclusive (first day = Day 1).

Data Source: clients_first_seen_28_days_later

Definition:
LOGICAL_OR(COALESCE(qualified_second_day, FALSE))

new_profile_retained_week4

Week 4 Retained Users

Clients that were DAU at least once between their 22nd and 28th days, inclusive (first day = Day 1).

Data Source: clients_first_seen_28_days_later

Definition:
LOGICAL_OR(COALESCE(qualified_week4, FALSE))

cohort_clients_in_cohort

Number of Clients in Daily Cohort of New Users

The number of new profiles per day (using method from clients_first_seen_v2)

Data Source: desktop_cohort_daily_retention

Definition:
SUM(COALESCE(num_clients_in_cohort, 0))

cohort_clients_active_on_day

Number of Clients Retained on Day

Number of Clients Retained (Qualifying as DAU) on each day

Data Source: desktop_cohort_daily_retention

Definition:
SUM(COALESCE(num_clients_dau_on_day, 0))

cohort_clients_active_in_week

Number of Clients Retained in Last Week

Number of Clients Retained (Qualifying as DAU) in previous 7 days (current day inclusive)

Data Source: desktop_cohort_daily_retention

Definition:
SUM(COALESCE(num_clients_dau_active_atleastonce_in_last_7_days, 0))

cohort_clients_active_in_month

Number of Clients Retained in Last Month

Number of Clients Retained (Qualifying as DAU) in previous 28 days (current day inclusive)

Data Source: desktop_cohort_daily_retention

Definition:
SUM(COALESCE(num_clients_dau_active_atleastonce_in_last_28_days, 0))

socket_crash_count_v1

Client Crash Count

Number of Socket crashes by a single client. Filter on this field to remove clients with large numbers of crashes.

Data Source: clients_daily

Definition:
SUM(socket_crash_count)

socket_crash_active_hours_v1

Client Crash Active Hours

Total active hours of a client with socket crashes

Data Source: clients_daily

Definition:
SUM(IF(socket_crash_count > 0, active_hours_sum, 0))

socket_crash_dau_v1

Daily Active Users with socket crashes

Daily active user count with socket crashes

Data Source: clients_daily

Definition:
COUNTIF(socket_crash_count > 0)

serp_impressions

SERP impressions

Number of SERP page loads

Data Source: serp_events

Definition:
COUNT(*)

engagement_rate_v1

Firefox Desktop Engagement Rate

The Engagement Rate is calculated as the ratio between DAU and MAU. For each day, we use the single-day DAU number and divide it by the MAU corresponding to the 28-day period ending on that day. For OKR reporting, we then calculate a 28-day moving average of this number. More information is provided on the New Profiles, Retention and Engagement Rate Confluence Page.

Data Source: desktop_engagement_view

Definition:
SUM(dau) / SUM(mau)

retention_rate_v1

Firefox Desktop Retention Rate

The Retention Rate is calculated as the proportion of clients that are active on the 4th week after the metric date.

Data Source: desktop_retention_view

Definition:
SUM(retained_week_4) / SUM(active_metric_date)

new_profile_retention_rate_v1

Firefox Desktop New Proflie Retention Rate

The New Profile Retention Rate is calculated as the proportion of new profiles that are active on the 4th week after the metric date. More information is provided on the New Profiles, Retention and Engagement Rate Confluence Page.

Data Source: desktop_retention_view

Definition:
SUM(retained_week_4_new_profiles) / SUM(new_profiles_metric_date)

sync_to_mobile

Desktop Sync to Mobile

Did a desktop user sync to mobile

Data Source: clients_daily

Definition:
LOGICAL_OR(COALESCE(sync_count_mobile_mean > 0, FALSE))