Skip to content

feat(DENG-10722): add to/enhance urlbar_events_v2#9246

Merged
kbammarito merged 31 commits into
mainfrom
DENG-10722-urlbar-events-v2-phase1
May 13, 2026
Merged

feat(DENG-10722): add to/enhance urlbar_events_v2#9246
kbammarito merged 31 commits into
mainfrom
DENG-10722-urlbar-events-v2-phase1

Conversation

@kbammarito
Copy link
Copy Markdown
Contributor

@kbammarito kbammarito commented Apr 23, 2026

Description

This PR adds/updates functions and fields and updates the schema.yaml accordingly:

  • adds window_mode
  • bounce and disable
    • includes filtering for these to event_name
    • adds these into the temp functions
    • creates an exit_type field to classify these

Related Tickets & Documents

Reviewer, please follow this checklist

@github-actions

This comment has been minimized.

@kbammarito kbammarito changed the title add bounce, disable and window_mode feat(DENG-10722): add to/enhance urlbar_events_v2 Apr 23, 2026
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@kbammarito kbammarito marked this pull request as ready for review April 24, 2026 17:44
@kbammarito kbammarito requested a review from a team as a code owner April 24, 2026 17:44
Copy link
Copy Markdown

@florezita florezita left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Comment thread sql_generators/urlbar_events/templates/schema.yaml Outdated
Copy link
Copy Markdown
Contributor

@lucia-vargas-a lucia-vargas-a left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment on descriptions

Co-authored-by: Lucia <30448600+lucia-vargas-a@users.noreply.github.com>
@github-actions

This comment has been minimized.

@kbammarito kbammarito requested a review from florezita April 29, 2026 00:05
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@kbammarito kbammarito marked this pull request as ready for review May 8, 2026 21:42
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 8, 2026

Claude finished @kbammarito's task in 4m 48s —— View job


Claude Code Review

Posted a formal review with 8 inline comments + a summary on the PR.

  • Read changed files in sql_generators/urlbar_events/templates/
  • Read docs/reference/recommended_practices.md
  • Review SQL/schema changes for correctness, formatting, and best practices
  • Submit formal GitHub review with inline comments

Highlights of the review:

  • ⚠️ is_terminal vs exit_type semantic conflictbounce/disable events return is_terminal = FALSE while exit_type is non-NULL. Anyone filtering is_terminal = TRUE to count unique sessions (per the schema description) will silently undercount.
  • bounce events with non-engaged engagement_type fall through to event_action = NULL — likely a silent gap unless intentional.
  • Repeated NULLIF(selected_result, 'none') calls and mixed conventions — would be cleaner to normalize once at the source.
  • get_event_action(...) called 4× with identical args; could be computed once in a CTE.
  • Mixed quote styles between the two temp functions.
  • Stale Generated via sql_generators.active_users comment in view.sql.

Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review summary

Nice incremental extension of the urlbar_events_v2 template — the new fields (window_mode, exit_type) and the broader event_name filter line up cleanly with the schema. Two reviewers have already approved; the comments below are mostly polish, with one item I'd flag as a real concern before this lands.

Worth resolving before merge

  • is_terminal semantics now disagree with its schema description and with exit_type. With this change, bounce and disable events get is_terminal = FALSE and a non-NULL exit_type. The schema still tells users to filter on is_terminal = TRUE to count unique search sessions, so any consumer following that guidance will silently undercount the new exit categories. Either tighten the docstring to make the dropdown-vs-session distinction explicit, or set is_terminal = TRUE for these events. Inline comment on get_is_terminal and on the is_terminal schema entry.
  • bounce events whose engagement_type is outside the click/enter set fall through to event_action = NULL. If that combination genuinely never occurs, a comment to that effect would help. Otherwise it's a silent gap. Inline on get_event_action.

Style / readability

  • selected_result is read raw at the source then NULLIF(...,'none')-ed in 4 places downstream while the temp functions still compare = 'none'. Normalizing once in events_unnested and switching the function checks to IS NULL/IS NOT NULL would eliminate the duplication and the mixed convention.
  • get_event_action(event_name, engagement_type, selected_result) is invoked four times with identical args; computing it once in a wrapping CTE would make engaged_result_type / product_engaged_result_type / annoyance_signal_type easier to follow.
  • Mixed quote styles inside the temp functions ("click" in get_event_action vs 'click' in get_is_terminal).
  • event_action description picks up an em dash and drops the Oxford "or" — reads a bit awkwardly.
  • view.sql switched from an explicit column list to * EXCEPT (...); that's fine if intentional, but the leading --- ... Generated via sql_generators.active_users. comment is now wrong (this is generated by sql_generators.urlbar_events).

