Analytics & Growth

Common GA4 and GTM Tracking Mistakes

Why tag presence, container installation and actual conversion measurement are different kinds of evidence.

GA4GTMConsentConversionsDiagnostics

Finding a GTM container or GA4 measurement ID in page source is useful evidence. It is not proof that the intended event fired, reached the right property or became a conversion.

Reliable tracking separates installation evidence, runtime behavior and platform-side reporting instead of treating them as one check.

01

Mistake 01

GTM installed does not mean GA4 is configured.

Google Tag Manager is a container and delivery mechanism. GA4 is an analytics destination with its own measurement IDs, events and property configuration.

A page can expose a GTM container while the GA4 tag is missing, blocked, misconfigured or only loaded after consent. Presence checks should report the two signals separately.

Tracking verification layers
  1. 01Page action
  2. 02Data layer / code
  3. 03GTM or direct tag
  4. 04GA4 / ad platform
  5. 05Conversion reporting
02

Mistake 02

Duplicate and multiple IDs need attention.

The same identifier can be installed more than once through a template, plugin and container. Multiple different IDs may also be intentional, but they require explanation.

A useful diagnostic reports the observed IDs, method and occurrence count. It should not assume every multiple-ID setup is wrong or every single-ID setup is correct.

  • List each observed platform and identifier.
  • Record whether it appeared directly, through a container or through another source pattern.
  • Investigate repeated instances of the same identifier.
  • Confirm multiple properties or ad accounts are intentional.
03

Mistake 03

Tag presence does not prove event firing.

Static HTML can reveal scripts, IDs, consent tooling and conversion opportunities such as forms or WhatsApp links. It cannot prove a runtime event fired after interaction.

The next verification layer is a real browser session: perform the action, inspect the data layer or network request, then confirm the event appears in the intended analytics or advertising destination.

PII-free event shapejavascript
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
  event: "lead_form_submit",
  form_id: "project_intake",
  page_path: window.location.pathname
});
04

Mistake 04

A consent platform may prevent analytics or advertising tags from loading until the visitor grants the relevant category. A source-only check can therefore see consent tooling and no GA4 signal at the same time.

That should be reported as a limitation and a verification path—not as a definitive claim that analytics is missing.

What each verification layer can establish
LayerWhat it can establish
Static sourceScripts, IDs, consent signals and visible conversion elements
Browser debugRuntime loading, data-layer events and network requests
Analytics debug viewArrival in the intended property and event parameters
Reporting/configurationConversion designation, attribution and usable reporting
05

Practical QA

Verify the conversion, not just the container.

  • Confirm the intended GA4 property and GTM container identifiers.
  • Check for duplicates and unexplained multiple IDs.
  • Test both pre-consent and post-consent behavior where applicable.
  • Perform the real form, phone, WhatsApp or outbound-link action.
  • Inspect the data layer and request in a browser debugging session.
  • Confirm the event reaches the correct destination and is marked appropriately for reporting.
  • Repeat the check after production deployment or material template changes.
Progressive disclosureTechnical Notes

Static checker boundary

The public GA4/GTM checker reads one bounded public HTML response. Runtime-only and consent-delayed behavior may not appear.

Conversion opportunities

Finding a form, telephone, WhatsApp, email or outbound link identifies something worth verifying; it does not prove an event exists for it.

Evidence over assumption

Report the ID, method, occurrence and observed source fragment where safe, then tell the user which runtime check remains.

From note to action

Continue through the system.

Keep reading

Related practical notes.

Apply the note

Working on a similar problem?

Bring the current system, failure point or desired outcome. We can scope the architecture, implementation and verification path.

Start a Project Try the Related Tool