Why did my traffic drop last week? A GA4 diagnosis checklist

An ordered GA4 checklist for a week-over-week traffic drop: rule out data problems first, then find the channel, the landing page and the device that moved.

· Updated · 7 min read

When GA4 sessions fall week over week, check the data before you check the marketing. Most Monday morning “drops” are a broken tag, an unfinished day of processing or a bad comparison period, and you can rule those out in ten minutes. Only then go channel by channel, then landing pages, then devices, until one row explains most of the gap.

Here is the order we use, with the exact GA4 menu paths.

Step 1: Is the drop in the data or in the traffic?

Run these five checks first. If one of them fires, stop: you have a tracking story, not a traffic story.

1. Is the tag still sending data?

Open Reports > Realtime and visit the site yourself. If you do not show up within a minute or two, the tag is not firing on that page.

Then check the tag’s health. In Admin, under Data collection and modification, open Data streams, pick the web stream and open the Google tag settings. The View diagnostics link under “Tag quality” shows alerts such as “Tag has stopped sending data”, which Google raises when a tag that used to send data has sent nothing for 48 hours (Google’s documentation).

A drop that starts on one exact day, often the day of a site deploy, a new theme or a Tag Manager publish, is almost always a tag problem.

If the site uses consent mode, users who decline cookies are either modeled or not counted. Google only includes modeled data when it has enough consented traffic to train the model with confidence (Google’s documentation). A new banner design, a new consent tool or a default switched from “granted” to “denied” can cut reported sessions overnight while real visits stay flat. Ask the client’s developer whether anything about the banner shipped that week.

3. Is the last day still processing?

Google states that GA4 data processing can take 24 to 48 hours, and that reports may change during that window (Google’s documentation). On a Monday morning, Sunday can look low simply because it is not finished. Rerun the comparison on Tuesday, or compare weeks that ended two days ago.

4. Did someone add a data filter?

Go to Admin > Data collection and modification > Data filters. An active filter permanently excludes the matching data from the moment it is created, and does not touch history (Google’s documentation). A new internal traffic filter with a broad IP range, or a developer filter switched to Active, produces exactly the kind of clean step down that looks like lost traffic.

To see who changed what, open Admin > Property change history. It lists each change, when it happened and which user made it, for the last two years (Google’s documentation).

5. Are you comparing the right periods?

In any report, open the date picker, turn on Compare and choose Previous period (match day of week) (Google’s documentation).

For a full Monday to Sunday week, the plain previous period already lines up the weekdays. The traps are elsewhere:

  • Partial weeks. “This week so far” against a full week always looks like a drop.
  • Holidays. A public holiday in either week distorts the comparison. Check both weeks against the client’s local calendar.
  • An unusual base week. If the previous week had a launch, a newsletter or a viral post, this week is not down. Last week was up.

Step 2: Which channel lost the sessions?

Open Reports > Acquisition > Traffic acquisition with the comparison on. The default dimension is the session default channel group (Google’s documentation). Read the session change per channel and find the one or two rows that account for most of the gap. Then follow the matching branch below.

Confirm the drop in Google Search Console, under Performance > Search results, for the same two weeks. Search Console counts clicks from Google directly, so if clicks are stable there and GA4 is down, go back to step 1. Note that the newest Search Console data can be preliminary and change over the next few hours (Google’s documentation).

If clicks really fell, check the Google Search Status Dashboard for a ranking update in the window. As of early October 2026, it lists the September 2026 spam update, which started on 24 September. Then filter Search Console by page to see whether the loss is site wide (an update, an indexing issue) or concentrated on a few URLs (lost rankings, a page removed or redirected).

Look in the ad platform before you look in GA4. The usual causes are dull: a budget ran out, a card failed, a campaign was paused or an ad was disapproved. If ad clicks are stable but GA4 paid sessions fell, check that Google Ads auto-tagging is still on and that UTM parameters survived the latest landing page change. A matching rise in another channel, often Unassigned or Direct, is the sign that sessions were reattributed rather than lost.

