AnalyticsVS
Menu

Methodology

How AnalyticsVS sources pricing data, writes comparisons, and records script performance benchmarks.

Editorial independence

AnalyticsVS is an independent comparison site. We are not owned by any analytics vendor. Some links are affiliate links (see our disclosure page), but affiliate relationships do not influence our comparisons or benchmark results.

Tool review methodology

Each tool review declares a review scope — the exact product edition we are evaluating. Vendors often ship related products under one brand (for example, hosted SaaS vs a self-hosted “Lite” edition). We document those as variants so comparisons do not conflate them.

  • Feature checklists and pricing tables reflect the primary product unless a variant is explicitly noted.
  • Self-hosted variants require a dedicated vendor source URL and appear on the tool review page.
  • Build-time checks flag reviews that deny capabilities a documented variant provides.

Comparison methodology

Each "X vs Y" comparison is built from our verified tool reviews. We lead with a direct verdict, assemble side-by-side fit, pricing, setup, and limitations from those reviews, and add comparison-specific FAQ and bottom-line judgment where automation cannot replace editorial context.

  • Both tools in a comparison must have a published review before the page ships.
  • Head-to-head sections align review topics by dimension (privacy, scope, deployment, etc.).
  • Feature data is sourced from vendor documentation and verified manually.
  • Pricing data is checked against vendor pricing pages and dated on each profile.
  • We note when a tool is better for a specific audience rather than declaring universal winners.

Pricing calculator methodology

The pricing calculator uses published vendor tier data stored in our tools directory. Each tool has its own pricing model:

  • Pageview-based (Plausible, Fathom): tier lookup by monthly pageviews.
  • Free tier (GA4, PostHog): free up to published limits.
  • Session-based (Hotjar): estimated from pageviews with stated assumptions.

Calculator results are estimates. Vendor pricing changes, promotional offers, and annual billing discounts are not always reflected. Always confirm on the vendor's website.

Benchmark methodology

Script performance benchmarks are recorded by AnalyticsVS on controlled test pages. We measure page load time, analytics script download time, transfer size, decoded script size, and main-thread blocking under defined network and device conditions.

Fixture: minimal-v1

  • Page: static HTML only — no fonts, images, frameworks, GTM, or consent managers.
  • Install: vendor default eager <script> snippet in <head>.
  • Baseline: identical page with no analytics snippet; published load times show the added cost of the tag.
  • Network: simulated Slow 4G (150 ms RTT, 1.6 Mbps down, 750 Kbps up) via Chromium DevTools — not a real phone on a cell network.
  • Runs: 7 cold navigations per tool plus 7 baseline runs; overhead ranges show min/max across paired runs.
  • Scope: initial page load only (first 5 seconds after load), not SPA navigation or session replay over time.
  • Not measured in v1: Lighthouse performance score impact (we may add this in a future version).

Color bands on published stats

Green / amber / red labels are absolute thresholds derived from our recorded corpus — not relative ranks that reshuffle when a new tool is added. Numbers stay visible; color is a secondary cue.

  • Load overhead: green ≤350 ms · amber ≤800 ms · red >800 ms
  • Transfer size: green ≤10 KiB · amber ≤50 KiB · red >50 KiB
  • Decoded size: green ≤20 KiB · amber ≤150 KiB · red >150 KiB
  • Loading method: green for async/defer/module non-blocking · red for blocking / render-blocking
  • We never publish estimated, scraped, or AI-generated performance numbers.
  • Each published benchmark includes the test date and environment details.
  • Raw JSON run files are stored in the repository under benchmarks/results/ when published.

Updates and corrections

Analytics tools change frequently. Each page shows a "last updated" date. If you find inaccurate information, please reach out so we can correct it.