GA4 Tracking Works on Some Pages but Not Others: How to Find Coverage Gaps
When GA4 tracking works on some pages but not others, the tag is not installed or not firing on every page template. Coverage gaps mean some visits are never counted, which skews your data. Build a page coverage audit to find which pages are missing the tag and why.
Table of Contents
- 01.Coverage gaps skew the data
- 02.What to check first
- 03.GTM container coverage and hardcoded tags
- 04.Website templates and landing pages
- 05.Subdomains and single-page applications
- 06.Consent, measurement IDs and pageview tracking
- 07.How to run a page coverage audit
Coverage gaps skew the data
If the GA4 tag fires on some pages but not others, the pages without the tag contribute no sessions or events. This undercounts your traffic and can make specific pages or sections look unused when they are simply untracked. Coverage gaps often come from page templates, landing pages, subdomains or single-page application routes that the tag setup does not cover.
| Page type | Why the tag is missing | What to check |
|---|---|---|
| Landing pages | Separate template or tool | Tag present on landing page |
| Subdomains | Different setup or no tag | Tag fires on subdomains |
| CMS templates | Tag only on some templates | All templates include the tag |
| Single-page app routes | No page load on route change | History change trigger |
| Checkout or thank-you pages | Different domain or template | Tag on confirmation pages |
What to check first
- List the page types on your site, including landing pages and subdomains.
- Check whether the GA4 tag fires on each page type in GTM preview.
- Confirm the tag is in the site template that all pages share.
- Check single-page application routes for a history change trigger.
- Confirm the measurement ID is the same across all pages.
GTM container coverage and hardcoded tags
If you use GTM, the container has to be present on every page. If the container snippet is only in some templates, pages without it have no tags at all. If you use a hardcoded Google tag, confirm it is in the shared template, not just the home page. A tag present only on the main template but missing from a separately templated landing page is a common coverage gap.
Website templates and landing pages
Landing pages are a frequent source of gaps because they often use a different template or a separate tool. A landing page built in a different system may not include the GTM container or the Google tag. Check every landing page type and confirm the tag fires on each. The same applies to any page that uses a custom template outside your main site structure.
Subdomains and single-page applications
Subdomains can have a different setup. If the subdomain uses a different template or a different tag configuration, the tag may not fire there. Single-page applications do not load a new page on route changes, so a page view trigger that fires on page load misses subsequent routes. A history change trigger is needed to track route changes. Confirm the tag fires on subdomains and on route changes in single-page applications.
Consent, measurement IDs and pageview tracking
Consent can create apparent coverage gaps if it gates the tag on some pages but not others. Confirm the consent condition is consistent across pages. The measurement ID should be the same on every page, otherwise some pages send to a different property. Finally, confirm the pageview tracking fires on every page, because a missing pageview means the session is not counted even if other events fire later. The broader firing problem is covered in the guide on GA4 GTM tags not firing.
How to run a page coverage audit
- 1.List every page type, template, subdomain and landing page.
- 2.Open each in GTM preview and confirm the pageview tag fires.
- 3.For single-page applications, confirm a history change trigger fires on routes.
- 4.Confirm the measurement ID is consistent across all pages.
- 5.Fix the earliest gap first, then re-test every page type.
Frequently Asked Questions
Why does GA4 track my home page but not my landing pages?
Landing pages often use a different template or tool that does not include the GTM container or Google tag. Check every landing page type and confirm the tag fires on each in GTM preview.
Why does my single-page application undercount page views in GA4?
Single-page applications do not load a new page on route changes, so a page load trigger misses subsequent routes. Use a history change trigger to fire the pageview on route changes.
Need help applying this to your business?

PPC, Conversion Tracking, CRM and Automation Specialist. Helping businesses generate qualified leads with Google Ads, accurate tracking and automated follow-up.
Related Guides
GA4 GTM Tags Not Firing: Trigger, Consent and Configuration Problems
A tag that does not fire has nothing to send. Use GTM preview to see whether it is fired, not fired or skipped. The status tells you whether to fix the trigger, the consent condition or the container version.
GA4 Events Not Showing: What to Check Before Rebuilding Your Tracking
A missing GA4 event usually has a specific cause in the flow from user action to reporting. Diagnose the flow before you rebuild anything, because most missing events come from a single point of failure.
GA4 Sessions Dropped After a Tracking Change: What to Check
Separate actual traffic decline from measurement decline before you fix anything. A real decline is a marketing problem. A measurement decline is a tracking problem. Check other data sources to tell them apart.