Skip to content

feat(reports): add experimental soft navigation Core Web Vitals metrics - #365

Merged
max-ostapenko merged 1 commit into
mainfrom
feat/crux-softnavs
Oct 15, 2026
Merged

max-ostapenko merged 1 commit into
mainfrom
feat/crux-softnavs

Conversation

@max-ostapenko

Copy link
Copy Markdown
Contributor

Description

Adds support for the new experimental soft navigation Core Web Vitals metrics introduced in CrUX starting with the September 2026 data release (web.dev blog).

  • Ingests fast_lcp_sn, avg_lcp_sn, slow_lcp_sn, fast_cls_sn, avg_cls_sn, slow_cls_sn, fast_inp_sn, avg_inp_sn, slow_inp_sn from CrUX materialized views in reports.tech_crux.
  • Computes good_lcp_sn, any_lcp_sn, good_cls_sn, any_cls_sn, good_inp_sn, any_inp_sn, and good_cwv_sn.
  • Aggregates origin counts and passing rates (origins_with_good_*_sn, origins_with_any_*_sn, origins_eligible_for_cwv_sn, pct_eligible_origins_with_good_cwv_sn).
  • Updates reports.tech_report_core_web_vitals and GET_VITALS mapping to include overall_sn, LCP_sn, CLS_sn, and INP_sn for export to Firestore.
  • Includes scripts/update_tech_crux_schema.sh migration script to safely update the BigQuery reports.tech_crux struct schema.

Ref: HTTPArchive/httparchive.org#1372

- Ingest fast/avg/slow soft navigation fields for LCP, CLS, and INP in tech_crux
- Compute origin-level passing rates and summary aggregations (*_sn)
- Map overall_sn, LCP_sn, CLS_sn, and INP_sn in tech_report_core_web_vitals
- Add update_tech_crux_schema.sh migration script

Refs: HTTPArchive/httparchive.org#1372
@max-ostapenko
max-ostapenko merged commit 2ff78ee into main Oct 15, 2026
6 checks passed
@max-ostapenko
max-ostapenko deleted the feat/crux-softnavs branch October 15, 2026 16:53
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.

1 participant