Detailed inline comments above. None of these are blockers to me, but the is_terminal ambiguity in particular is worth pinning down before downstream dashboards start querying the new exit events.

View job run

Comment thread sql_generators/urlbar_events/templates/desktop_query.sql
Comment thread sql_generators/urlbar_events/templates/desktop_query.sql
Comment thread sql_generators/urlbar_events/templates/desktop_query.sql Outdated
Comment thread sql_generators/urlbar_events/templates/desktop_query.sql Outdated
Comment thread sql_generators/urlbar_events/templates/schema.yaml Outdated
Comment thread sql_generators/urlbar_events/templates/view.sql Outdated
@github-actions

This comment has been minimized.

Comment thread sql_generators/urlbar_events/templates/desktop_query.sql
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions
Copy link
Copy Markdown
Contributor

Integration report for "feat(DENG-10722): add to/enhance urlbar_events_v2"

sql.diff

Click to expand!
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/broken_site_report/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/broken_site_report/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/broken_site_report/metadata.yaml	2026-05-11 17:21:17.160385262 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/broken_site_report/metadata.yaml	2026-05-11 17:21:12.416382675 +0000
@@ -1,6 +1,10 @@
-friendly_name: Broken Site Report
+friendly_name: App-specific view for Glean ping "broken-site-report"
 description: |-
-  Please provide a description for the query
+  This a view that UNIONs the stable ping tables
+  across all channels of the Glean application "Firefox for Android"
+  (org_mozilla_firefox.broken_site_report, org_mozilla_firefox_beta.broken_site_report, org_mozilla_fenix.broken_site_report, org_mozilla_fenix_nightly.broken_site_report, org_mozilla_fennec_aurora.broken_site_report).
+
+  It is used by Looker.
 owners: []
 workgroup_access:
 - role: roles/bigquery.dataViewer
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/crash/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/crash/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/fenix/crash/metadata.yaml	2026-05-11 17:21:17.161385263 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/fenix/crash/metadata.yaml	2026-05-11 17:21:12.416382675 +0000
@@ -1,6 +1,10 @@
-friendly_name: Crash
+friendly_name: App-specific view for Glean ping "crash"
 description: |-
-  Please provide a description for the query
+  This a view that UNIONs the stable ping tables
+  across all channels of the Glean application "Firefox for Android"
+  (org_mozilla_firefox.crash, org_mozilla_firefox_beta.crash, org_mozilla_fenix.crash, org_mozilla_fenix_nightly.crash, org_mozilla_fennec_aurora.crash).
+
+  It is used by Looker.
 owners: []
 workgroup_access:
 - role: roles/bigquery.dataViewer
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_crashreporter/crash/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_crashreporter/crash/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_crashreporter/crash/metadata.yaml	2026-05-11 17:21:17.271385323 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_crashreporter/crash/metadata.yaml	2026-05-11 17:21:12.554382750 +0000
@@ -1,6 +1,14 @@
-friendly_name: Crash
+friendly_name: Historical Pings for `firefox-crashreporter/crash`
 description: |-
-  Please provide a description for the query
+  A historical view of pings sent for the
+  `firefox-crashreporter/crash`
+  document type.
+
+  This view is guaranteed to contain only complete days
+  (per `submission_timestamp`)
+  and to contain only one row per distinct `document_id` within a given date.
+
+  Clustering fields: `normalized_channel`, `sample_id`
 owners: []
 labels:
   authorized: true
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/broken_site_report/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/broken_site_report/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/broken_site_report/metadata.yaml	2026-05-11 17:21:17.260385317 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/broken_site_report/metadata.yaml	2026-05-11 17:21:12.555382751 +0000
@@ -1,6 +1,14 @@
-friendly_name: Broken Site Report
+friendly_name: Historical Pings for `firefox-desktop/broken-site-report`
 description: |-
