Search Analytics
SEO Root Cause Analysis
Find out why organic traffic went up or down, split by branded and non-branded searches, URL and category.
5 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. 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.
Choose queries
Use the All queries / Branded / Non-branded toggle. You can also filter by Category: and Sub-category:.
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, Branded, Non-branded.
On screen: Impressions/Clicks are measured; Sessions/Conversions' Branded split is estimated from that period's click share.
Organic Funnel
Impressions → CTR X% → Clicks → GA4 (separate tracking) → Sessions (Google organic) → Conv. rate X% → Conversions.
Each stage shows B: n (x%) for branded and NB: n (x%) for non-branded, plus a tag:
- Measured directly — impressions and clicks from Search Console.
- Estimated per-URL from branded click share — sessions and conversions.
How the estimate works
Search Console leaves some clicks out of any report broken down by query. 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.
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
Auto-written sentences, grouped by Impressions, Clicks, CTR, Average Position, Sessions and Conversions. Each line is labelled Hit, Miss or Note. For example: Overall clicks grew X% +N (prev vs cur).
Why Analysis
Two sections: What Went Up and What Went Down.
- Summary bar: URLs, Net Session Change, Primary Driver — Impressions, Position, CTR or Mixed.
- Table: URL, Category, Sessions, Clicks, Impressions Δ, Position Δ, CTR Δ, Reason, Branded/Non-branded, Top Query.
- Expand a row to see its queries: Query, Type, Clicks Δ, Impr. Δ, Position Δ, CTR Δ, and a (not set) row. See (not set) explained.
Category Breakdown (Root Cause version)
Choose Overall, Weekly or Monthly. Columns: Week or Month, Category, Sub-category, URLs, Sessions, New Users, Engaged Sessions, Engagement Rate, Avg. Session Duration, Conversion Rate, Purchase Revenue, Clicks, Impressions, CTR, Position. Each cell shows B … and NB …. Expand a row to see its top URLs.
Exports
The Why tables, the query drill-down, the category table and its URL drill-down each have a download menu (Excel, CSV, PDF). Exports use exact numbers, not short forms like "4.4K".
Understanding the data
| Primary Driver | Meaning |
|---|---|
| Impressions | The change came mostly from how often you were shown |
| Position | The change came mostly from rank moves |
| CTR | The change came mostly from click-through rate |
| Mixed | More than one of the above |
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 Position 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.
Common issues
| Message | What to do |
|---|---|
| Configure a branded keyword pattern in Settings first | Save a pattern in Category Builder. |
| 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 a metric | Connect the missing source. |
| Nothing here for this period. / 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. |
Frequently asked questions
Why is the Branded toggle disabled?
You have not saved a branded keyword pattern. Add one 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.
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.