A performance report shows Core Web Vitals field data for one of your pages but labels it origin-level, with no URL-level record available. Why does that happen, and how should you read that data when deciding what to fix?
answer
- too few visits to publish
- falls back to the whole site
- weighted by traffic, not by page
- busiest template dominates the number
- key your own data by route, not URL
basics
~20 sField datasets publish a URL-level record only when that URL has enough qualifying visits in the window; low-traffic pages get none and fall back to the origin aggregate, which is traffic-weighted across every page on the site and therefore describes your busiest templates, not this page.
solid answer
~50 sThe Chrome UX Report publishes a record only when a URL clears a minimum-sample bar within the reporting window, so a low-traffic page — a deep article, a rarely-visited settings screen, anything behind a login — has no record of its own. What you get instead is the **origin-level** aggregate: every visit to every page on that origin pooled and weighted by traffic. That number is dominated by whichever templates carry the volume, usually the homepage and top landing pages. Reading it as a verdict on the page in front of you is a mistake — you can move the origin number without touching that page at all, and you can regress that page without moving the origin number a millimetre. The right response is to stop relying on the public dataset for per-page detail and collect your own real-user measurements keyed by route or template, so long-tail pages roll up into groups with enough samples to mean something.
code
bash · 9 lines# URL-level record: published only when this page has enough qualifying visits
curl -s "https://chromeuxreport.googleapis.com/v1/records:queryRecord?key=$CRUX_KEY" \
-H 'Content-Type: application/json' \
-d '{"url":"https://example.com/pricing","formFactor":"PHONE"}'
# Origin-level record: ask for it explicitly; it pools every page on the origin
curl -s "https://chromeuxreport.googleapis.com/v1/records:queryRecord?key=$CRUX_KEY" \
-H 'Content-Type: application/json' \
-d '{"origin":"https://example.com","formFactor":"PHONE"}'go deeper
Know that field data comes from real visitors and that a page with very little traffic may have no data of its own, in which case you are shown numbers for the whole site instead.
Explain the minimum-sample requirement, and that origin-level data pools every page weighted by traffic, so busy templates dominate it and a quiet page's problems are invisible in it.
Demonstrate the diagnostic move: refuse to attribute an origin number to a single page, stand up route-keyed real-user monitoring with segment tags, and compare the busiest URL against the origin to choose between page work and shared-layer work.
Own the measurement strategy — what the organization reports externally versus internally, how routes are grouped so long-tail pages are covered at all, and how to fund shared-layer improvements no single page team would prioritize.
## Why some URLs have no record The public field dataset behind Core Web Vitals reporting is aggregated from real Chrome users who opted into usage reporting. To publish a per-URL record, a URL needs enough of those qualifying visits inside the reporting window — both for statistical stability and for privacy, since a metric computed from a handful of visits could expose individuals. Below that bar, no record is published. Nothing is broken and there is nothing to instrument: the page is simply too quiet to appear. This catches more pages than people expect. Anything behind authentication, anything with heavy URL parameterization that splits traffic across many distinct addresses, seasonal pages, long-tail content, and every page of a site that is merely small — all can be invisible at URL level while the site as a whole has plenty of data. ## What origin-level data actually is When no URL record exists, tools fall back to the **origin** record: all visits to all pages on that origin, pooled. Two properties matter. First, it is **traffic-weighted**. It is not the average of your pages' scores; it is the distribution over visits. A homepage that takes 60% of your traffic contributes 60% of the samples. A page with 0.1% of traffic contributes 0.1% — its experience is a rounding error in the aggregate no matter how bad it is. Second, it is **a mixture**. It blends page types with genuinely different performance characteristics — a static marketing page, a search results page, a heavy dashboard — into one distribution. That is why origin distributions often look two-humped or carry a long tail no single page explains. ## How to read it without fooling yourself Treat origin-level data as a portfolio metric: a legitimate summary of how the site as a whole feels to visitors, and a fair thing to report upward. Treat it as evidence about a specific page only when that page *is* most of your traffic. The failure modes are symmetrical and both are common: - **False comfort.** The origin passes, so the team assumes every page is fine. In reality the homepage is fast and carrying the aggregate, while a slow checkout step that only 3% of visits reach is the one costing money. - **False blame.** The origin fails, so the team optimizes whatever page they happen to be working on. Nothing moves, because that page contributes almost no samples. ## What to do instead If you need per-page truth for pages the public dataset cannot see, collect it yourself. The practical pattern is to gather Core Web Vitals from your own visitors in the browser and report them with a **route or template key** rather than a raw URL — `/product/:id`, not `/product/8412`. That aggregates the long tail into groups with enough samples to be statistically meaningful, which is exactly what per-URL public data cannot do for you. Tag those measurements with the dimensions that explain variance: form factor, connection quality, geography, cache state, logged-in versus anonymous, and the release identifier. Once you have that, the public dataset becomes a calibration reference — does my own field data broadly agree with the public number for the URLs where both exist? — rather than your only instrument. ## Cross-checking the two A useful exercise: for your highest-traffic URLs, both a URL record and an origin record exist. Compare them. If the busiest URL is much better than the origin, the rest of the site is dragging the aggregate down and you have a breadth problem. If they are close, your traffic is concentrated and the busiest template *is* the site's experience. That comparison tells you whether to invest in one page or in a shared layer — fonts, the base bundle, the delivery configuration — that every page inherits. ## What an interviewer is listening for The naive answer is "there's no data yet, wait for it to appear". The strong answer distinguishes the two record types, explains traffic weighting as the reason origin data cannot indict a specific page, and lands on the practical response: route-keyed real-user measurement of your own, with the public dataset used for calibration and external reporting rather than as the source of per-page truth.
- Your origin-level Core Web Vitals pass, but you suspect one checkout step is slow. How do you prove it?You cannot prove it from origin data — that number is dominated by high-traffic pages, and a low-traffic step contributes almost no samples. Instrument the step in your own real-user monitoring, keyed by route, and compare its distribution against the site's. If volume is still thin, widen the window or group the whole funnel into one bucket rather than reporting per step.
- Why key your own field measurements by route pattern rather than by full URL?Because full URLs shatter traffic across thousands of addresses, and each ends up with too few samples to say anything — the same problem that keeps them out of public data. A route pattern like `/product/:id` pools visits that share a template and therefore share performance characteristics, giving you a distribution stable enough to read a percentile from and to compare across releases.
- If a page has no public field record, does that mean nothing is judging its performance?No — where per-URL data is unavailable, evaluation typically falls back to a broader aggregate such as the origin or a group of similar pages. The practical implication is the same either way: a page you cannot see individually is judged by the company it keeps, so shared layers like the base bundle, fonts and delivery configuration matter more than that one page's own tuning.
saying these in an interview costs you the question
- Says the page needs a measurement script installed to appear
- Reads origin data as a verdict on one page
- Thinks origin data is the unweighted average of all pages
- Assumes missing data means the page is fast
- Expects a low-traffic page to gain a record just by waiting