Google Analytics 4 Not Showing Data on Your WordPress Site? How to Find and Fix It
Google Analytics not tracking your WordPress site? Check the tag, measurement ID, consent banner, caching and filters to find why GA4 shows no data.

On this page
- Google Analytics not tracking WordPress: quick diagnosis
- Step 1: confirm the tag is on the page
- Step 2: check how the tag was added
- Step 3: consent banners and cookie plugins
- Step 4: caching, minification and script delays
- Step 5: test with Realtime and DebugView
- Step 6: filters, ad blockers and expected gaps
- Step 7: track enquiries, not just visits
- A simple tracking checklist after any site change
- Getting help with tracking
- Quick check: is the tag on the page and sending data?
- When to get help
- FAQs
- First confirm whether the GA4 tag is on the page at all: view the source or use Tag Assistant, and check the measurement ID matches your GA4 data stream.
- Duplicate tags, consent banners, caching or minification plugins, ad blockers and internal traffic filters are the usual reasons data is missing or wrong.
- Use Realtime and DebugView to test changes immediately, because standard GA4 reports can take a day or more to fill in.
If Google Analytics is not tracking your WordPress site, check three things first: that the GA4 tag is actually in the page source, that the measurement ID (it starts with G-) matches the data stream in your GA4 property, and that you are looking at the Realtime report rather than standard reports, which can take 24 to 48 hours to fill. Most "GA4 shows no data" problems are a missing or wrong tag, a consent banner blocking it, or a caching plugin serving an old version of the page.
Below is a step-by-step way to find the cause, with the WordPress-specific traps that catch most site owners. If you are setting up from scratch, start with how to set up Google Analytics 4 and Search Console and come back here if numbers don't appear.
Google Analytics not tracking WordPress: quick diagnosis
| Symptom | Likely cause | Where to check |
|---|---|---|
| No data at all, even in Realtime | Tag missing, wrong measurement ID, or blocked | Page source, Tag Assistant |
| Realtime works, reports empty | Normal processing delay or a new property | Wait 24 to 48 hours |
| Double pageviews, very low bounce | Tag added twice (plugin and theme, or GTM and plugin) | Search source for "G-" and "gtag" |
| Data dropped suddenly | New consent banner, plugin update, theme change, cache | Change history on the site |
| Your own visits missing | Internal traffic filter or ad blocker | Admin, Data filters |
| Form leads not recorded | Key events not set up or form uses AJAX | Events report, DebugView |
Step 1: confirm the tag is on the page
Open your site in a private window (logged out of WordPress), right-click and choose View Page Source, then search for your measurement ID, such as G-XXXXXXX. You should find it inside a gtag.js script or inside a Google Tag Manager container (GTM-XXXXXX).
- Not found at all: the tag isn't installed, or it is only output for some pages or user roles. Some plugins skip tracking for logged-in admins by default, which is why you must test logged out.
- Found, but a different ID: an old Universal Analytics ID (UA-) or a measurement ID from another property. Replace it with the one shown in GA4 under Admin, Data streams.
- Found twice: remove one source. Two copies inflate pageviews and break engagement figures.
Google's Tag Assistant (tagassistant.google.com) lets you connect to your site and see which tags fire on each page, which is clearer than reading source code.
Step 2: check how the tag was added
On WordPress the tag usually comes from one of four places, and knowing which one helps avoid duplicates:
- Site Kit by Google, which connects your Google account and inserts the tag for you.
- An analytics or SEO plugin with a field for the measurement ID.
- Google Tag Manager, where the GA4 tag lives inside the container. See Google Tag Manager basics.
- Code pasted into the theme header, a header-and-footer plugin or a page builder setting.
Pick one method and remove the others. Code pasted into a theme file is the most fragile option: it disappears when the theme updates or is switched, which is a very common reason tracking stops without warning.
Step 3: consent banners and cookie plugins
If you added a cookie consent banner, it may be blocking GA4 until a visitor clicks Accept. That is the intended behaviour for some setups, but a misconfigured banner can block analytics for everyone, including people who accept. Test by accepting cookies in a private window and watching Realtime.
With Google Consent Mode, tags can load in a limited way before consent and send fuller data after it, so some data appears as modelled or reduced. Whether you need consent before analytics depends on your audience and current law; privacy policy and cookie consent for Indian websites covers the basics, and a lawyer can advise on your specific case.
Step 4: caching, minification and script delays
Speed plugins are a frequent hidden cause. Three things to check:
- Stale cache. If you added the tag after pages were cached, visitors still get the old HTML. Clear the plugin cache, server cache and any CDN cache.
- Delayed JavaScript. "Delay JavaScript until interaction" settings hold back scripts until someone scrolls or clicks. Visitors who leave immediately are never counted. Exclude gtag or the GTM script from delay, or accept a small undercount.
- Combining or minifying scripts can break the inline gtag configuration. Exclude it from combination if events stop after enabling optimisation.
WordPress caching explained describes the different cache layers if you are not sure which ones your site uses.
Step 5: test with Realtime and DebugView
Standard GA4 reports are processed in batches and can lag, so don't judge a fix by them. Use:
- Realtime report: visit your site from your phone on mobile data and you should appear within a minute or so.
- DebugView (Admin, DebugView): turn on preview in Tag Assistant or GTM, and every event from your test session appears with its parameters.
If you appear in DebugView but never in Realtime, check for a data filter excluding internal or developer traffic.
Step 6: filters, ad blockers and expected gaps
GA4 never records every visitor. Ad blockers and privacy browsers block Google Analytics, and visitors who decline cookies may not be counted. Your own visits are also often excluded by an internal traffic filter you or a previous developer set up. Check Admin, Data settings, Data filters; a filter set to Active removes matching data permanently, so test new filters in Testing mode first.
Comparing GA4 with Search Console clicks or your server logs will always show differences. That is normal: they measure different things in different ways. What matters is a stable method you can compare month to month, as covered in website analytics metrics that matter.
Step 7: track enquiries, not just visits
Many owners say "analytics isn't working" when pageviews are fine but enquiries aren't recorded. Form submissions, WhatsApp clicks and phone taps need to be set up as events and marked as key events. Forms that submit without reloading the page often need a specific trigger or a redirect to a thank-you page that you can track. GA4 events explained walks through which events to create and how to mark them.
If you run Google Ads, linking Ads to GA4 or adding the Ads conversion tag means you can see which campaigns produce enquiries, which matters far more than raw traffic.
A simple tracking checklist after any site change
Tracking often breaks quietly during redesigns, theme changes, migrations and plugin updates. After any of these, spend five minutes checking:
- The measurement ID appears once in the page source on the home page, a service page and a blog post.
- Realtime shows your test visit from a phone.
- A test form submission appears as a key event in DebugView.
- The consent banner still allows tags after Accept.
- Cache has been cleared everywhere.
If you are moving to a new host or design, include analytics in the launch checklist so a month of data isn't lost.
Getting help with tracking
If the tag is present and Realtime still shows nothing, the cause is usually a conflict between a consent tool, GTM and a speed plugin that takes some patience to untangle. Analytics setup, key events for forms and calls, and a check that numbers are trustworthy can be done as part of WordPress SEO services, or as a one-off fix if you hire a WordPress developer in India.
Quick check: is the tag on the page and sending data?
- Open your homepage, view the source (Ctrl+U) and search for your Measurement ID, which starts with
G-. It should appear once, not twice. - In GA4, open Reports > Realtime, then visit your site from a phone on mobile data. You should appear within a minute.
- If you do not, check your cookie banner: if analytics only loads after consent, accept the banner and test again.
Before spending more on ads, finish your Google Ads conversion tracking setup so every enquiry is counted.
When to get help
Get help when the tag appears twice, when enquiries or WhatsApp clicks are not recorded as events, or when the numbers do not match orders. WordPress SEO services includes GA4 and Search Console setup with key events for leads. You can also send the details through the contact form.
FAQs
Why is Google Analytics not tracking my WordPress site?
Most often the GA4 tag is missing, uses the wrong measurement ID, is added twice, is blocked by a consent banner, or is hidden behind a cached or delayed version of the page. Check the page source logged out and test in Realtime.
How long does GA4 take to show data?
Realtime and DebugView show activity within moments. Standard reports usually take up to 24 to 48 hours, and a brand new property can look empty for the first day.
Why does GA4 show fewer visitors than Search Console or my hosting stats?
They measure differently. Ad blockers, declined consent and visitors who leave before scripts load are missing from GA4, while hosting stats count bots too. Compare trends, not exact totals.
Do I need Site Kit to use Google Analytics on WordPress?
No. Site Kit is convenient, but you can use Google Tag Manager or another plugin instead. The important thing is to use one method so the tag isn't loaded twice.
How do I track contact form submissions in GA4?
Create an event for the submission, either from a thank-you page view or a form-specific trigger in Tag Manager, and mark it as a key event in GA4. Test it in DebugView before relying on it.
Need help with your website?
I'm a freelance WordPress developer building fast, SEO-friendly websites since 2020. Tell me what you need and I'll reply with a plan and a fixed quote, usually within 24 hours.