-  Please provide a description for the query
+  A historical view of pings sent for the
+  `firefox-desktop/broken-site-report`
+  document type.
+
+  This view is guaranteed to contain only complete days
+  (per `submission_timestamp`)
+  and to contain only one row per distinct `document_id` within a given date.
+
+  Clustering fields: `normalized_channel`, `sample_id`
 owners: []
 labels:
   authorized: true
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/crash/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/crash/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/crash/metadata.yaml	2026-05-11 17:21:17.261385317 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/crash/metadata.yaml	2026-05-11 17:21:12.556382752 +0000
@@ -1,6 +1,14 @@
-friendly_name: Crash
+friendly_name: Historical Pings for `firefox-desktop/crash`
 description: |-
-  Please provide a description for the query
+  A historical view of pings sent for the
+  `firefox-desktop/crash`
+  document type.
+
+  This view is guaranteed to contain only complete days
+  (per `submission_timestamp`)
+  and to contain only one row per distinct `document_id` within a given date.
+
+  Clustering fields: `normalized_channel`, `sample_id`
 owners: []
 labels:
   authorized: true
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/newtab/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/newtab/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/newtab/metadata.yaml	2026-05-11 17:21:17.348385365 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/newtab/metadata.yaml	2026-05-11 17:21:12.623382788 +0000
@@ -1,6 +1,14 @@
-friendly_name: Newtab
+friendly_name: Historical Pings for `firefox-desktop/newtab`
 description: |-
-  Please provide a description for the query
+  A historical view of pings sent for the
+  `firefox-desktop/newtab`
+  document type.
+
+  This view is guaranteed to contain only complete days
+  (per `submission_timestamp`)
+  and to contain only one row per distinct `document_id` within a given date.
+
+  Clustering fields: `normalized_channel`, `sample_id`
 owners: []
 workgroup_access:
 - role: roles/bigquery.dataViewer
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/urlbar_events/view.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/urlbar_events/view.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/urlbar_events/view.sql	2026-05-11 17:21:17.388385387 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop/urlbar_events/view.sql	2026-05-11 17:21:12.643382799 +0000
@@ -1,42 +1,8 @@
---- User-facing view. Generated via sql_generators.active_users.
+--- User-facing view. Generated via sql_generators.urlbar_events.
 CREATE OR REPLACE VIEW
   `moz-fx-data-shared-prod.firefox_desktop.urlbar_events`
 AS
 SELECT
-  submission_date,
-  glean_client_id,
-  legacy_telemetry_client_id,
-  sample_id,
-  event_name,
-  event_timestamp,
-  event_id,
-  experiments,
-  seq,
-  normalized_channel,
-  normalized_country_code,
-  normalized_os,
-  os_version,
-  normalized_engine,
-  app_display_version,
-  pref_ohttp_available,
-  pref_ohttp_enabled,
-  sap,
-  pref_data_collection,
-  pref_sponsored_suggestions,
-  pref_fx_suggestions,
-  engagement_type,
-  interaction,
-  num_chars_typed,
-  num_total_results,
-  selected_position,
-  selected_result,
-  results,
-  product_selected_result,
-  event_action,
-  is_terminal,
-  engaged_result_type,
-  product_engaged_result_type,
-  annoyance_signal_type,
-  profile_group_id
+  * EXCEPT (product_engaged_result_type, engaged_result_type, annoyance_signal_type)
 FROM
   `moz-fx-data-shared-prod.firefox_desktop_derived.urlbar_events_v2`
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_derived/urlbar_events_v2/query.sql /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_derived/urlbar_events_v2/query.sql
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_derived/urlbar_events_v2/query.sql	2026-05-11 17:21:17.633385523 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_derived/urlbar_events_v2/query.sql	2026-05-11 17:21:13.148383074 +0000
@@ -13,24 +13,46 @@
   )
 );
 
