Fix GA4 Not Tracking Pageviews (Step-by-Step Guide)

If your GA4 is not tracking pageviews, you’re not alone. Many website owners and SEO professionals encounter this frustrating issue. Pageview data is essential for measuring traffic, user behavior, and marketing effectiveness. When it’s missing, you lose visibility into your website’s performance.

This guide explains the most common reasons why Google Analytics 4 (GA4) may not be recording pageviews, and provides step-by-step solutions to troubleshoot and fix the problem—whether you’re using GTM (Google Tag Manager) or a manual GA4 installation.

Understanding GA4 Pageview Tracking

What is the GA4 page_view event?

In GA4, the page_view event is automatically collected if you use the Enhanced Measurement feature or implement the tag manually via GTM. It captures when a user loads a page on your site.

Why is GA4 not recording pageviews?

There are multiple reasons why you may experience GA4 not recording pageviews, including:

  • Tag misconfiguration in GTM
  • send_page_view: false parameter blocking auto-collection
  • Enhanced Measurement disabled
  • JavaScript errors or conflicts
  • Incomplete GA4 installation
  • Filters or data stream issues

Check If GA4 Tag Is Properly Installed

Use Google Tag Assistant or GA Debugger

Verify your GA4 setup with tools like:

Look for:

  • page_view events being fired
  • Correct Measurement ID (starts with G-)
  • No red errors or warnings in console

Check the Source Code

Ensure that your GA4 script is present:

<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'G-XXXXXXX'); // Make sure this is present
</script>Code language: HTML, XML (xml)

If you see send_page_view: false, then GA4 will not send pageview automatically:

gtag('config', 'G-XXXXXXX', { 'send_page_view': false });Code language: JavaScript (javascript)

In that case, you must fire the pageview manually:

gtag('event', 'page_view');Code language: JavaScript (javascript)

Use DebugView to Confirm Events in Real Time

Access DebugView

In your GA4 property:

  • Go to Admin → DebugView
  • Or navigate: Configure → DebugView

Open your site in debug mode (using GA Debugger or Preview mode in GTM), and look for:

  • page_view event showing up in the real-time stream
  • Consistent flow of events from different pages

If DebugView shows no pageview, your tag may not be firing at all.

Inspect GA4 Configuration in Google Tag Manager (GTM)

Ensure Pageview Tag Exists and Triggers Properly

  • Navigate to Tags in GTM
  • Look for a GA4 Configuration Tag and ensure it’s set to trigger on All Pages
  • Open the tag and verify Measurement ID
  • Make sure it is not paused or has conditional triggers

Also ensure you don’t have a separate GA4 Event Tag for page_view unless send_page_view: false is explicitly used.

Trigger Issues?

  • Check the Triggers section
  • Use Preview Mode in GTM to see whether the tag is firing
  • Confirm there are no conditions preventing it from running

Verify Enhanced Measurement Settings in GA4

How to Enable Enhanced Measurement

  • Go to Admin → Data Streams → Web
  • Click on your active stream
  • Under Enhanced Measurement, ensure Page views is toggled on

If Enhanced Measurement is disabled, and you’re not firing page_view manually, your GA4 will not track pageviews.

Review GA4 Filters and Data Stream Settings

Double-check Stream Settings

  • Confirm the correct Measurement ID is being used
  • Ensure that no unwanted filters are blocking traffic (e.g., internal IPs, bots)
  • Use a test IP or incognito mode to validate external data is being received

Watch Out for JavaScript or Theme Conflicts

Common JS Conflicts

  • JavaScript errors can prevent GA4 from loading or running scripts
  • Use browser DevTools Console (F12) to check for errors
Uncaught ReferenceError: gtag is not definedCode language: JavaScript (javascript)
  • Minification or theme-related JS blocking can interfere

Try switching to a default theme (like Twenty Twenty-Four) temporarily to test.

Manually Send Pageviews (If Needed)

If using send_page_view: false or a single-page app (SPA), manually fire pageviews:

gtag('event', 'page_view', {
  page_title: document.title,
  page_location: window.location.href,
  page_path: window.location.pathname
});Code language: JavaScript (javascript)

In GTM:

  • Create a GA4 Event Tag
  • Set event name = page_view
  • Set parameters if needed (optional)
  • Trigger it on relevant page views or history changes

Check for Consent Mode or Cookie Issues

  • If you’re using Consent Mode, GA4 may delay or block tracking until consent is granted
  • Ensure user gives appropriate tracking permissions for analytics_storage: granted
  • Use Tag Assistant or DevTools to check cookie permissions and response

Use Real-Time and Standard Reports to Confirm Tracking

  • Navigate to Reports → Realtime
  • View Users by Page Title and Screen Class to confirm pageview hits
  • Also check Engagement → Pages and Screens to validate historical pageview tracking

If GA4 real-time is not tracking pageviews, verify the tag is firing and no filters are blocking events.

Still Not Tracking Pageviews? Try These Final Fixes

  • Clear browser and server cache
  • Re-publish GTM container
  • Double-check domain settings or cross-domain tracking
  • Verify no ad blockers or extensions are interfering
  • Remove redundant analytics tags (avoid using both GA4 + Universal Analytics incorrectly)

Conclusion

When GA4 is not tracking pageviews, it often comes down to simple misconfigurations like disabled Enhanced Measurement, missing tags, or improper triggers in GTM. By following the steps above, you can systematically identify the root cause and restore accurate tracking.

Correct pageview tracking is vital for SEO performance, conversion analysis, and marketing insights. Always test your setup using DebugView, Tag Assistant, and GTM Preview to ensure events are firing properly.

FAQ: GA4 Pageview Troubleshooting

Why is my GA4 not showing pageviews in reports?

Common causes include disabled Enhanced Measurement, misconfigured tags, or JavaScript conflicts.

Is send_page_view: false preventing auto pageviews?

Yes. You’ll need to send the page_view event manually using gtag(‘event’, ‘page_view’).

Do I need a separate tag for pageviews in GTM?

Only if you set send_page_view: false or use a single-page application (SPA).

What if DebugView shows no activity?

The tag may not be firing, or filters/cookie consent may be blocking data.

How can I confirm the pageview event is working?

Use GA Debugger, GTM Preview, or real-time GA4 reports.

Leave a Reply

Your email address will not be published. Required fields are marked *