Real-User Ad Network Field Telemetry, Audited Week by Week.
AdWeight Report benchmarks 17 publisher ad networks against 40 weeks of public Google Chrome User Experience Report (CrUX) field telemetry across verified Prebid.js publisher domains.
At least two networks with CrUX field telemetry are required to compute the cross-network spread for this cohort filter.
What Google CrUX Is, How Google Operates It, and How It Reports Page Performance
Unlike synthetic lab tests run from a single server, the Chrome User Experience Report (CrUX) is Google's official dataset of real-user field telemetry collected from opted-in Chrome browsers worldwide. Every weekly point in this report represents a rolling 28-day window evaluated at the 75th percentile (p75): 3 out of 4 real page loads experienced that level of latency or better.
Measures main-thread responsiveness across all taps, clicks, and key presses during a visitor's session. Bid adapter auction loops, real-time identity modules, and creative iframe scripts can affect INP on ad-supported sites.
Quantifies unexpected visual movement after content appears on screen. Unreserved ad slot containers, late-expanding multi-size units, and injected sticky wrappers can affect CLS.
Ad Script CPU Time (ms)
Total main-thread CPU milliseconds attributed to ad-tagged scripts and frames at p75.
Ad Network Transfer (KB)
Total kilobytes downloaded by ad resources (wrappers, bidder scripts, creatives, and video assets) at p75.
Observed Ad Frames
Count of ad frames observed per page load at p75, enabling per-ad CPU and per-ad transfer normalization.
Viewport Ad Density (%)
Percentage of viewport area occupied by ad slots at p75 across real user sessions.
Ad Network Field Rankings (Phone)
Slice 17 publisher ad networks by device form factor, on-page Prebid.js media cohort (Display, Video, or Display + Video), and page navigation architecture (Single-Page vs Multi-Page Application).
| Rank | Ad Network | Verified Live | With CrUX (n) | Score (0-100) | Ad CPU Median (p75) | CPU / Ad | Ad KB (p75) | Ad Count | Ad Density | CWV Pass % | LCP (p75) | INP (p75) | CLS (p75) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| No networks match the selected cohort filter with sufficient verified sample size. | |||||||||||||
Direct Executive Comparison
Compare any two networks side by side across 40 weeks of Google CrUX telemetry and supply verification funnel metrics.
Aditude: 40-Week Ad CPU Trajectory
Weekly CrUX field history has not been collected for this metric and form factor yet.
Concept: 40-Week Ad CPU Trajectory
Weekly CrUX field history has not been collected for this metric and form factor yet.
| Telemetry Dimension (Phone) | Aditude | Concept |
|---|---|---|
| Composite Performance Score (0-100) | - | - |
| Verified Live Prebid Domains (CrUX Reporting n) | 0 (0 with CrUX) | 1 (0 with CrUX) |
| Ad Refresh Detected Share | 0 (0.0%) | 1 (100.0%) |
| Ad Script CPU Median (experimental_ad_cpu p75) | - | - |
| Ad Transfer Median (experimental_ad_kilobytes p75) | - | - |
| Core Web Vitals Pass Share (Reported LCP, INP, CLS Within Good) | - | - |
| Largest Contentful Paint Median (LCP p75) | - | - |
| Interaction to Next Paint Median (INP p75) | - | - |
| Cumulative Layout Shift Median (CLS p75) | - | - |
Four-Stage Supply & Telemetry Audit Pipeline
Public sellers.json files list every seat an exchange or management company declares, including confidential seats, intermediaries, and domains that may no longer run that network's tag. AdWeight Report verifies each candidate publisher domain through a four-stage pipeline before including its CrUX telemetry in a network's score.
Deterministic SHA-256 Sampling
We ingest each network's public IAB Tech Lab sellers.json feed, filter for non-confidential PUBLISHER and BOTH seats, and order domains by deterministic SHA-256 hash so progressive sampling never favors alphabetical or sequential seat IDs.
Live Publisher ads.txt Alignment
We fetch the publisher's live ads.txt file and verify that it explicitly authorizes the network's exchange domain and matching seller_id. Stale sellers.json seats without reciprocal publisher authorization are rejected.
Headless Chromium Prebid.js Probe
A headless Chromium browser loads the live publisher page, inspects window._pbjsGlobals, verifies active Prebid.js auction execution, classifies Display vs Video mediaTypes, and tests internal link navigation for SPA vs MPA routing.
40-Week CrUX History API
For every verified domain, we query Google's official records:queryHistoryRecord endpoint across Phone and Desktop form factors, storing up to 40 weekly 28-day rolling p75 collection periods.