To investigate an organic traffic drop, an AI agent needs four things: daily clicks from Search Console to find the exact day the drop started, GA4 organic sessions to confirm it is real and not a tracking change, a before-and-after comparison by page, query, device and country to see whether the loss is concentrated or spread across the site, and a decision table that maps that pattern to a cause. Concentrated loss with worse positions is a ranking problem. Concentrated loss with impressions near zero is a deindexing problem. Diffuse loss with worse positions everywhere is a core update or a site-wide change. Diffuse loss with flat positions is demand. Flat impressions with falling clicks is a results page that answers the query without a click. With authenticated access to both sources, an agent runs the whole sequence in a few minutes and returns one cause, one piece of evidence and one next step.
TL;DR
| Question | Answer |
|---|---|
| First thing to check | The inflection date, from a 7-day rolling average of daily clicks |
| Data you need | Search Console (clicks, impressions, position) and GA4 (organic sessions) |
| The five causes | Ranking loss, deindexing, Google update or site-wide change, demand, SERP shape |
| How to tell them apart | Concentrated vs diffuse, position vs impressions, clicks vs sessions |
| Biggest mistake | Ending the window today. Search Console lags 3 days |
| Playbook | traffic-drop-investigation |
"Traffic is down" is a symptom with at least five causes, and each one needs a different fix. Rewriting pages will not help if Google deindexed them. Building links will not help if fewer people are searching. The job is to establish the date, the segment and the mechanism before anyone touches a page.
This guide gives you the procedure, the exact queries, and the decision table. It is the same procedure Sequel's traffic-drop-investigation playbook hands to an agent, so you can read it or run it.
What an organic traffic drop investigation is
An organic traffic drop investigation is a structured comparison of search performance before and after a change point. It answers three questions in order: when did it start, where is the loss concentrated, and what mechanism explains the pattern.
Most people skip the first two and jump to the third. That is why so many threads on r/SEO start with "was it the update?" A 91.8% overnight drop and a 30% slide over six weeks have nothing in common except the word "drop".
Step 1: find the day it started
Pull daily clicks and impressions from Search Console for the last 16 weeks, ending three days ago. Compute a 7-day rolling average. The inflection is the first day the average leaves its prior baseline.
With Sequel connected, the agent calls google_search_console.query with dimensions: ["date"]. The prompt is one line:
When exactly did our organic clicks start falling? Show me the inflection date and whether it was sudden or gradual.
The shape matters as much as the date. A step (one day, sudden) points at a technical change, a migration or an update. A slope (gradual, over weeks) points at content decay, growing competition or seasonality.
Step 2: confirm the drop is real
Search Console and GA4 measure different things. Search Console counts clicks Google sent. GA4 counts sessions your site recorded after consent and tag load. Compare both over the same window.
| Search Console clicks | GA4 organic sessions | What it means |
|---|---|---|
| Down | Down | Real drop. Continue. |
| Flat | Down | Tracking change: tag, consent banner, filter. Not SEO. |
| Down | Flat | Attribution shift or tag firing on a redirect. Check GA4 source rules. |
| Up | Down | Bot filtering or a broken session stitch. Check GA4 first. |
The second row is more common than people expect. A consent banner change can cut recorded sessions sharply with no change in search. If you diagnose that as an SEO problem you will spend a month fixing nothing. Our guide on why GA4 MCP tools return wrong numbers covers the other ways GA4 misleads an agent.
Step 3: isolate the segment
Take the 28 days before the inflection and the 28 days after. Run Search Console four times, by page, by query, by device and by country, and compute the delta per row.
The question is simple: is the loss in a few rows or in all of them in proportion?
- Concentrated: a handful of pages or queries account for most of the lost clicks.
- Diffuse: every row is down by a similar percentage.
An agent does this in one pass. Ask:
Compare the 28 days before and after the drop by page and by query. Is the loss concentrated in a few pages or spread across everything?
Step 4: diagnose from the pattern
This is the decision table. Each row is a cause, the evidence that identifies it, and the playbook to run next.
| Pattern | Cause | Next step |
|---|---|---|
| Concentrated, position worse on those pages | Ranking loss. Content was overtaken or those pages changed. | content-decay-audit, keyword-cannibalization-check |
| Concentrated, impressions near zero | Pages left the index: redirected, noindexed, or removed. | technical-crawl-audit, page-not-indexed-debug |
| Diffuse, position worse everywhere | Site-wide. A core update, or a template, robots or performance change. | Check the update dates, then technical-crawl-audit |
| Diffuse, impressions down, position flat | Demand. Seasonality or the market. | Compare with the same weeks last year |
| Impressions flat or up, CTR down | The results page changed. AI Overviews or new features absorb clicks. | ctr-underperformers |
| Brand queries down, non-brand flat | Brand demand or tracking. Not SEO. | brand-vs-nonbrand-split |
The last row is the one most reports miss. A thread on r/GoogleAnalytics described a Q1 drop across ten properties at once. Nothing on ten unrelated sites changed at the same time. That pattern is the results page, or the market, not the sites.
Step 5: report one cause and one next step
A useful report leads with the inflection date, the magnitude in clicks per week before and after, and whether the loss is concentrated or diffuse. Then the diagnosed cause with the evidence that supports it, the causes ruled out and why, and the single playbook to run next.
One cause. One next step. A report that lists six possible causes has not finished the investigation.
The gotchas that produce a confident wrong answer
Every one of these has fooled an experienced SEO at least once. An agent following a written playbook does not forget them.
- The last three days always look like a drop. Search Console has not processed them. End every window three days back.
- An update is not the cause unless the dates line up. A drop that started two weeks before an update was not caused by it. Correlation with a dated event is the strongest evidence available. It is still correlation.
- Migrations reset everything. A move from a URL-prefix property to a domain property, a domain change, or a redesign that changed URLs looks like catastrophic loss on one property and growth on another. Ask whether anything moved.
- Sixteen weeks is not enough for seasonal businesses. If the drop lines up with the same weeks last year, it is seasonality. Pull the year-ago window before diagnosing.
- Total impressions can rise while clicks fall. That is not a contradiction. It is the signature of a results page that answers the query without a click.
Running the investigation with an agent
You can run every step above by hand in the Search Console UI and a spreadsheet. It takes an afternoon, and next month you do it again.
An agent with authenticated access to Search Console and GA4 runs it in minutes and follows the same procedure every time. That is what Sequel supplies: a hosted connection to each account, exposed over MCP, plus the playbook so the agent does not improvise.
Install the MCP server and the Sequel skill with one command:
npm install -g @sequelsh/cli@latest
sequel install claude-codeThen connect Search Console and GA4 once (the Claude Code guide walks through it), and ask:
Why did our organic traffic drop last month?
The agent reads the traffic-drop-investigation playbook through sequel_read_skill, runs the Search Console and GA4 queries in order, and hands back the dated, caveated diagnosis. If GA4 is not connected, it says which steps it skipped rather than guessing. The same playbook works in Claude, ChatGPT, Cursor and Codex, and it handles joining the two sources on landing page so you do not have to.
The drop is a fact. The cause is a question with one right answer and four wrong ones. Start with the date, not the theory. Get started free and let the agent find the date.
