Why did my website traffic suddenly drop? A step-by-step GA4 checklist
When traffic falls off a cliff, the cause is almost always one of four things: tracking broke, the calendar changed, one channel lost visibility (usually Google organic), or something on your site changed. The fastest way to find out which is to work from the cheapest check to the most expensive one, and to narrow the drop down to where it happened before you guess why.
This checklist walks through that order. Most drops are explained by step 4.
1. Confirm the drop is real (not a tracking problem)
Before you look at SEO, make sure GA4 is still collecting data correctly. A broken tag looks exactly like a traffic collapse.
- Open Reports → Realtime. Visit your site in another browser. If you don't show up within a minute, the tag isn't firing.
- Look at the daily line, not the weekly total. A drop to (almost) zero on specific days is a tracking gap, not lost visitors. Real audience losses are rarely that clean.
- Check what changed on the site that day: a theme update, a new cookie banner, a tag manager publish, a plugin that "optimises" scripts, a migration to a new domain or checkout.
- Use Tag Assistant (tagassistant.google.com) or GA4's DebugView (Admin → Data display → DebugView) to confirm
page_viewevents arrive with the right measurement ID.
If GA4 dropped but your server logs, Cloudflare analytics or Search Console clicks did not, it's a measurement problem, not a traffic problem.
Consent banners are the most common silent culprit
If you added or changed a consent banner, visitors who decline may no longer be measured at all (with Consent Mode in "basic" mode, GA4 doesn't load until consent is given). A 20–60% drop on the day a banner went live, spread evenly across channels and pages, is the typical signature.
2. Compare like with like
Many "drops" are just a bad comparison.
- Compare the same weekdays. Monday-to-Sunday vs. a week that contained a holiday will always look odd.
- Check last year. Use the date comparison to look at the same period a year ago. B2B sites dip in late December and August in many countries; consumer sites often dip after big shopping days.
- Watch the period length. "Last 7 days" vs. "previous 7 days" is fine; "this month so far" vs. "last month" is not.
If the dip matches last year's shape, it's seasonality. Note it and move on.
3. Find out where the drop happened
This is the step most people skip. A drop is almost never spread evenly; usually one segment explains most of it. Break the change down by:
| Dimension | Where in GA4 | What a concentrated drop usually means |
|---|---|---|
| Channel | Reports → Acquisition → Traffic acquisition (Session default channel group) | Organic Search → Google visibility; Direct → tracking or bots; Paid → budget or ads policy |
| Source / medium | Same report, switch the primary dimension | A single referrer, newsletter or partner stopped sending traffic |
| Landing page | Reports → Engagement → Landing page | A page lost rankings, was removed, redirected or noindexed |
| Country | Reports → User attributes → Demographic details | Local search change, geo-blocking, CDN or firewall rule |
| Device | Tech details report | Mobile rendering problem, layout bug, or a mobile-specific ranking drop |
For each dimension, ask: which row lost the most sessions, and did it lose more than its normal share? A channel that is 60% of your traffic and accounts for 60% of the drop is just shrinking with everything else. A channel that is 30% of your traffic but accounts for 80% of the drop is your culprit.
Doing this by hand across five dimensions takes a while. Our free GA4 traffic drop checker runs exactly this comparison in about 30 seconds and tells you which segment stands out.
4. If organic search dropped: check Google first
When the drop is concentrated in Organic Search, open Google Search Console → Performance → Search results and compare the same two periods.
- Clicks and impressions both down → you lost rankings or visibility. Go to step 5.
- Impressions stable, clicks down → you still rank, but fewer people click. Look at the SERP itself: new AI Overviews, more ads or other features above you, or a less attractive title/snippet.
- Search Console fine, GA4 organic down → it's a measurement issue (step 1), or Google traffic is being classified as something else (for example, landing on a redirect that strips the referrer).
5. Check for a Google update
Google publishes confirmed ranking updates on the Google Search Status Dashboard. If your drop started within the rollout window of a core update, the cause is most likely a re-evaluation of your content's usefulness relative to competitors, not a technical fault.
What helps after a core update:
- Look at which pages and queries lost the most (Search Console → Pages / Queries tabs, compare mode).
- Compare those pages with what now ranks above you. Is their answer more complete, more current, more first-hand?
- Improve the pages that matter, rather than rewriting the whole site. Recovery, if it comes, usually shows up after a later update, not within days.
What doesn't help: disavowing links at random, mass-deleting content in a panic, or changing URLs.
6. Check indexing and crawling
A technical change can remove pages from Google in days.
- Indexing → Pages in Search Console: look for a jump in "Excluded by 'noindex' tag", "Blocked by robots.txt", "Not found (404)" or "Page with redirect".
- Fetch your robots.txt in a browser. A staging rule like
Disallow: /that got deployed to production is a classic. - Use the URL Inspection tool on two or three of the pages that lost the most traffic: is the page indexed, and does Google see the canonical you expect?
7. Check the pages themselves
For the landing pages that lost the most:
- Do they still return HTTP 200, or now a redirect or error?
- Did their title, main content or internal links change recently?
- Did page speed or layout break on mobile (step 3 will have shown a device skew)?
8. Rule out referral and campaign changes
If the drop is in Referral, Email or a specific source/medium: did a partner remove a link, a newsletter skip a send, or UTM parameters change? Inconsistent UTMs (e.g. Newsletter vs newsletter) split one source into several rows and make it look like one of them dropped.
9. Rule out bots (when the "drop" follows a spike)
Sometimes the drop is the end of fake traffic. If the previous period had an unusual spike in Direct traffic from one country, with very short engagement time, the "drop" is simply bots going away. Your real audience may not have changed at all.
10. Write it down and set up an alert
Whatever you find, add a GA4 annotation for the date, so the next person comparing periods doesn't repeat the investigation. Then make sure you hear about the next drop on day one, not at the end of the month: GA4 custom insights can email you about simple thresholds, and dedicated monitoring tools can watch several sources at once.
Summary
| If the drop is… | It's most likely… | Next step |
|---|---|---|
| To near zero on specific days | Tracking gap | Realtime + Tag Assistant |
| Even across all channels, starting on a release day | Consent banner or tag change | Check site changes |
| Same shape as last year | Seasonality | Compare year over year |
| Concentrated in Organic Search | Rankings or SERP change | Search Console + status dashboard |
| Concentrated in a few landing pages | Page-level issue | Indexing, status codes, content changes |
| After a spike in Direct traffic | Bots leaving | Compare engagement and country |
FAQ
How big a drop is worth investigating?
Week-over-week swings of ±10% are normal for small sites. Investigate when a drop is over 20–30%, lasts more than a few days, or is concentrated in one channel or page.
Search Console and GA4 show different numbers. Which is right?
Both, for different things. Search Console counts clicks from Google Search results; GA4 counts sessions that loaded your tag (after consent). Compare the trend in each, not the absolute numbers.
How long does recovery from a Google core update take?
There is no fixed timeline. Google says improvements may take months to be reflected, often around a later core update. Focus on the pages and queries that lost the most rather than waiting.