Critical Tracking & Analytics
GA4 sent by page code and by GTM
- Severity
- Critical
- Impact
- High
- Effort to fix
- Low
- Issue code
track_ga4_double
Why it matters
The same GA4 ID is hard-coded in the page and also sent by the GTM container, so page views and events are usually counted twice.
How to fix it
Keep GA4 in one place, ideally GTM: remove the hard-coded gtag.js config for that ID.
What this means
The page sends to the same GA4 measurement ID in two ways: hard-coded in the page, and through a Google Tag Manager container that also contains a GA4 tag for that ID. The evidence shows the ID and the container, for example G-ABC123 is hard-coded and also sent by GTM-XYZ.
SiteAud!tLint reads the GTM container itself to know which GA4 IDs it sends to.
Why it matters
Every event can be counted twice: page views, sessions, scrolls and conversions. This is one of the most common causes of inflated analytics numbers, and it usually goes unnoticed because the data still looks plausible.
Common causes
- GA4 was added to GTM, but the old
gtag.jssnippet was never removed from the theme. - A plugin or platform integration (Shopify, WooCommerce, Wix, Squarespace) installs GA4 while GTM also sends it.
- A developer added GA4 directly to a template "to be safe".
How to fix it
- Choose one place for GA4. GTM is usually best: it keeps every tag in one container, with consent settings and triggers you can see.
- Remove the hard-coded
gtag.jssnippet or disable the plugin's GA4 setting. - Keep the GTM GA4 tag, and check its triggers fire once per page.
Verify the fix
Recrawl. With Render JavaScript on in Crawl settings, also check Page view sent twice on one page load. See Google Tag Manager audit.
How it affects your score
Tracking issues have their own Tracking score and never lower the SEO site health score. They still appear in the Action Plan, the issues CSV, Slack messages and Linear tickets. Blocks indexing, breaks pages or loses traffic. Fix these first.
Find the affected URLs
Open Crawl > Issues and pick GA4 sent by page code and by GTM. Each affected URL is listed with its evidence, and Copy URLs or Export URLs hands the list to a developer. The issue also appears in the Action Plan, ranked by impact (high) and effort (low), and in the issues CSV under the code track_ga4_double. After fixing, run a new audit and use Compare to confirm the URLs moved to fixed.
Guides that cover this issue
Related Tracking & Analytics issues
- CriticalGTM container not published or wrong ID
- CriticalPage view sent twice on one page load
- CriticalPersonal data or tokens in URL
- CriticalPixel initialised twice on the page
- CriticalTag loaded twice on the page
- CriticalTracking before consent
- WarningAnalytics tag missing on this page
- WarningDifferent GA4 ID than the rest of the site