free · no signup

GA4 tag checker

Is your GA4 tag working? Check if gtag.js is installed, loaded once and not doubled by GTM, then confirm data with DebugView and Tag Assistant.

Scans the page's HTML in seconds. It also reports every other tracking script it finds.

about Google Analytics 4

Why it breaks quietly.

GA4 runs on the Google tag, gtag.js, configured with a G- measurement ID. It sends page_view and other events to your GA4 property, which feeds reports, audiences and Google Ads imports.

Most GA4 problems are invisible from the front end. The tag can load perfectly and still send data to the wrong property, miss page views on a single-page app, or count every page twice, and GA4 will happily report whatever it receives.

what the free scan checks

✓

Whether Google Analytics 4 is in the page

The scan fetches the page's HTML and matches the vendor's script URL and install snippet.

✓

Whether it blocks rendering

A script tag without async or defer delays the page from painting. Marketing scripts never need to.

✓

Whether it's installed more than once

Duplicate installs usually send every event twice and inflate conversions.

✓

Whether GTM and hardcoded tags overlap

Google Tag Manager next to a hardcoded GA4 or Meta Pixel is a double-counting risk if the same tag also fires inside GTM.

✓

How exposed the page is to blockers

A server-side readiness grade: whether tags load from domains blocklists target, and whether conversions have a server-side path.

It reads the HTML, so tags injected later (inside GTM, for example) don't show up, and it can't see events fire. That's what verification is for.

common failures

How Google Analytics 4 goes dark.

✗

The measurement ID points at the wrong property

A staging ID, an old property or a copy-pasted ID from another site ends up in production. Data flows, just not into the property anyone is looking at.

✗

Single-page apps miss or double page views

On client-side routing, page_view depends on enhanced measurement's browser history setting or a manual call. With neither you get one page view per session; with both you get two per route change.

✗

gtag.js hardcoded and fired again in GTM

The site has a hardcoded gtag snippet and a Google tag inside Google Tag Manager using the same ID. Sessions, page views and conversions all inflate.

✗

Payment pages steal the session

Visitors who leave for Stripe, PayPal or another checkout domain come back as a new referral. Unless those domains are listed as unwanted referrals, purchases are credited to the payment provider.

✗

Consent mode withholds data

With consent mode set to denied by default, GA4 receives cookieless pings instead of full events until the visitor accepts. If the banner never updates consent, reports stay thin.

by hand

Check it yourself, step by step.

  1. 1

    Open Google Tag Assistant (tagassistant.google.com), connect your site and confirm the Google tag loads once with the G- ID you expect.

  2. 2

    With Tag Assistant connected, open Admin, then DebugView in GA4 and click through the site. Each page_view and key event should appear once.

  3. 3

    Check the Realtime report while browsing in another window to confirm the property receiving data is the one you report from.

  4. 4

    On a single-page app, navigate between routes and watch DebugView for exactly one page_view per route change.

  5. 5

    In the Google tag settings, review the unwanted referrals list and add any payment or login domains your users pass through.

questions

Asked and answered.

Can this check tell me if GA4 events are firing?+

No. It scans the served HTML, so it can confirm gtag.js is on the page, flag a render-blocking or duplicated load, and warn when it sits alongside GTM. It cannot see a GA4 tag that GTM injects at runtime, or whether events reach your property. TracerKit's Verification tier watches real fires and alerts when a tag goes silent.

Why does GA4 show no data even though the tag is installed?+

Check the measurement ID first, then consent mode, then data filters such as internal traffic exclusions. Standard reports can also lag, so use Realtime or DebugView to test.

Should GA4 be in GTM or hardcoded?+

Either works. What breaks things is doing both with the same measurement ID, which sends every event twice.

check other tags

Know Google Analytics 4 is firing, every hour of every day.

Verification watches each tag on real traffic and emails you the moment one goes silent. 14-day trial, no card.