Referral

Switch the dimension to Session source and compare the top referrers. A partner that removed a link, a directory listing that expired, or a press mention that peaked last week will show up as one source with a large gap.

Direct

Direct traffic is where unexplained sessions land, so a drop here needs one extra question: was last week inflated? A burst of direct sessions from a single country or a single page the previous week, which then stops, reads as a drop this week. Break Direct down by country and landing page before blaming anything else.

Email

Switch the dimension to Session campaign. Newsletter traffic arrives in spikes on send days, so a week without a send against a week with one will always look like a drop. Ask whether the client’s email calendar changed.

Step 3: Which landing page?

Open Reports > Engagement > Landing page with the same comparison (Google’s documentation). Compare the top ten pages in both weeks.

  • One page lost most of the gap: check it is still live, still indexed, still linked from the navigation, and not redirected.
  • Every page fell by a similar share: the cause sits upstream, in tracking, a channel or seasonality.
  • The homepage alone fell: often branded search or direct, which tends to follow offline activity and brand campaigns.

Step 4: Which device or browser?

Open Reports > Tech > Tech details and switch the dimension from Browser to Device category (Google’s documentation).

A drop on mobile only points to a mobile template where the tag does not fire, a broken mobile layout, or a mobile ranking change. A drop on one browser only points to tracking (consent behaviour, a script blocked on that browser) far more often than to real users leaving.

Step 5: Tell the client in three lines

Once you know the cause, or know you do not know yet, send a short message before the client finds the number themselves. Three lines are enough:

  1. What moved: “Sessions were down [x]% last week, almost all of it from [channel].”
  2. Why, and how sure you are: “The likely cause is [cause]. We confirmed it in [source].” Or: “Tracking is intact, the cause is not clear yet, we are watching it this week.”
  3. What happens next: “We [fixed / are testing / will check on Thursday] and will confirm in next Monday’s update.”

Say how confident you are. A client forgives “we don’t know yet, here is what we ruled out” far more easily than a confident explanation that turns out wrong a week later. We will cover client scripts for bad weeks in more depth in a later article.

How to stop finding drops on Monday morning

The checklist above works, but it starts after the fact: you see the drop days after it began. Two habits shorten that gap. Check the tag and consent status after every site release, and look at daily traffic against the same weekday in previous weeks, not against yesterday, so a quiet Saturday never looks like an incident.

That second habit is what we built into Dialytics, our product. It checks GA4 every day and posts a Slack alert only when yesterday is unusual compared with the same weekday over recent weeks, and it skips drop alerts on national public holidays. On Monday it posts a weekly digest with what moved, why it probably moved and the one point worth your attention. If you want to compare it with the do-it-yourself options, we covered them in How to send a GA4 weekly report to Slack.

Frequently asked questions

How long should I wait before trusting last week's GA4 numbers?

Google says GA4 data processing can take 24 to 48 hours, and reports may change during that time. On a Monday morning, Sunday is often incomplete. Compare full weeks that ended at least two days ago, or rerun the check on Tuesday before you tell a client anything.

Should I compare week over week or with the same week last year?

Week over week catches sudden breaks: a tag, a campaign, a page. Year over year tells you whether the drop is seasonal. Use week over week to find the problem, then check last year to see if the same dip happened in the same week.

What counts as a real traffic drop in GA4?

A drop is real when tracking is intact, the comparison period is clean, and you can point to a channel or page that lost the sessions. If total sessions fell but no single channel, page or device explains it, keep watching for a second week before calling it a trend.

Which GA4 report shows where the traffic drop came from?

Start with Reports > Acquisition > Traffic acquisition, compare the two weeks, and read the change per channel. Then open Reports > Engagement > Landing page and Reports > Tech > Tech details with the same comparison to find the page or device behind it.

Written by

Founder, Dialytics

Keep reading

Stop building the Monday report

Dialytics reads your GA4, posts the weekly digest in Slack, flags what actually moved, and answers follow-ups in the thread.

Start free trial

No credit card. 14 days free.