SEO Dashboard: What to Include, the Best Tools and a Free Template
An SEO dashboard is a single report that pulls your search data, usually Google Search Console, GA4 and a rank tracker, into one view that updates on its own. It shows whether organic search is growing, which pages and keywords drive that growth, and what to fix next, without logging into five tools.
A good SEO dashboard answers one audience's questions with a short list of metrics and a comparison period. For most teams the free option, Looker Studio with the Search Console and GA4 connectors, covers the core; paid tools earn their cost through white-labelling, rank data, more connectors or less setup time.
Most SEO dashboards fail for the same reason: they show every metric the tools can export, to every audience, on one page. The result is forty charts nobody reads. A useful dashboard starts from three questions. Who opens it? What decision do they make after reading it? Which numbers change that decision?
This guide lists the metrics worth including, maps them to each audience, compares the SEO dashboard software teams actually use, and then walks through a free Looker Studio template that covers the trend, branded vs non-branded traffic, and page-level performance joined across Search Console and GA4. Later sections cover client reporting, ranking and ROI views, enterprise needs, and how to add AI answer visibility to the same report.
A note on terms: a dashboard is a live view people open whenever they want to check something. A report is a fixed snapshot for a period, often with commentary, sent on a schedule. Most tools in this guide do both, and the best client setups pair a live dashboard with a short monthly report built from it. For the narrative side, see SEO reporting.

