How we measure script weight
Where do the script sizes come from?
Sizes are the compressed (gzip) transfer sizes of each tool's tracking script, measured directly from their CDNs. Gzip size is what your visitors' browsers actually download — it's the number that affects load time. Uncompressed sizes are typically 3–4× larger.
Why does script size affect Core Web Vitals?
Even async analytics scripts must be downloaded and parsed by the browser. Large scripts compete for bandwidth with your HTML, CSS, and images — delaying First Contentful Paint and Largest Contentful Paint. Scripts also require JavaScript execution time, which contributes to Total Blocking Time (TBT), a factor in Interaction to Next Paint (INP).
Is load time the only factor?
No — but it's the most consistent one. Some tools also make multiple network requests (beacons, config calls, A/B test payloads) that compound the initial script size. This calculator measures the primary script only. GA4's gtag.js also triggers additional requests to Google's servers that add latency on top of the initial download.
Are these exact figures?
They're representative of typical hosted versions. Self-hosted Matomo, Umami, and Plausible installs may differ. Script sizes can change with vendor updates — we verify these quarterly.