Skip to content

Latest commit

 

History

History
121 lines (76 loc) · 5.54 KB

File metadata and controls

121 lines (76 loc) · 5.54 KB

Third-Party Impact Report

Page: https://shop.acme-widgets.example/
First party: acme-widgets.example
HAR source: WebPageTest example

Summary

Metric Value
Third-party origins 10
Third-party requests 13 of 18
Third-party transfer 415.5 KB (67.5% of page weight)
Page weight 615.5 KB
Worst offender YouTube Images (impact 91.9)

Third parties by impact

# Origin Category Reqs Transfer Main-thread est.* Early Impact Action
1 YouTube Images ytimg.com Video 2 125.4 KB 498 ms 46% 91.9 facade
2 Intercom intercom.io Support 1 68.6 KB 308 ms 31% 52.9 facade
3 Google DoubleClick doubleclick.net Ads 1 43.2 KB 190 ms 88% 46.2 remove
4 Google Tag Manager googletagmanager.com Tag Manager 1 39.3 KB 173 ms 91% 44.2 defer
5 Google Fonts gstatic.com Fonts 2 44.3 KB 0 ms 78% 39.1 self-host
6 Google Analytics google-analytics.com Analytics 2 18.9 KB 72 ms 82% 37.6 remove
7 Stripe.js stripe.com Payments 1 29.5 KB 132 ms 73% 36.0 defer
8 Hotjar hotjar.com Analytics 1 21.7 KB 97 ms 65% 30.2 remove
9 YouTube youtube.com Video 1 23.7 KB 0 ms 54% 22.2 facade
10 Google Fonts googleapis.com Fonts 1 880 B 0 ms 90% 21.2 self-host

* Main-thread est. is a heuristic (executable JS bytes x ms-per-KB); HAR has no CPU data.

Recommendations

YouTube Images — facade

Heavy video embed. Replace with a click-to-load facade (static placeholder that loads the real embed on interaction) so its weight and main-thread cost are paid only when a user engages.

Estimated saving: ~112.9 KB / ~448 ms

Intercom — facade

Heavy support embed. Replace with a click-to-load facade (static placeholder that loads the real embed on interaction) so its weight and main-thread cost are paid only when a user engages.

Estimated saving: ~61.7 KB / ~277 ms

Google DoubleClick — remove

Ads script with no first-party rendering dependency. Removing (or replacing with a lighter, server-side or consent-gated alternative) reclaims all of its cost.

Estimated saving: ~43.2 KB / ~380 ms
Also: Until removed, load it with async/defer.

Google Tag Manager — defer

Script loads early (earliness 91%) with an estimated 173 ms of main-thread work. Add async/defer or load it after first paint to unblock rendering.

Estimated saving: ~120 ms

Google Fonts — self-host

Fonts on a separate origin adds a DNS+TCP+TLS handshake. Self-host the asset (or, at minimum, add a preconnect) to remove the extra connection and gain caching/versioning control.

Estimated saving: ~150 ms
Also: Used early — preconnect gives an immediate win before self-hosting.

Google Analytics — remove

Analytics script with no first-party rendering dependency. Removing (or replacing with a lighter, server-side or consent-gated alternative) reclaims all of its cost.

Estimated saving: ~18.9 KB / ~207 ms
Also: Until removed, load it with async/defer.

Stripe.js — defer

Script loads early (earliness 73%) with an estimated 132 ms of main-thread work. Add async/defer or load it after first paint to unblock rendering.

Estimated saving: ~95 ms

Hotjar — remove

Analytics script with no first-party rendering dependency. Removing (or replacing with a lighter, server-side or consent-gated alternative) reclaims all of its cost.

Estimated saving: ~21.7 KB / ~207 ms
Also: Until removed, load it with async/defer.

YouTube — facade

Heavy video embed. Replace with a click-to-load facade (static placeholder that loads the real embed on interaction) so its weight and main-thread cost are paid only when a user engages.

Estimated saving: ~21.3 KB
Also: Also add preconnect for the moment the facade activates.

Google Fonts — self-host

Fonts on a separate origin adds a DNS+TCP+TLS handshake. Self-host the asset (or, at minimum, add a preconnect) to remove the extra connection and gain caching/versioning control.

Estimated saving: ~150 ms
Also: Used early — preconnect gives an immediate win before self-hosting.

How the impact score works

Impact is a 0–100 weighted blend, normalised against the worst third party on this page:

impact = 100 * ( 0.35*bytes + 0.35*mainThreadEst + 0.15*requests + 0.15*earliness )

See the project README for the full formula and caveats.

Further reading


Generated by third-party-impact-mapper — audit guidance at network-priority.com