What to include in an SEO dashboard: the metrics
These are the metrics that come up in nearly every working SEO dashboard. You will not need all of them on one page. Pick the rows that match the audience in the next section.
| Metric | Source | What it tells you |
|---|---|---|
| Organic key events (conversions) and revenue | GA4, filtered to Organic Search | Whether search traffic does anything for the business. Lead the dashboard with this. |
| Organic sessions and engaged sessions | GA4 | Volume of visits from search and whether visitors stayed. |
| Clicks and impressions | Search Console | Demand you are seen for (impressions) and how much of it you capture (clicks). |
| Non-branded clicks | Search Console with a regex field | The part of traffic SEO work changes most directly. |
| CTR | Search Console | Whether titles and snippets earn the click at the position you hold. |
| Average position, per query or page | Search Console | Direction of rankings for a specific query or page. Weak as a site-wide headline number. |
| Tracked keyword positions and top 3 / top 10 counts | Rank tracker | Movement on the fixed keyword set you report on, by location and device. |
| Top pages gaining and losing clicks | Search Console | Where to look first each week. |
| Indexed pages and indexing issues | Search Console Pages report | Whether Google can find and keep the pages you want ranked. |
| Core Web Vitals status | Search Console, CrUX | Share of URLs passing on mobile and desktop. |
| Referring domains and new links | Ahrefs, Semrush or similar | Authority trend. Useful for teams, rarely for executives. |
| AI answer mentions and citations | AI visibility tracker | Whether ChatGPT, Perplexity and AI Overviews name and cite you for your topics. |
For how to pick KPIs before you build anything, see measuring SEO.
SEO dashboard KPIs by audience
Build one dashboard per audience, or one report with one page per audience. The metrics overlap, but the level of detail and the comparison period do not.
| Audience | Question they ask | Metrics to show | Cadence |
|---|---|---|---|
| Executive / founder | Is organic search growing the business? | Organic sessions, organic key events (conversions) and revenue, non-branded clicks, year-over-year change | Monthly |
| SEO / content team | What changed, where, and what do we fix next? | Clicks, impressions, CTR and average position by page and query; pages losing clicks; indexed page count; Core Web Vitals status; rank movements on tracked keywords | Weekly |
| Client (agency) | Is the retainer working? | Non-branded clicks trend, key events from organic, keyword groups in the top 3 and top 10, work shipped this month and its effect | Monthly |
| Product / ecommerce lead | Which categories and products earn search demand? | Clicks and revenue by page template or folder (/category/, /product/, /blog/) | Monthly |
Three rules make any of these readable:
Lead with the outcome. The first row is the business number (key events or revenue from organic), then the search numbers that explain it.
Always show a comparison. A number without a prior period is decoration. Use year-over-year for anything seasonal and previous period for weekly team views.
Separate branded from non-branded. Branded clicks move with brand awareness, PR and ads. Non-branded clicks are the part SEO work most directly changes. Blending them hides both signals.
SEO dashboard software and tools compared
The tools fall into four groups: free Google tools you assemble yourself, SEO suites with built-in reporting, marketing dashboard platforms that connect to many sources, and BI tools for large data. Pricing changes often and depends on seats, clients or dashboards, so the table says "see vendor" rather than quoting numbers that will go stale.
| Tool | Type | Strengths | Watch out for | Price |
|---|---|---|---|---|
| Google Looker Studio | Free BI / report builder | Native Search Console, GA4, Google Sheets and BigQuery connectors; blending; scheduled email delivery; shareable links | No rank data unless you bring it in; third-party connectors are often paid; GA4 API quotas can slow large reports | Free |
| Google Search Console | Free source data | The real clicks, impressions, CTR and position Google records for your site; 16 months of history | Not a dashboard: UI exports cap at 1,000 rows; no conversion data | Free |
| Semrush (My Reports, Position Tracking) | SEO suite reporting | Report builder combining Semrush rank, audit and backlink data with GA and GSC; scheduled PDF reports; white-label on higher plans | Reports live inside Semrush's data model; cost scales with users and projects | See vendor |
| Ahrefs (project dashboards) | SEO suite reporting | Project overview of Site Audit, Rank Tracker and backlink metrics; API for custom dashboards on eligible plans | Built for SEO practitioners rather than executive reporting | See vendor |
| SE Ranking | SEO suite reporting | Rank tracking, audit and backlink data with a report builder and white-label options for agencies | Its own data model; check which GA4 and GSC fields reach reports | See vendor |
| AgencyAnalytics | Agency client reporting | White-label client dashboards and reports, many marketing integrations, built-in rank tracking, client logins | Priced for agencies managing multiple clients | See vendor |
| DashThis | Marketing report automation | Template-driven reports across SEO, PPC and social sources; white-label; quick to set up | Less flexible for custom calculations than a BI tool | See vendor |
| Databox | KPI dashboard platform | Many integrations, goals and alerts on metrics, mobile app, scorecards sent on a schedule | Better for KPI tracking than deep page-level analysis | See vendor |
| Microsoft Power BI | BI platform | Strong modelling for large data; fits Microsoft-based companies; works well with the Search Console bulk export to BigQuery | No native Search Console connector; sharing requires paid licences; needs data skills | See vendor |
| GetCited | Search Console and AI visibility platform | Built-in Search Console dashboard (Search KPIs plus 40+ modules), a Traffic Forecast tab, and AI answer tracking for ChatGPT, Perplexity and AI Overviews in the same account | Focused on organic search and AI answers, not paid or social reporting | Pricing |
If you outgrow the Search Console API's limits, Search Console's bulk data export sends daily performance data to BigQuery, which Looker Studio and Power BI can both read. That route suits large sites with many thousands of pages and queries. See BigQuery and SQL for SEO.
How to choose an SEO reporting dashboard
Answer these in order and the shortlist usually picks itself:
1. Who reads it? Internal team only: Looker Studio. Clients who expect your logo and a login: AgencyAnalytics or DashThis. Leadership who want KPI scorecards on their phone: Databox.
2. Where does the data live? If it is all Google (Search Console, GA4, Sheets, BigQuery), Looker Studio connects for free. If you need Semrush or Ahrefs rank data inside the same view, check that the dashboard tool has a native connector for your suite or plan to export to Sheets.
3. Do you need rank tracking? Search Console gives average position but no fixed keyword list, location or competitor view. If you report on target keywords, you need a rank tracker as a source. See rank tracking tools.
4. How many dashboards? One site, one team: free tools. Twenty clients: per-client templates and white-labelling save hours each month.
5. Who maintains it? A BI tool needs someone who can fix a broken blend. A template tool needs someone who can live with its limits.
6. Do you need AI answer data? None of the Google sources record whether ChatGPT or AI Overviews mention you. If leadership asks about AI search, plan a source for it now rather than bolting it on later.
Free SEO dashboard template: how to create one in Looker Studio
This build uses only free Google connectors, so it doubles as a free template you can copy for each site. You need access to a Search Console property and a GA4 property with the same Google account. The finished report has four pages:
| Page | What goes on it | Data source |
|---|---|---|
| 1. Overview | Scorecards for organic key events, sessions, clicks, impressions; trend with comparison period | GA4 + Search Console (Site Impression) |
| 2. Queries | Branded vs non-branded trend; query table with clicks, CTR and position | Search Console (Site Impression) |
| 3. Pages | Blended page table: clicks, position, sessions, key events | Search Console (URL Impression) + GA4 blend |
| 4. AI and notes | AI assistant referrals, AI visibility numbers, annotations log | GA4 + Sheets |
Step 1. Create the report. Go to lookerstudio.google.com, choose Create → Report. When asked to add data, pick the Search Console connector, select your property, then choose the table:
Site Impression aggregates data by property. Use it for site-wide scorecards and query-level tables.
URL Impression aggregates by page and includes the Landing Page field. Use it for anything page-level.
Pick Web as the search type. Then add Search Console a second time (Add data) and choose the other table, so the report has both.
Step 2. Add GA4. Add data → Google Analytics, pick the account and GA4 property. This is what turns it into a GA4 SEO dashboard: Search Console explains how people found you, GA4 shows what they did next.
Step 3. Add a date range control and comparisons. Insert a Date range control at the top, default to the last 28 days. On every scorecard and time-series chart, set Comparison date range to previous period or previous year. Search Console data usually lags two to three days, so end ranges a few days before today if a partial final day skews the chart.
Step 4. Headline scorecards. From Site Impression: Clicks, Impressions, Site CTR, Average Position. From GA4: Sessions and Key events, with a chart-level filter where Session default channel group equals Organic Search. Put the GA4 key events scorecard first.
Step 5. Trend chart. A time series of Clicks and Impressions by date (Site Impression), with the comparison period switched on. Add a second time series of organic sessions from GA4 underneath.
Step 6. Query and page tables. A table from Site Impression with Query, Clicks, Impressions, CTR and Average Position, sorted by clicks. A table from URL Impression with Landing Page and the same metrics. Add a filter control on Landing Page so users can type a folder like /blog/.
Step 7. Branded split and page-level blend. Covered in the next two sections.
Step 8. Share and schedule. Use Share to invite viewers, and Share → Schedule delivery to email a PDF to stakeholders weekly or monthly. By default a data source uses the owner's credentials, so viewers do not need their own Search Console access. Check that this is what you want before sharing outside the company.
Step 9. Reuse it. To set up the next site, open the report and choose Make a copy, then swap the data sources for the new Search Console and GA4 properties. Calculated fields on the data source need recreating; fields built in charts carry over.
For more layout patterns and connectors, see Looker Studio for SEO.
Branded vs non-branded split with a regex calculated field
In the Site Impression data source, choose Add a field (or Resource → Manage added data sources → Edit) and create a dimension called Query type:
CASE
WHEN REGEXP_CONTAINS(Query, "(?i)acme|acmee|acme ?shoes|acmeshoes") THEN "Branded"
ELSE "Non-branded"
END
Replace the pattern with your brand name, its common misspellings, the version without spaces, and product names that only you sell. (?i) makes the match case-insensitive. REGEXP_CONTAINS matches anywhere in the query; REGEXP_MATCH in Looker Studio must match the whole string, so if you use it, wrap the pattern in .*.
Now use Query type as a breakdown dimension on the clicks time series, and as a filter on the scorecards (create a filter "Query type equals Non-branded" and apply it to a duplicate set of scorecards).
One catch: Search Console hides rare queries for privacy, so the sum of clicks across queries is lower than the property total. The difference is unattributed, not branded or non-branded. Show the split as a share of query-level clicks, and say so in a note on the chart.
Page-level view: blend Search Console and GA4
Search Console knows clicks and position per page; GA4 knows what those visitors did. Joining them on the page gives you the table SEO teams use most: pages with high impressions but low CTR, and pages with traffic but no key events.
The join problem: Search Console's Landing Page is a full URL (https://www.example.com/shoes/), while GA4's Landing page is a path (/shoes/). Create a calculated field in the URL Impression data source called Page path:
REGEXP_EXTRACT(Landing Page, "^https?://[^/]+(/[^?#]*)")
Then build the blend:
1. Select the page table, then Blend data (or Resource → Manage blends → Add a blend).
2. Left table: Search Console URL Impression. Dimension: Page path. Metrics: Url Clicks, Impressions, Average Position.
3. Right table: GA4. Dimension: Landing page. Metrics: Sessions, Key events, and Total revenue if you sell online. Add a table filter: Session default channel group equals Organic Search.
4. Join: Left outer, on Page path = Landing page.
5. Add calculated fields in the blend, for example key events per 100 clicks: Key events / Url Clicks * 100.
If rows fail to match, the cause is nearly always formatting: trailing slashes, uppercase letters, or GA4 recording (not set) for sessions that began without a page view. Normalise both sides with LOWER() and by trimming the trailing slash, for example REGEXP_REPLACE(LOWER(Page path), "/$", "").
SEO reporting dashboard for clients and agencies
A client dashboard has a different job from an internal one. The client wants to know whether the retainer is paying off, and they will read it in two minutes. Build it around that.
Open with the outcome and the trend. Organic key events or revenue, non-branded clicks, and a year-over-year line. If the business is seasonal, month-over-month alone will mislead the client in both directions.
Show the work next to the result. A short table of what shipped this month (pages published, fixes deployed, links earned) with dates. When a page you rewrote gains clicks, the client can see the connection.
Report keyword groups, not 300 keywords. Group tracked keywords by product line or topic and show how many sit in the top 3 and top 10. Individual keyword lists belong on a detail page.
Add two or three lines of commentary. What moved, why you think it moved, and what happens next month. Most agency tools have a text widget for this; in Looker Studio, a text box works.
Give a live link plus a monthly PDF. The link lets the client check any day. The PDF gives a record both sides can refer back to.
On tooling: white-labelling (your logo, your domain, client logins) is the main reason agencies pay for AgencyAnalytics, DashThis, SE Ranking or Semrush's white-label reports. If you only manage a few clients, a copied Looker Studio template with your logo in the header gets you most of the way for free. For explaining results to people who do not work in SEO, see showing SEO value to non-SEOs.
SEO ranking and keyword dashboard
A ranking dashboard tracks a fixed list of keywords over time. Search Console alone does not give you this. Its average position covers whatever queries you happened to appear for, across all locations and devices, and a page can rank for hundreds of queries at once.
A useful keyword dashboard has:
Position distribution. How many tracked keywords sit in positions 1 to 3, 4 to 10, 11 to 20 and beyond, as a stacked bar over time. This shows progress better than an average.
Keyword groups. Tags by topic, product line or funnel stage, so you can see that "pricing" keywords improved while "comparison" keywords slipped.
Winners and losers. The biggest movers since the last period, with the ranking URL. A change in ranking URL often explains a drop.
SERP features. Whether an AI Overview, featured snippet, video carousel or shopping block appears for the keyword. A top-3 ranking below an AI Overview earns fewer clicks than the same ranking on a plain results page.
Competitor visibility. Share of voice across the tracked set for you and your main competitors.
Most rank trackers have their own dashboard, and many export to Sheets or connect to Looker Studio so you can show tracked rankings next to Search Console clicks. For how rank trackers collect data and which ones to consider, see rank monitoring tools.
SEO ROI and performance dashboard
An ROI dashboard answers the question finance and founders ask: what did organic search return for what we spent? It needs three inputs.
Value from organic. For ecommerce, GA4 revenue filtered to Session default channel group equals Organic Search. For lead generation, organic key events multiplied by an agreed value per lead, ideally taken from your CRM's close rate and deal size rather than a guess.
Cost of SEO. Agency fees, tool subscriptions, content and development time. Keep this in a Google Sheet and connect it as a data source, one row per month.
The calculation. ROI = (organic value minus SEO cost) divided by SEO cost. Show it monthly and as a rolling 12-month figure, because SEO cost lands before the return does.
Two additions make a performance dashboard more honest. First, a forecast line next to actuals, so readers can see whether results are ahead of or behind plan. Building that forecast is covered in SEO forecasting, and the tools that do it are compared in SEO forecasting tools. Second, a note on what the numbers do not include: last-click attribution undercounts search that starts a journey another channel finishes. For the full method, see calculating SEO ROI.
Enterprise SEO dashboard considerations
Large sites hit limits that small-site dashboards never touch. Plan for these before you build.
Data volume. The Search Console API and the Looker Studio connector cap the rows they return, so long-tail queries and pages drop out on big sites. The bulk data export to BigQuery removes most of that limit and keeps history beyond the 16 months Search Console stores.
Many properties. Sites split by subdomain, country folder or language often have several Search Console properties. Decide whether you report by property, by market or rolled up, and build the dashboard on a combined table rather than many separate data sources.
Segmentation by template. Product pages, category pages, articles and support pages behave differently. A page-type field, built from URL patterns, lets every chart split by template.
Access and governance. Owner credentials on a shared data source mean anyone with the link sees that data. Use group permissions, separate data sources per audience, and keep a record of who owns each one.
Annotations at scale. Releases, migrations and core updates across several teams need a shared log, joined to the trend charts, so a drop can be traced to a cause.
Performance. Pre-aggregate in BigQuery or use extracts, so a report with many charts loads in seconds rather than timing out.
Add AI visibility metrics to your SEO dashboard
A dashboard built only on Search Console and GA4 misses a growing part of search: answers generated by ChatGPT, Perplexity, Gemini, Copilot and Google's AI Overviews and AI Mode. Here is what you can and cannot get from the free sources.
Search Console. Google has said AI Overviews and AI Mode activity is counted inside the normal Performance report totals, but it is not broken out as its own search type or filter. You cannot isolate AI Overview clicks there.
GA4 referrals. Visits from AI assistants that pass a referrer show up as referral traffic. Create a GA4 chart in Looker Studio with a filter on Session source matching a regex such as:
(?i)chatgpt\.com|chat\.openai\.com|perplexity\.ai|gemini\.google\.com|copilot\.microsoft\.com|claude\.ai
This undercounts: many AI answers are read without a click, and some apps do not pass a referrer. Treat it as the floor.
Mentions and citations. The metric that matters most in AI answers is whether your brand is named and your pages are cited when people ask about your category. Neither Search Console nor GA4 records that. You need a tool that runs a fixed set of prompts across engines and logs mention rate, citation rate and which competitors appear instead. Our AI visibility tracker does this, and the method is explained in how to track AI citations and the AI visibility guide. Add those numbers as their own page in the dashboard, next to non-branded clicks, so the team sees both channels for the same topics.
If you would rather not assemble this yourself, GetCited includes a Search Console dashboard alongside AI tracking: a Search KPIs view with clicks, impressions, CTR and position, more than 40 analysis modules (queries, pages, branded split, page types and more), and a Traffic Forecast tab that projects clicks forward from your own history. It is one option among the tools above; plans are on the pricing page, and you can get the Search Console dashboard and forecast free.
Common SEO dashboard mistakes
One dashboard for everyone. Executives stop opening a report that leads with average position. Teams cannot act on a report that only shows revenue.
Reporting average position as a headline KPI. It moves when you start ranking for new long-tail queries at position 40, which drags the average down even as traffic grows. Show it per query or page, not as the main number.
Summing CTR or averaging averages. Use Looker Studio's built-in CTR and Average Position fields, which are weighted correctly, instead of averaging page-level values.
Mixing Site Impression and URL Impression numbers. The two tables aggregate differently, so totals and position differ. Pick one per chart and label it.
No annotations. Record migrations, core updates, tracking changes and big releases in a notes box or a Sheets-backed table. Six months later nobody remembers why March dropped.
Slow reports. Twenty GA4 charts on one page can hit GA4 API quotas and fail to load. Split pages, or use Extract data for charts that do not need live data.
Vanity metrics up top. Total keywords ranked, domain rating and raw impressions look good on a slide but rarely change a decision. Keep them on a detail page.
Building it and never reviewing it. A dashboard nobody discusses goes stale. Put it on the agenda of a monthly meeting and remove any chart nobody has asked about in a quarter.