Most SEO dashboards die quietly. Someone builds one over a weekend, it looks tidy, and within a month nobody opens it because it never helped anyone decide anything. The charts were fine. The missing piece was a question the dashboard was built to answer. Combining Search Console and GA4 in Looker Studio is not hard, but doing it well means choosing what to join, what to leave apart, and what to explain in plain words next to the numbers.
This guide is for SEO analysts, agency staff and marketing managers who want a reporting page that survives past the first demo. It starts with purpose, then walks through connector setup and credentials, the mechanics of blends, three views that cover most needs, the reasons the two sources never match exactly, page layout, sharing, and what to do when the data outgrows a blend. No search volumes, difficulty scores or traffic-lift figures appear here. Technical statements trace back to Google's own help pages, linked where they are used, and advice that has no documented basis is labelled as practice advice.
If your goal is the reporting routine around the dashboard, such as commentary and monthly structure, the article on how to create an SEO report with a monthly template covers that side. This one stays with the build.
What a good SEO dashboard is for
Before opening Looker Studio, write down who will read the dashboard, how often, and which decision it should speed up. A dashboard that tries to serve everyone ends up serving nobody. The matrix below is a starting point; your own team may need different rows.
| Reader | Question they bring | What the page should show |
|---|---|---|
| Executive sponsor | Is organic visibility moving up or down? | A trend line and a handful of summary cards |
| SEO analyst | Which pages and queries changed? | Sortable page and query tables with date comparison |
| Editor | Which kinds of content keep visitors engaged? | A content group summary with sessions and engagement |
| Agency account lead | What do we show the client every month? | A one-page summary plus a detail page behind it |
Turn each question into a measure, a dimension and a source
For every question, write the trio: which measure, sliced by which dimension, from which system. "Which pages are losing visibility?" needs a page dimension and a clicks or impressions measure from Search Console. "What do visitors do after they arrive?" needs sessions and engagement from GA4. Only the questions that need both answers side by side justify a blend. Blending everything by default makes the report slow and the tables hard to read.
Fewer charts, clearer titles
Practice advice: on the summary page, five answers beat fifteen charts. Put the detail on page two and raw tables on page three. Write chart titles as questions or findings, such as "How did organic clicks change over the selected period?", rather than a bare metric name. A reader who cannot tell why a chart is there stops trusting the page.
Decide how you will judge the dashboard itself
Set a few internal tests: does month-end reporting take less time, do meetings spend less time arguing about where a number came from, can a new colleague read the page without a walkthrough? These are team goals, not claims from any vendor, and they steer many small choices during the build.
Wiring it up: connectors, tables and credentials
Setup takes few steps, but several of them are awkward to reverse later. Take them one at a time.
The Search Console connector
According to the Search Console connector documentation (Opens in a new tab), you sign in to Looker Studio with the same account you use for Search Console, create a data source, pick the Search Console connector, authorise access if prompted, choose the site, the table and a default search type, and click Connect. Once the fields panel opens you can adjust fields, then create a report and add the data source to it. At least view permission on the property is required.
Site Impression or URL Impression
The same page describes two table types, Site Impression and URL Impression, and says Search Console uses two different aggregation methods for them. A single data source can use only one of the two. To see both together, create two data sources and add both to the report. Supported search types also differ: Site Impression covers web, image, video and news; URL Impression adds Discover and Google News. Practice advice: build the page-level view on URL Impression and keep a property-wide trend on Site Impression, then compare the two on your own property before presenting either to a client.
The search type parameter
The connector lets you expose a Search type parameter through a drop-down control so viewers can switch between types. Pick the default deliberately, because the first number a viewer sees depends on it.
The Google Analytics connector
For GA4 you need at least Read & Analyze permission on the property. The documented path is: choose Create, then Data Source, select the Google Analytics connector, authorise if prompted, pick an account and property, and click Connect. Any field available in the GA4 Data API can be visualised, including custom fields defined for the property. The connector page (Opens in a new tab) lists the limits discussed later in this article.
Whose credentials does the dashboard use?
Both connectors let you choose credentials. The data credentials documentation (Opens in a new tab) describes three kinds: owner's, viewer's and service account. Owner's credentials let viewers see the data without their own access to the dataset, although the page is explicit that this does not grant them the right to access the dataset directly. With viewer's credentials, each person supplies their own access and sees nothing without it. Service account credentials are available only for BigQuery data sources. The page also warns that editors of a data source can change its credential type, and that changing it may cause people without access to the underlying dataset to see errors in reports.
Agency note: if you connected the client's Search Console and GA4 through your own login and chose owner's credentials, the client sees the dashboard, but the dashboard depends on your authorisation. The documentation adds that a data source keeps fetching data with your credentials after you lose edit access until you revoke them. Plan the handover when you build, not on the day the contract ends.
A note on product names
The titles of Google's current documentation pages for these connectors use the name Data Studio, while this guide uses Looker Studio, the name most readers search for. Menu labels you meet in the interface may differ slightly, but the behaviour described is the same.
Joining the two sources: blends, keys and the collapsing-rows trap
When one table needs fields from both systems, Looker Studio uses a blend. Google's blend documentation (Opens in a new tab) describes it as a way to build charts, tables and controls from more than one data source, configured in a blend editor without code.
What the documentation says about limits
A blend can combine up to five data sources and up to five tables. Only equality is supported in the join condition, and the joined fields do not need the same name as long as the data in them matches. A blend is always embedded in the report where you create it, and it has no freshness or credentials settings of its own; it inherits both from the underlying data sources. Metrics from those sources become unaggregated numeric dimensions inside the blend, which matters if you planned to aggregate them afterwards.
Choosing the join key
A page-level join between Search Console and GA4 usually uses the page address plus the date. Practice advice: before joining, put the address fields from both sources side by side in a plain table and look at them. If one carries the host name and the other does not, if one ends in a trailing slash and the other does not, or if query strings differ, matches will fail without any error message. Build a calculated field that produces a clean path on both sides and join on that. This guide does not assume a particular format for either source; inspect your own property.
Picking the join operator
The documentation lists five operators. The table adds a suggestion for SEO work, which is advice, not documentation.
| Operator | What the documentation says | Thinking for an SEO dashboard |
|---|---|---|
| Inner | Only rows that match in left and right tables | Analysis limited to pages present in both systems |
| Left outer | Matching rows plus non-matching rows from the left | Put Search Console on the left to keep every page that appeared in search |
| Right outer | Matching rows plus non-matching rows from the right | Start from GA4 and see which sessions link to search visibility |
| Full outer | All rows from either side | Audit which side is missing which page |
| Cross | Every possible combination of rows | Rarely useful for page reporting |
A left outer join with Search Console on the left keeps pages that were visible in search but drew no measured sessions; their GA4 cells simply stay empty. An inner join would remove them silently, and those pages are often the ones worth discussing.
The collapsing-rows warning
The most important caution on the page is this: Looker Studio groups and aggregates each table by its included dimensions before the join. To prevent rows from collapsing too early, the documentation tells you to add a unique identifier field to each table. Without one, identical rows merge and the row count can be lower than a SQL join over the same data would return. If your blended totals disagree with a query run elsewhere, check this first.
Hiding repeated join fields
The blend editor includes an option to hide repeated join fields. When selected, only one instance of each join field is shown; when cleared, repeats appear labelled with their source table names. It is a small switch, yet a table that shows the same URL twice makes readers wonder what is wrong.
Fictional example: a documentation site
Fictional example, with no figures: a software company runs a documentation hub and wants to see which help articles are visible in search but fail to hold readers. The analyst inspects the address fields from both sources, finds that one includes the host and one does not, and creates a shared clean-path field. She puts Search Console on the left, uses a left outer join on path and date, and adds a unique identifier to each table so rows do not merge. The resulting table surfaces pages with frequent search appearances and thin on-site engagement. The example shows a method, not a result.
Three views that cover most needs: pages, queries and content groups
Most day-to-day questions fit into three tables. Each has its own source, its own join logic and its own pitfalls.
The landing page view
This is where the blend earns its keep. Rows are page paths. Columns carry impressions, clicks, CTR and position from Search Console, and sessions and engagement from GA4. The most productive habit is sorting to find two opposite situations. Pages with high impressions and low clicks point to title and snippet work. Pages that draw clicks but show little engagement on the site may have a content or page-experience problem. Both are leads for investigation, not proof; open each page before acting. For deeper reading of the Search Console side, see the guide to the Search Console performance report by query and page.
The query view
Query data lives in Search Console. GA4's thresholds page says rows can be withheld for search query information when there are not enough total users, so do not build the query table around a join with GA4. Practice design: keep the query table on a Search Console data source alone, filter out the blank-value anonymised row, and say so in a note under the table. A control that separates branded from non-branded queries answers the common question of whether demand is genuinely new, but you define that split using your own brand terms.
The content group view
Single pages are noisy. Grouping pages gives a steadier picture. Here a content group is a classification you define, such as guides, product pages, category pages and help content. Practice advice: derive the group from the first folder in the URL path, because that rule can be applied identically to both sources. Write the definition on the dashboard and update it when a new folder appears. For the GA4 side of organic behaviour by landing page, the article on analysing organic traffic in GA4 is a useful companion. The GA connector documentation also warns that when a filter uses a calculated field, custom group or bin, the summary row may not display and the grand total can show null, so test your grouping against that behaviour.
A group table answers "which kind of content should we invest in next?" better than a page list does, because it shows the direction of a cluster rather than the wobble of one URL.
The three views at a glance
| View | Main source | Blend needed? | Main risk |
|---|---|---|---|
| Landing pages | Search Console and GA4 | Yes, on path and date | Mismatched address formats, collapsing rows |
| Queries | Search Console | Usually no | Anonymised rows, blank values |
| Content groups | Search Console and GA4 | Through the page blend | Stale group definitions, calculated-field filters |
Reconciling the numbers: why Search Console and GA4 disagree
The first question an executive asks is why two Google tools show different figures. Know the reasons in advance and the conversation gets short.
They measure different things
The performance report overview (Opens in a new tab) says the report covers clicks, impressions, CTR (clicks divided by impressions) and average position, and that it opens by default on the last three months. You can group table data by queries, pages, countries, devices, search appearance or dates. GA4 begins where Search Console ends: it describes sessions and events on your site. Practice advice: label every number with its source, such as "Clicks (Search Console)" and "Sessions (GA4)". They are different counts, not two estimates of the same one.
| Measure | System | Tells you | Does not tell you |
|---|---|---|---|
| Impressions | Search Console | How often your result was shown | Who saw or read it |
| Clicks | Search Console | Visits leaving Google results for your page | What happened afterwards |
| Average position | Search Console | Average placement of the result | The exact rank every user saw |
| Sessions, engagement | GA4 | On-site visit behaviour | Visibility in search |
Aggregation changes with the dimension
The performance overview explains that the chart aggregates by property, while in the table queries, countries, devices and dates aggregate by property and pages and search appearance aggregate by page. It also says chart totals can differ from table totals and that the chart and the table calculate average position differently. The page on impressions, position and clicks (Opens in a new tab) adds that when one element holds several links, impressions are counted by URL or by property depending on the filters, that data for all variants of a page is credited to the canonical URL Google selects, and that a redirect after the user lands does not change which URL receives the impression or click. In practice, a total built from the query dimension may not equal one built from the page dimension.
Fresh data can still change
The same performance overview notes that preliminary data is shown as a dotted line on the graph. Be careful comparing the latest day or two. Practice advice: start the default date range a few days back and say so in a footnote.
Anonymised queries
The Search Console connector page says that to protect user privacy, Search Analytics does not show all data, so some queries may be merged into a row with a blank value, which you can exclude with a filter. If the total at the top of the query table is larger than the sum of the rows, this is one possible reason.
GA4 data thresholds
Google's data thresholds page (Opens in a new tab) states that thresholds are system defined and cannot be adjusted. They can apply to reports and API calls that include demographic data and to search query information when there are too few users. A message in the data quality indicator at the top of the report tells you thresholding has been applied, and widening the date range can help data appear. A missing row in a narrow range for a small group of pages may therefore be a threshold, not an error.
What the GA4 connector cannot reproduce
The GA4 connector page lists three constraints: GA4 segments and comparisons are not available through the connector; the data matches Google Analytics reporting but not explorations; and reports are subject to GA4 Data API quotas, so those exceeding them may display an error. A figure from a custom exploration may not reappear in Looker Studio.
- Add a short reading note page that states sources, date logic and known limits.
- Present a gap between the tools as an expected difference rather than a defect.
- Investigate only when two numbers from the same source disagree.
Layout and controls that keep the report readable
Getting the data right is half the job. The other half is letting a reader understand the page in seconds.
Summary strip
Place four or five summary cards at the top: clicks, impressions, CTR, sessions and, if needed, average position. Because the documentation says the chart and the table compute average position differently, state which data source feeds a position card and expect the number not to match a table elsewhere on the page.
One trend, then the tables
Put a single time series above the detail tables and include a comparison with the previous period. Practice advice: use one shared date control across all pages so page and query views read the same range, and add a footnote that recent data may still change.
Controls
Search type, device and country controls belong at the top, but keep their number small. The more filters a page carries, the more likely a reader forgets one is active. Show clearly whether each control applies to every chart or only some; a misunderstood filter produces a wrong decision.
Readability and accessibility
Do not rely on colour alone. Pair green and red change indicators with arrows or text. Keep table headers short and name them by source. If managers will open the report on a phone, test horizontal scrolling on wide tables.
A suggested page order
- Summary: cards, one trend, a one-sentence finding.
- Pages: the blended table with sorting and filters.
- Queries: Search Console only, with a note on anonymised rows.
- Content groups: group-level summary and the definition of each group.
- Reading notes: sources, date rules and known limits.
Sharing without leaking: access models and privacy limits
When the dashboard is finished, the main risk is giving the wrong people the wrong level of access to the wrong data.
What the credential choice means for viewers
The credentials documentation says owner's credentials let viewers see data without their own access, while viewer's credentials restrict the data to people who have access to the underlying source. It also notes a technical effect of viewer's credentials: hyperlinks and images in dimensions from that data source are not rendered. If you planned clickable page URLs in the table, weigh that side effect.
Keep editing rights narrow
Practice advice: give clients view access and keep edit access for the people who maintain the report. According to the credentials page, an editor can change the credential type or make themselves the credential owner, and doing so may cause errors for people without direct access. A short list of editors protects the report.
Organisation-level restrictions
The documentation says Context-Aware Access restrictions can block requests and produce a "Credential settings are incorrect" error, and that a Google Workspace administrator can exempt the product from enforcement. It also says administrators can control whether users in their organisation may set data credentials. When a corporate client cannot open the dashboard, talk to their IT team early.
Respect the privacy protections built into the data
Search Console's anonymised queries and GA4's data thresholds exist to protect users. Do not design filters narrow enough to point at an individual, and do not carry user-specific identifiers into tables. This is not legal advice; ask your privacy or legal lead how your obligations apply.
Handover and offboarding
Because a data source keeps using your credentials after you lose edit access until you revoke them, record who owns each data source, whose credentials it uses and who can revoke them. Review that record when staff or agencies change.
When a blend is not enough: bulk export and BigQuery
Several properties, thousands of pages and a long look-back can push a blend past comfortable limits. At that point a warehouse approach is worth considering.
Search Console bulk data export
Search Console can export performance data to your BigQuery project. The bulk export help page (Opens in a new tab) states that data accumulates indefinitely unless you set an expiration, that any expiration should be 14 days or longer, and that schema changes make the export fail. The first export can happen up to 48 hours after successful configuration, data from before setup is not included (the API or the reports serve history), and BigQuery storage and query costs apply with a free usage tier.
When it pays off
Practice advice: for a single site with a few hundred pages, the native connectors are usually enough. With many properties, a long retention need or complex joins, a prepared BigQuery table connected to Looker Studio can simplify what the dashboard has to do. BigQuery sources are also where the service account credential option becomes available.
Weigh cost and ownership
This route adds setup, a billing account and data governance. Decide who owns the project, the retention period and the backup approach before you start. Move in stages: begin with direct connectors and add a warehouse only when a concrete need appears.
Mistakes that quietly break dashboards
A dashboard is not a finished product; it needs light, regular maintenance.
A weekly check
- Are there connection errors or quota messages on any data source?
- Is the most recent data still preliminary, and is the footnote current?
- Has a new folder or template appeared that the content group definition misses?
- Did the blended row count fall far below expectations after a change?
- Does the sharing list still match who should have access?
Recurring mistakes
- Blending everything: forcing queries into a GA4 blend produces empty, misleading columns.
- Skipping the unique identifier: the documentation warns about exactly this collapse.
- Not comparing address formats: unmatched pages vanish without an error.
- Treating fresh data as final: preliminary values can change.
- Using a personal login as the credential owner: the dashboard breaks the day access ends.
- Leaving out the reading note: without it, every number mismatch becomes a trust problem.
- Giving everyone edit rights: credentials and field definitions can change by accident.
On ready-made templates
Templates can save time, but each was designed around someone else's site and questions. After copying one you still need to reconnect the data sources to your own properties, review the credential type, redo field mappings and rewrite the content group definition. This guide does not recommend a specific template and makes no claim about any template's data sources.
Dashboard and monthly report
The dashboard speeds up access to the raw numbers; it does not replace the monthly report. Commentary, priorities and the action list remain human work.
Frequently Asked Questions
Why do Search Console and GA4 show different numbers?
They measure different events at different points: Search Console counts impressions and clicks in Google Search, while GA4 counts sessions and events on your site. Search Console's aggregation also changes with the dimension, recent data can still change, and anonymised queries hide some rows. Label each number with its source instead of expecting an exact match.
How many data sources can a Looker Studio blend combine?
Google's blend documentation says a blend can use up to five data sources and up to five tables, and only equality is supported in the join condition. If you need larger joins, consider preparing the data in a warehouse such as BigQuery first.
Should I choose owner's or viewer's credentials?
Owner's credentials let viewers see the dashboard without their own access to the underlying data; viewer's credentials require each person to bring their own. For client dashboards owner's credentials are practical, provided you decide in advance whose account they are tied to and how the handover works.
Can I join queries with GA4 data?
You can build a blend, but GA4 data thresholds can withhold rows for search query information when there are too few users. A sturdier design keeps query analysis on the Search Console data source and uses GA4 at page and content group level.
Why do some rows seem to be missing from my blended table?
Likely causes include rows collapsing because no unique identifier was added, an inner join dropping unmatched rows, the blank-value anonymised query row in Search Console, GA4 data thresholds, or the selected date range. Check the join operator first, then the date range and filters.
Conclusion
A good SEO dashboard is a working tool that answers a question quickly, not a pretty screen. Define the reader and the question first, then combine Search Console's visibility measures with GA4's on-site measures only where both are needed. In the blend, choose the key, the join operator and the unique identifier on purpose. Keep the query view on Search Console, define content groups to match your own site structure, write down credential and sharing decisions on build day, and add a reading note that explains why the two tools never match exactly. No dashboard promises rankings or traffic by itself; its value is faster, more consistent decisions.
The findings usually lead back to content: rewrites for pages with many impressions and few clicks, new pieces for topics that are missing. If you need help producing that content, you can look at the SEO content writing service at Akua Adforce; scope and terms are on the product page.
Post a comment
Please log in to leave a comment. Login