-CREATE TEMP FUNCTION get_event_action(event_name STRING, engagement_type STRING) AS (
+CREATE TEMP FUNCTION get_event_action(
+  event_name STRING,
+  engagement_type STRING,
+  selected_result STRING
+) AS (
   CASE
-    WHEN event_name = 'engagement'
-      AND (engagement_type IN ("click", "drop_go", "enter", "go_button", "paste_go"))
+    WHEN
+    -- bounce engagement_type is never outside this set
+      (
+        event_name IN ('engagement', 'bounce')
+        AND (engagement_type IN ('click', 'drop_go', 'enter', 'go_button', 'paste_go'))
+      )
+      OR (event_name = 'disable' AND selected_result IS NOT NULL)
       THEN 'engaged'
-    WHEN event_name = 'abandonment'
+    WHEN (event_name = 'abandonment')
+      OR (event_name = 'disable' AND selected_result IS NULL)
       THEN 'abandoned'
     WHEN event_name = 'engagement'
-      AND (engagement_type NOT IN ("click", "drop_go", "enter", "go_button", "paste_go"))
-      THEN "annoyance"
+      AND (engagement_type NOT IN ('click', 'drop_go', 'enter', 'go_button', 'paste_go'))
+      THEN 'annoyance'
     ELSE NULL
   END
 );
 
-CREATE TEMP FUNCTION get_is_terminal(selected_result STRING, engagement_type STRING) AS (
+CREATE TEMP FUNCTION get_is_terminal(
+  selected_result STRING,
+  engagement_type STRING,
+  event_name STRING
+) AS (
   --events where the urlbar dropdown menu remains open (i.e., the urlbar session did not end)
-  COALESCE(
-    NOT (selected_result = 'tab_to_search' AND engagement_type IN ('click', 'enter', 'go_button'))
+  CASE
+    WHEN event_name = 'abandonment'
+      THEN TRUE
+    WHEN event_name IN ('bounce', 'disable')
+      THEN FALSE
+    ELSE COALESCE(
+        NOT (
+          selected_result = 'tab_to_search'
+          AND engagement_type IN ('click', 'enter', 'go_button')
+        )
     AND NOT (
       selected_result = 'tip_dismissal_acknowledgement'
       AND engagement_type IN ('click', 'enter')
@@ -46,6 +68,7 @@
     ),
     TRUE
   )
+  END
 );
 
 WITH events_unnested AS (
@@ -63,7 +86,7 @@
     normalized_channel,
     normalized_country_code,
     `moz-fx-data-shared-prod`.udf.normalize_search_engine(
-      mozfun.map.get_key(extra, "search_engine_default_id")
+      mozfun.map.get_key(extra, 'search_engine_default_id')
     ) AS normalized_engine,
     COALESCE(metrics.boolean.urlbar_pref_suggest_data_collection, FALSE) AS pref_data_collection,
     COALESCE(metrics.boolean.urlbar_pref_suggest_sponsored, FALSE) AS pref_sponsored_suggestions,
@@ -71,33 +94,41 @@
       (metrics.boolean.urlbar_pref_suggest_nonsponsored OR metrics.boolean.urlbar_pref_suggest_all),
       FALSE
     ) AS pref_fx_suggestions,
-    mozfun.map.get_key(extra, "engagement_type") AS engagement_type,
-    mozfun.map.get_key(extra, "interaction") AS interaction,
-    SAFE_CAST(mozfun.map.get_key(extra, "n_chars") AS int) AS num_chars_typed,
-    SAFE_CAST(mozfun.map.get_key(extra, "n_results") AS int) AS num_total_results,
+    mozfun.map.get_key(extra, 'engagement_type') AS engagement_type,
+    mozfun.map.get_key(extra, 'interaction') AS interaction,
+    SAFE_CAST(mozfun.map.get_key(extra, 'n_chars') AS int) AS num_chars_typed,
+    SAFE_CAST(mozfun.map.get_key(extra, 'n_results') AS int) AS num_total_results,
   --If 0, then no result was selected.
     NULLIF(
-      SAFE_CAST(mozfun.map.get_key(extra, "selected_position") AS int),
+      SAFE_CAST(mozfun.map.get_key(extra, 'selected_position') AS int),
       0
     ) AS selected_position,
-    mozfun.map.get_key(extra, "selected_result") AS selected_result,
+    NULLIF(mozfun.map.get_key(extra, 'selected_result'), 'none') AS selected_result,
     enumerated_array(
-      SPLIT(mozfun.map.get_key(extra, "results"), ','),
-      SPLIT(mozfun.map.get_key(extra, "groups"), ',')
+      SPLIT(mozfun.map.get_key(extra, 'results'), ','),
+      SPLIT(mozfun.map.get_key(extra, 'groups'), ',')
     ) AS results,
     normalized_os,
     client_info.os_version,
     client_info.app_display_version AS app_display_version,
     metrics.boolean.urlbar_pref_suggest_online_available AS pref_ohttp_available,
     metrics.boolean.urlbar_pref_suggest_online_enabled AS pref_ohttp_enabled,
-    mozfun.map.get_key(extra, "sap") AS sap
+    mozfun.map.get_key(extra, 'sap') AS sap,
+    mozfun.map.get_key(extra, 'window_mode') AS window_mode
   FROM
     `moz-fx-data-shared-prod.firefox_desktop_stable.events_v1`,
     UNNEST(events) AS event
   WHERE
     DATE(submission_timestamp) = @submission_date
     AND event.category = 'urlbar'
-    AND event.name IN ('engagement', 'abandonment')
+    AND event.name IN ('abandonment', 'bounce', 'disable', 'engagement')
+),
+with_event_action AS (
+  SELECT
+    *,
+    get_event_action(event_name, engagement_type, selected_result) AS event_action
+  FROM
+    events_unnested
 ),
 add_conditionals AS (
   SELECT
@@ -124,20 +155,20 @@
     selected_result,
     results,
     `mozfun.norm.result_type_to_product_name`(selected_result) AS product_selected_result,
-    get_event_action(event_name, engagement_type) AS event_action,
-    get_is_terminal(selected_result, engagement_type) AS is_terminal,
+    event_action,
+    get_is_terminal(selected_result, engagement_type, event_name) AS is_terminal,
     CASE
-      WHEN get_event_action(event_name, engagement_type) IN ('engaged', 'annoyance')
+      WHEN event_action IN ('engaged', 'annoyance')
         THEN selected_result
       ELSE NULL
     END AS engaged_result_type,
     CASE
-      WHEN get_event_action(event_name, engagement_type) IN ('engaged', 'annoyance')
+      WHEN event_action IN ('engaged', 'annoyance')
         THEN `mozfun.norm.result_type_to_product_name`(selected_result)
       ELSE NULL
     END AS product_engaged_result_type,
     CASE
-      WHEN get_event_action(event_name, engagement_type) = 'annoyance'
+      WHEN event_action = 'annoyance'
         THEN engagement_type
       ELSE NULL
     END AS annoyance_signal_type,
@@ -147,9 +178,15 @@
     app_display_version,
     pref_ohttp_available,
     pref_ohttp_enabled,
-    sap
+    sap,
+    window_mode,
+    CASE
+      WHEN event_name IN ('abandonment', 'bounce', 'disable')
+        THEN event_name
+      ELSE NULL
+    END AS exit_type
   FROM
-    events_unnested
+    with_event_action
 ),
 final AS (
   SELECT
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_derived/urlbar_events_v2/schema.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_derived/urlbar_events_v2/schema.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_derived/urlbar_events_v2/schema.yaml	2026-05-11 17:21:17.633385523 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/firefox_desktop_derived/urlbar_events_v2/schema.yaml	2026-05-11 17:21:13.148383074 +0000
@@ -20,8 +20,8 @@
   - name: event_name
     type: STRING
     mode: NULLABLE
-    description: Name of the 'urlbar' event represented by this row- 'engagement' or
-      'abandonment'
+    description: |
+      Name of the 'urlbar' event represented by this row- 'engagement', 'abandonment', 'bounce', or 'disable'
   - name: event_timestamp
     type: INTEGER
     mode: NULLABLE
@@ -140,13 +140,13 @@
   - name: event_action
     type: STRING
     mode: NULLABLE
-    description: Action taken by the user which generated the event- 'engaged',
-      'abandoned', or 'annoyance'.
+    description: |
+      Action taken by the user which generated the event - 'engaged', 'abandoned', or 'annoyance'.
   - name: is_terminal
     type: BOOLEAN
     mode: NULLABLE
-    description: Did the event action cause the search session to end? Filter on
-      'is_terminal = TRUE' to count unique search sessions.
+    description: |
+      Whether this event is the final event of a urlbar session. FALSE for bounce, disable, tab-to-search activations, tip dismissals, and feedback actions (dismiss, not_interested, etc.). Filter on is_terminal = TRUE to count unique search sessions.
   - name: engaged_result_type
     type: STRING
     mode: NULLABLE
@@ -189,3 +189,12 @@
     type: STRING
     mode: NULLABLE
     description: Search Access Point
+  - name: window_mode
+    type: STRING
+    mode: NULLABLE
+    description: |
+      The standard display of the browser: classic, private, or smartwindow.
+  - name: exit_type
+    type: STRING
+    mode: NULLABLE
+    description: The event type that ending the urlbar session ('bounce', 'disable', or 'abandonment'). NULL for engagement events.
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fenix/broken_site_report/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fenix/broken_site_report/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fenix/broken_site_report/metadata.yaml	2026-05-11 17:21:18.370385933 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fenix/broken_site_report/metadata.yaml	2026-05-11 17:21:14.094383590 +0000
@@ -1,6 +1,14 @@
-friendly_name: Broken Site Report
+friendly_name: Historical Pings for `org-mozilla-fenix/broken-site-report`
 description: |-
-  Please provide a description for the query
+  A historical view of pings sent for the
+  `org-mozilla-fenix/broken-site-report`
+  document type.
+
+  This view is guaranteed to contain only complete days
+  (per `submission_timestamp`)
+  and to contain only one row per distinct `document_id` within a given date.
+
+  Clustering fields: `normalized_channel`, `sample_id`
 owners: []
 labels:
   authorized: true
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fenix/crash/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fenix/crash/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fenix/crash/metadata.yaml	2026-05-11 17:21:18.335385913 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fenix/crash/metadata.yaml	2026-05-11 17:21:14.367383739 +0000
@@ -1,6 +1,14 @@
-friendly_name: Crash
+friendly_name: Historical Pings for `org-mozilla-fenix/crash`
 description: |-
-  Please provide a description for the query
+  A historical view of pings sent for the
+  `org-mozilla-fenix/crash`
+  document type.
+
+  This view is guaranteed to contain only complete days
+  (per `submission_timestamp`)
+  and to contain only one row per distinct `document_id` within a given date.
+
+  Clustering fields: `normalized_channel`, `sample_id`
 owners: []
 labels:
   authorized: true
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fenix_nightly/broken_site_report/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fenix_nightly/broken_site_report/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fenix_nightly/broken_site_report/metadata.yaml	2026-05-11 17:21:18.585386052 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fenix_nightly/broken_site_report/metadata.yaml	2026-05-11 17:21:14.096383592 +0000
@@ -1,6 +1,14 @@
-friendly_name: Broken Site Report
+friendly_name: Historical Pings for `org-mozilla-fenix-nightly/broken-site-report`
 description: |-
-  Please provide a description for the query
+  A historical view of pings sent for the
+  `org-mozilla-fenix-nightly/broken-site-report`
+  document type.
+
+  This view is guaranteed to contain only complete days
+  (per `submission_timestamp`)
+  and to contain only one row per distinct `document_id` within a given date.
+
+  Clustering fields: `normalized_channel`, `sample_id`
 owners: []
 labels:
   authorized: true
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fenix_nightly/crash/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fenix_nightly/crash/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fenix_nightly/crash/metadata.yaml	2026-05-11 17:21:18.448385976 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fenix_nightly/crash/metadata.yaml	2026-05-11 17:21:14.096383592 +0000
@@ -1,6 +1,14 @@
-friendly_name: Crash
+friendly_name: Historical Pings for `org-mozilla-fenix-nightly/crash`
 description: |-
-  Please provide a description for the query
+  A historical view of pings sent for the
+  `org-mozilla-fenix-nightly/crash`
+  document type.
+
+  This view is guaranteed to contain only complete days
+  (per `submission_timestamp`)
+  and to contain only one row per distinct `document_id` within a given date.
+
+  Clustering fields: `normalized_channel`, `sample_id`
 owners: []
 labels:
   authorized: true
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fennec_aurora/broken_site_report/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fennec_aurora/broken_site_report/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fennec_aurora/broken_site_report/metadata.yaml	2026-05-11 17:21:18.728386132 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fennec_aurora/broken_site_report/metadata.yaml	2026-05-11 17:21:14.098383593 +0000
@@ -1,6 +1,14 @@
-friendly_name: Broken Site Report
+friendly_name: Historical Pings for `org-mozilla-fennec-aurora/broken-site-report`
 description: |-
-  Please provide a description for the query
+  A historical view of pings sent for the
+  `org-mozilla-fennec-aurora/broken-site-report`
+  document type.
+
+  This view is guaranteed to contain only complete days
+  (per `submission_timestamp`)
+  and to contain only one row per distinct `document_id` within a given date.
+
+  Clustering fields: `normalized_channel`, `sample_id`
 owners: []
 labels:
   authorized: true
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fennec_aurora/crash/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fennec_aurora/crash/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fennec_aurora/crash/metadata.yaml	2026-05-11 17:21:18.728386132 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_fennec_aurora/crash/metadata.yaml	2026-05-11 17:21:14.098383593 +0000
@@ -1,6 +1,14 @@
-friendly_name: Crash
+friendly_name: Historical Pings for `org-mozilla-fennec-aurora/crash`
 description: |-
-  Please provide a description for the query
+  A historical view of pings sent for the
+  `org-mozilla-fennec-aurora/crash`
+  document type.
+
+  This view is guaranteed to contain only complete days
+  (per `submission_timestamp`)
+  and to contain only one row per distinct `document_id` within a given date.
+
+  Clustering fields: `normalized_channel`, `sample_id`
 owners: []
 labels:
   authorized: true
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox/broken_site_report/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox/broken_site_report/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox/broken_site_report/metadata.yaml	2026-05-11 17:21:18.730386133 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox/broken_site_report/metadata.yaml	2026-05-11 17:21:14.371383741 +0000
@@ -1,6 +1,14 @@
-friendly_name: Broken Site Report
+friendly_name: Historical Pings for `org-mozilla-firefox/broken-site-report`
 description: |-
-  Please provide a description for the query
+  A historical view of pings sent for the
+  `org-mozilla-firefox/broken-site-report`
+  document type.
+
+  This view is guaranteed to contain only complete days
+  (per `submission_timestamp`)
+  and to contain only one row per distinct `document_id` within a given date.
+
+  Clustering fields: `normalized_channel`, `sample_id`
 owners: []
 labels:
   authorized: true
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox/crash/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox/crash/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox/crash/metadata.yaml	2026-05-11 17:21:18.730386133 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox/crash/metadata.yaml	2026-05-11 17:21:14.372383742 +0000
@@ -1,6 +1,14 @@
-friendly_name: Crash
+friendly_name: Historical Pings for `org-mozilla-firefox/crash`
 description: |-
-  Please provide a description for the query
+  A historical view of pings sent for the
+  `org-mozilla-firefox/crash`
+  document type.
+
+  This view is guaranteed to contain only complete days
+  (per `submission_timestamp`)
+  and to contain only one row per distinct `document_id` within a given date.
+
+  Clustering fields: `normalized_channel`, `sample_id`
 owners: []
 labels:
   authorized: true
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox_beta/broken_site_report/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox_beta/broken_site_report/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox_beta/broken_site_report/metadata.yaml	2026-05-11 17:21:19.139386360 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox_beta/broken_site_report/metadata.yaml	2026-05-11 17:21:14.504383814 +0000
@@ -1,6 +1,14 @@
-friendly_name: Broken Site Report
+friendly_name: Historical Pings for `org-mozilla-firefox-beta/broken-site-report`
 description: |-
-  Please provide a description for the query
+  A historical view of pings sent for the
+  `org-mozilla-firefox-beta/broken-site-report`
+  document type.
+
+  This view is guaranteed to contain only complete days
+  (per `submission_timestamp`)
+  and to contain only one row per distinct `document_id` within a given date.
+
+  Clustering fields: `normalized_channel`, `sample_id`
 owners: []
 labels:
   authorized: true
diff -bur --no-dereference --new-file /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox_beta/crash/metadata.yaml /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox_beta/crash/metadata.yaml
--- /tmp/workspace/main-generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox_beta/crash/metadata.yaml	2026-05-11 17:21:19.139386360 +0000
+++ /tmp/workspace/generated-sql/sql/moz-fx-data-shared-prod/org_mozilla_firefox_beta/crash/metadata.yaml	2026-05-11 17:21:14.373383742 +0000
@@ -1,6 +1,14 @@
-friendly_name: Crash
+friendly_name: Historical Pings for `org-mozilla-firefox-beta/crash`
 description: |-
-  Please provide a description for the query
+  A historical view of pings sent for the
+  `org-mozilla-firefox-beta/crash`
+  document type.
+
+  This view is guaranteed to contain only complete days
+  (per `submission_timestamp`)
+  and to contain only one row per distinct `document_id` within a given date.
+
+  Clustering fields: `normalized_channel`, `sample_id`
 owners: []
 labels:
   authorized: true

Link to full diff

Copy link
Copy Markdown

@florezita florezita left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@kbammarito kbammarito added this pull request to the merge queue May 13, 2026
Merged via the queue into main with commit 2354733 May 13, 2026
60 checks passed
@kbammarito kbammarito deleted the DENG-10722-urlbar-events-v2-phase1 branch May 13, 2026 20:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants