GA4 not tracking: how to find what broke and when
When GA4 is not tracking, the cause is nearly always one of five things: the tag is no longer on the page, the GTM container that loads it has changed, the measurement ID points to another property, the consent setup is blocking it, or a data filter is excluding the traffic. Check them in that order. Before fixing anything, find the date the data stopped, because that date usually tells you who changed what.
First, confirm the data really stopped
Standard GA4 reports are not live. Processing can take a day or two, so a flat line for yesterday proves nothing on its own. Open Reports, then Realtime, and load the site in a separate browser. If your visit shows up within a minute or so, collection works and you are looking at processing delay or a reporting problem.
If Realtime stays empty, go to Admin and open the web data stream. When Google has received nothing for 48 hours it shows a warning there that data collection isn't active. Copy the measurement ID from the same screen (it starts with G-).
Finding the day it broke
Open Traffic acquisition under Reports, set the range to the last 90 days and look at the daily line. A clean drop to zero suggests the tag was removed or replaced. A partial drop, where sessions fall sharply but some still arrive, more often points to consent or a filter.
With a date in hand, look at what happened on the site that day. In GTM, the Versions tab shows every published version with its date and the user who published it. In GA4, Property change history (in Admin) lists edits to streams, filters and settings, with the account that made them. And ask the client whether a developer, another agency or a redesign touched the site that week.
The tag is gone from the page
View the source of a few templates (homepage, a post or product page, the contact or checkout page) and search for your measurement ID or gtag/js. If GA4 is loaded through GTM, search for the GTM- container ID instead. Theme updates are a classic cause: a snippet pasted into the header.php of a parent theme is overwritten the moment the theme updates. The WordPress update SEO checklist covers the other things that tend to break in the same update.
The GTM container changed or was never published
The container snippet is on the page but GA4 is silent. Open GTM in Preview mode, which connects Tag Assistant to the site, and check whether the Google tag fires on page view. Typical findings: the tag was paused, its trigger was edited, or someone worked in a workspace and never pressed Submit.
The measurement ID was swapped
Here the tag fires, but the hits go somewhere else. It happens when a developer copies a staging setup to production, or when a new supplier installs its own property. In Tag Assistant, open a hit and compare the tid parameter with the ID from your data stream.
Consent mode, filters and the wrong stream
A new cookie banner, or a change in how the existing one talks to Google consent mode, can stop GA4 entirely. With basic consent mode the tags do not load until the visitor accepts, so if the banner fails to send the consent update, nothing is recorded even after a click on Accept. Accept the banner yourself and watch DebugView, which shows events from browsers in debug mode, including Tag Assistant sessions. Banners change provider more often than people expect; cookie banner monitoring explains what to watch.
Then look at Data filters in Admin. An internal traffic filter set to Active with an IP range that is too wide can remove real visitors. If the property has several streams, check you are reading the one the live site uses.
What Deltio can and cannot tell you
Deltio reads the HTML of the pages it scans and records the GA4 and GTM tags it finds. When a tag disappears, a new one appears or its ID changes, you get an email or Slack alert for that site. It also tracks the cookie consent platform on the homepage and alerts you when it appears, disappears or changes provider.
It does not log into GA4, does not read your data and cannot confirm that hits are received. A tag that is present with the right ID but blocked by consent or excluded by a filter looks fine to Deltio, so Realtime and DebugView remain your tools for that layer. Plans start at £24 a month, with a 14-day free trial.
Frequently asked questions
- Can I recover GA4 data for the days the tag was missing?
- No. GA4 only stores hits it actually received, so days without a working tag stay empty or undercounted. The practical fix is to record the gap and its cause in your client report so nobody compares those dates with a normal period.
- Does GA4 alert me when data stops coming in?
- Not by default. You can create a custom insight in GA4 with a condition, for example daily users dropping sharply, and ask for email notifications. It reacts to processed data, so it will not fire as fast as a check on the page itself.
- What is the difference between Tag Assistant and DebugView?
- Tag Assistant shows which tags fire on the page and what each hit contains, from the browser side. DebugView, inside GA4, shows the events the property received from browsers in debug mode. Using both tells you whether a problem is on the site or inside GA4.
- Why did GA4 numbers fall after a new cookie banner went live?
- Visitors who decline or ignore the banner are no longer measured in the same way, and with basic consent mode they are not measured at all. A fall is expected. A drop to zero usually means the banner is not sending the consent update to Google tags correctly.
- Does Deltio check whether GA4 is receiving data?
- No. Deltio checks the page HTML for GA4 and GTM tags and alerts you when one disappears, appears or changes ID, and it tracks changes to the cookie banner on the homepage. Whether hits reach the property has to be checked in GA4 itself.