b2KIT

Website Tracker Detector

Scan page source for known tracking pixels, analytics scripts, and third-party beacons. Identify all trackers on a page.

Tested tool guide Tested browser tools Checked August 16, 2026

What Website Tracker Detector does, with a checked example

Every page that loads a script from a third-party host leaves evidence in its own HTML. This tool reads that evidence: paste the page's source and it lists the known trackers it contains - analytics scripts, advertising pixels, tag managers, and other third-party beacons - each with the line that reveals it. It matches the text you supply against a catalog of tracker script URLs and ID formats. The common mistake: it sees only the pasted source, never what the browser runs, so scripts injected after page load stay invisible to it.

Worked example

A concrete input and expected output from the current implementation.

Input

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Sample store</title>
  <!-- Google tag (gtag.js) -->
  <script async src="https://www.googletagmanager.com/gtag/js?id=G-AB12CD34EF"></script>
  <script>
    window.dataLayer = window.dataLayer || [];
    function gtag(){ dataLayer.push(arguments); }
    gtag('js', new Date());
    gtag('config', 'G-AB12CD34EF');
  </script>
  <!-- Meta Pixel -->
  <script>
    !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
    n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
    n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
    t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
    document,'script','https://connect.facebook.net/en_US/fbevents.js');
    fbq('init', '123456789012345');
    fbq('track', 'PageView');
  </script>
</head>
<body>
  <h1>Sample store</h1>
</body>
</html>

Expected output

2 trackers detected

1. Google Analytics 4 (gtag.js)
   Evidence: https://www.googletagmanager.com/gtag/js?id=G-AB12CD34EF
   Measurement ID: G-AB12CD34EF

2. Meta Pixel (fbevents.js)
   Evidence: https://connect.facebook.net/en_US/fbevents.js
   Pixel ID: 123456789012345

Both trackers are identified through their canonical script URLs, which appear verbatim in the pasted source, and the IDs are read from those same lines, so the result follows directly from the input. The snippet contains no other known tracker signature, so the count stops at two.

How the result is produced

1

How a tracker is recognized

The tool holds a catalog of signature strings for widely used trackers: the script hosts they load from (such as googletagmanager.com and connect.facebook.net), their tag and ID formats (G-, GTM-, and UA- prefixed IDs, numeric pixel IDs), and known beacon URLs. It searches the pasted source for those strings, names the tracker on a match, and quotes the surrounding snippet as evidence.

2

Scope of the scan

The scan examines only the text you paste. It does not open the page, run scripts, or make network requests, so anything a page injects at runtime - consent-platform tags, tag-manager containers, click-time beacons - cannot appear in the results. The matching happens locally in your browser; the pasted source is not uploaded. Paste the complete HTML, not rendered text, for a meaningful result.

Good uses

  • Checking a free theme, template, or widget for bundled analytics before putting it on a client site - templates are a common hiding place for silent trackers.
  • Documenting which third-party vendors a page communicates with, as input for a privacy review, a consent banner, or a vendor list.
  • Verifying a tracker removal: after stripping an analytics tag, confirm no leftovers survive in comments, dataLayer code, or hardcoded beacon URLs.

Limits and checks

  • A clean result is not proof of no tracking: runtime-injected scripts, tag-manager containers, and click-time beacons never appear in static source, and the page can still transmit data after loading.
  • A hit means the signature text is present, not that the tracker runs: commented-out tags, stub scripts, and abandoned code still match, so confirm each hit in the quoted evidence.
  • The catalog cannot be exhaustive: obfuscated, self-hosted, or bespoke analytics will not match known signatures, and a hit or miss here is not a consent or legality verdict.

Common questions

The scan found nothing, but my browser still shows tracking cookies for this page. Why?

The tool reads only the text you pasted. Many trackers load after the page renders - injected by scripts, a tag manager, or a consent platform - so they exist in the browser but not in a source snapshot. The matching cookies can also have been set by a different site you visited. To get closer, paste the fully rendered source of the exact URL.

Does a list of no trackers mean the page is privacy-compliant?

No. Compliance depends on what actually executes in a visitor's browser, on consent status, and on the law that applies; a static source scan can neither run the page nor weigh those obligations. Treat the result as a starting inventory for a proper review, not as a verdict.

References and verification

The example and behavioral notes were checked against the browser implementation. Standards and primary references below define the relevant format, formula, or platform behavior.

Related Tools