Search Analytics Updated
SEO Root Cause Analysis
Find out why organic traffic went up or down, split by branded and non-branded searches, URL and category.
9 min read Updated
What is it?
SEO Root Cause Analysis explains why your organic traffic changed between two periods. It splits every number into Branded and Non-branded searches. A branded keyword matches your brand pattern. A non-branded keyword does not.
Why use it?
- To see whether a drop came from your brand searches or from other searches.
- To find the URLs that drove a change, and the reason: impressions, position or CTR.
- To get plain-English "hit" and "miss" sentences you can share.
Before you start
- Connect Search Console. Without it you see Connect Search Console to see this data. Why Analysis also needs GA4.
- Save a branded pattern in Branded keywords.
- Turn on Compare in the date picker.
How to use it
Open the tab
In Advanced Analytics, click SEO Root Cause Analysis. You see Loading page+query data… while it loads.
Choose queries
Use the All queries / Branded / Non-branded switch. You can also filter by Category: and Sub-category:. Click Clear filters to reset all three.
Read the trend and funnel
See where in the funnel the change happened.
Read Hits & Misses and Why Analysis
Find the URLs and queries behind the change.
Understanding the screen
Trend
Pick a metric: Impressions, Clicks, Sessions or Conversions. Group by Daily, Weekly or Monthly. Weeks run Monday to Sunday. Lines: Overall, and Branded and Non-branded when you have a pattern.
On screen: Impressions/Clicks are measured; Sessions/Conversions' Branded split is estimated from that period's click share.
The Trend chart is always site-wide. It does not follow the Category filter or the Branded switch. Sessions and Conversions need GA4. Without it you see Connect GA4 to see Sessions. (or Conversions).
Organic Funnel
Impressions → CTR X% → Clicks → GA4 (separate tracking) → Sessions (Google organic) → Conv. rate X% → Conversions.
- With no Category filter, impressions and clicks are Search Console's own site total, the same number as its Performance chart. With a filter, they are the sum of the URLs in the categories you picked.
- With Compare on, each stage shows its % change and vs N prior (or vs N last year).
- With a pattern saved, each stage shows a bar with B: n (x%) for branded and NB: n (x%) for non-branded, plus the change for each side. A tag says how the split was made:
- Measured directly — impressions and clicks, from Search Console.
- Estimated per-URL from branded click share — sessions and conversions.
- When you pick Branded or Non-branded in the switch, each stage shows only that slice and is labelled Branded only or Non-branded only.
Without a pattern, Prism says there is no split yet and links to configure a branded keyword pattern in Settings.
How the estimate works
Search Console leaves some clicks out of any report broken down by query. So Prism takes the branded share from the query report and applies it to the full, correct total.
GA4 has no search query data at all. So the branded split of GA4 numbers is an estimate: each URL's own branded share of clicks is applied to that same URL's sessions, then summed. A URL with no branded clicks counts fully as non-branded.
For example, a URL has 100 clicks, 60 of them branded. It has 80 sessions. Prism counts 48 of those sessions (60%) as branded.
Hits & Misses
What's working vs. what needs attention — overall, then Branded vs. Non-branded, for each stage of the funnel above.
Auto-written sentences, grouped under Impressions, Clicks, CTR, Average Position, Sessions and Conversions. Each line is labelled Hit (moved the good way) or Miss (moved the bad way). Each group has an overall line first, then branded and non-branded lines when you have a pattern. Examples:
- Overall clicks grew X% +N (prev vs cur)
- Overall CTR improved Npt (prev vs cur)
- Overall average position improved by N (prev vs cur)
- Branded sessions (estimated) and Non-branded sessions (estimated) lines
- Non-branded share of clicks grew Npt — a hit, because you are winning new demand, not just brand searches. If it shrank, it is a miss.
- Conversion rate improved Npt or dropped Npt
The Sessions and Conversions groups need GA4. Without Compare, you see a Note: Turn on Compare (date picker, top right) to see period-over-period hits and misses.
Why Analysis
Every URL whose Google-organic Sessions moved this period, with the Clicks/Impressions/Position/CTR chain that explains it — and whether Branded or Non-branded queries drove it.
It has two sections: What Went Up and What Went Down.
Each section starts with a summary bar:
- URLs — how many URLs are in the list.
- Net Session Change — the total change in sessions.
- Primary Driver — a bar that counts URLs by their first reason: Impressions, Position, CTR or Mixed.
Then a table: URL, Category, Sessions, Clicks, Impressions Δ, Position Δ, CTR Δ, Reason, Branded/Non-branded, Top Query. Each number shows the change, with "now vs before" under it. Click a column name to sort. The biggest session changes come first. The table shows 10 URLs per page.
- Reason shows a chip for each of impressions, position and CTR that moved the same way as sessions. Hover a chip to read the full sentence, such as "Average position slipped by 2.1 to 9.3." For CTR, the sentence also says if it was mainly Branded queries, mainly Non-branded queries or both Branded and Non-branded queries.
- Branded/Non-branded shows which kind of query drove the change in clicks.
- Top Query is the URL's query with the most clicks this period.
Query drill-down
Click a row in Why Analysis to open its queries. Prism loads every query that URL ranked for. You see Loading queries for this URL… first.
- The header says Top queries by clicks moved (N total).
- The 10 queries whose clicks changed most come first. Click Show all N queries to see the rest, or Show fewer to go back.
- Columns: Query, Type (with a pattern), Clicks Δ, Impr. Δ, Position Δ and CTR Δ. Position and CTR also show "now vs before".
- The last row is (not set). It is the part of the URL's clicks and impressions that Search Console does not tie to any query. See (not set) explained.
- The download menu exports every query for that URL.
Category Breakdown (Root Cause version)
Choose Overall, Weekly or Monthly.
- Overall shows one row per category. With Compare on, each cell shows the change, with "now vs before" under it.
- Weekly and Monthly show one row per category per week or month, with absolute values only.
Columns: Week or Month, Category, Sub-category, URLs, Sessions, New Users, Engaged Sessions, Engagement Rate, Avg. Session Duration, Conversions, Conversion Rate, Purchase Revenue, Clicks, Impressions, CTR, Position. With a pattern, each cell also shows B … and NB …. With no filter, a (not set) row shows Search Console clicks that are not tied to any page.
Click a category row to see its top 5 URLs by sessions moved. The header counts the URLs this period, plus any URLs that had traffic only in the prior period.
Exports
The Why tables, the query drill-down, the category table and its URL drill-down each have a download menu (Export Excel, Export CSV, Export PDF). Exports use exact numbers, not short forms like "4.4K", and include every row.
Understanding the data
| Reason / driver | Meaning |
|---|---|
| Impressions | Impressions moved the same way as sessions |
| Position | Average position moved the same way as sessions (a better rank when sessions grew, a worse rank when they fell) |
| CTR | Click-through rate moved the same way as sessions |
| Mixed | Clicks moved, but none of the three moved the same way on its own — likely small shifts across many keywords |
A URL can have one, two or three reasons. Primary Driver counts only the first one, in the order Impressions, Position, CTR.
| Branded/Non-branded value | Meaning |
|---|---|
| Branded | Branded clicks moved more than 1.3 times as much as non-branded clicks, in the same direction as sessions |
| Non-branded | Non-branded clicks moved more than 1.3 times as much as branded clicks |
| Mixed | Both moved by a similar amount |
| — | Neither moved in the same direction as sessions |
| N/A | No branded pattern saved |
Example
For example, sessions fell 12%. The funnel shows NB impressions down sharply while B stays flat. Why Analysis lists your top guide pages under What Went Down with a Position reason and Non-branded as the driver. So non-branded rankings slipped. Open those pages in URL Deep Dive.
Tips
- Compare the Branded and Non-branded lines. If only one moved, focus on that one.
- Use the Anomaly Wizard for a wider scan.
- Hover the Reason chips. The full sentence tells you how big the move was.
Common issues
| Message | What to do |
|---|---|
| Configure a branded keyword pattern in Settings first | Save a pattern in Category Builder. If you have one, make it simpler. |
| Turn on Compare (date picker, top right) to see what went up and down this period. | Turn on Compare. |
| Turn on Compare (date picker, top right) to see period-over-period hits and misses. | Turn on Compare. |
| Connect GA4 and Search Console to see Why Analysis — it needs both Sessions and Clicks to diagnose a change. | Connect both in Integrations. |
| Connect Search Console to see this data. / Connect GA4 to see this. / Connect GA4 to see a metric | Connect the missing source. |
| Nothing here for this period. / No URLs in this list. / No category data for this period. / No URLs in this category for the selected range. | Try a wider range or another filter. |
| No page+query data for this URL in range. | That URL had no query data in your dates. |
| Not enough data in range to plot a trend. | Pick a longer range. |
| Failed to load queries | Close the row and open it again. |
Frequently asked questions
Why is the Branded toggle disabled?
You have not saved a branded keyword pattern, or your pattern uses regex syntax Prism can't run for this tab. Add or simplify the pattern in Category Builder under Branded Keywords.
Are the branded sessions exact?
No. GA4 has no search query data, so Prism estimates branded sessions from each URL's branded share of clicks. Impressions and clicks are measured directly.
Why does Why Analysis ask me to connect both sources?
It needs both GA4 sessions and Search Console clicks to diagnose a change.
What does Mixed mean in the Reason column?
Clicks moved, but none of impressions, position or CTR moved the same way on its own. The change is likely many small shifts across many keywords.
Does the Trend chart follow my category filter?
No. The Trend chart is always site-wide. The funnel, Hits & Misses, Why Analysis and Category Breakdown follow the filter.
Related articles
- Search AnalyticsBranded KeywordsSet your branded keyword pattern so Prism can split Search Console queries into branded and non-branded searches.Read
- Search AnalyticsURL Deep DivePick one URL and see its trend, funnel, hits and misses, why it moved, and every Google query it ranks for.Read
- Search AnalyticsAnomaly WizardRun 50+ checks across GA4 and Search Console to find what changed since the previous period and why it matters.Read
- DashboardsReading ChartsLearn how to read Prism's trend charts and funnels, and why GA4 sessions and Search Console clicks never match exactly.Read
Was this article helpful?
Still stuck? Try troubleshooting or email support.