Data analysis is an integral part of every marketer’s job. No matter if you’re working with a big marketing team, or handle all the marketing activities on your own, you have to keep an eye on the data flow across all the marketing activities and measure their ROI.
I’ve been in the SEO space for more than 4 years and always relied on data for my strategy framework. When it comes to SEO, data reporting helps to keep a track of SEO efforts as well as the outcomes. A well-structured SEO dashboard provides on-demand access to all of your high-level & most important metrics.
I’ve created this SEO dashboard using Google Data Studio☝️. If you want to use this template, just go here, and make a copy for yourself! Or, if you want to know how to build an SEO dashboard from the scratch in Google Data Studio, keep reading 🙂
Note: For this entire dashboard, I’m using the ‘Sample Google Search Console’ data source provided by Google.
Why you need an SEO dashboard in Google Data Studio
As you know, SEO is a long term game, it takes time to get results of your search engine optimization activities, and it’s very important to keep an eye on the search performance of your experiment pages at least on a weekly basis.
You can do this by manually checking the website performance in Google Search Console every time whenever you make a report. Alternatively, you can create a customized dashboard for your SEO experiments in Google Data Studio, and check the performance whenever you want! It’s just a one-time activity to set up the GDS dashboard, which will save your time and efforts in SEO data analysis.
To put it up specifically, here are a few more benefits of having a well-structured SEO dashboard in Google Data Studio:
- Easy customization using data & filter control
- Better data visualization of your SEO activities using graphs & charts
- Easy data tracking and monitoring website search performance
- Seamlessly find out content optimization opportunities in GDS with data export functionality
- Secure sharing option with advanced access management
- You can use the same dashboard template for multiple sites just by selecting the respective GSC data source (Isn’t that great?)
Overview of Google Data Studio Properties
Before jumping directly onto the dashboard creation, I want to highlight a few GDS properties, which I’ll be using throughout this article.
- Data Source: Functionality to choose the data source for the selected chart.
- Dimension: It describes or categorizes your data. Dimensions in your data source appear as green fields.
- Metric: It measures your dimensions. Metrics in your data source appear as blue fields.
- Filter: It fine-tunes your data. You can apply a filter to a chart or control and customize your dashboard for a specific condition.
- Date range: It helps the viewer select the date range dimension in the dashboard
- Data control: It helps the viewer select another data source in the same dashboard
- Filter control: It gives the viewer a way to focus on subsets of the data. Viewers can use the filter control to select one or more dimension values from a list by which to filter the report.
As I’m using both tables (Site Impression & Url Impression) from Google Search Console data source, I’ve jotted down the dimensions and metrics of these data tables:
|Search Console Site Impression Table||Country||Average Position|
|Google Property||Site CTR|
|Search Console URL Impression Table||Country||Impression|
|Device Category||URL CTR|
How to create an SEO dashboard using Google Data Studio?
Connecting your data sources to GDS
The first step to creating any dashboard in GDS is to connect your data source. It can be a simple Google Spreadsheet file, or your Google Analytics or Google Search Console account. Here’s how you can connect the data source:
Step A: Click on the ‘Blank Report’ template and it’ll ask you to select the data source
Step B: Select the ‘Search Console’ and choose the website for which you want to create a dashboard. It’ll then show two options in the ‘Tables’ column as follows:
- Site Impression
- URL Impression
This is because Google Search Console uses 2 different data aggregation methods for reporting on search performance. As I’ll be reporting the metrics from both data tables, we need to connect both of them on our dashboard.
Step C: Select the ‘Site Impression’ and click on the ‘Add’ button.
Step D: Similarly, add another GSC data table ‘URL Impression’ by clicking ‘Add data’ option in the dashboard editor menu bar, and repeat step B.
Dashboard Creation Process
Now that you’ve connected your data sources, let’s jump to our core work – creating dashboards.
To begin with, I’d suggest you first note down your data requirements. For example, checking the overall website clicks on a weekly basis, getting the top 10 keywords based on clicks, knowing which countries give the most search traffic, etc. Once you have clear data requirements, you’re ready to start creating the dashboard.
For my dashboard, I’ve segmented my requirements into the following sections:
- Overall website performance: To monitor the high-level website SEO metrics
- Branded vs Non-branded keywords performance: To identify the traffic split between branded & non-branded keywords, and their performance
- Website page-level performance: To check the top traffic-giving website pages
- Blog performance: To track SEO & content efforts put in the blog section, and find out optimization opportunities
You can either plot these sections on the separate pages in Google Data Studio or use one long page for and plot everything on it.
Overall Website Performance
Data source: Search console site impression table
Step 1: Name your GDS dashboard using the ‘Text’ option in the menu bar.
Step 2: Select the ‘Data control’ from the menu bar, and drag it into the dashboard editor, and select ‘Search Console’ as connector type in Data control properties.
Step 3: Select the Filter control’ from the menu bar, and drag it into the dashboard editor, select ‘Search Console (Site Impression)’ as a data source, and ‘Query’ as dimension. Repeat the same process for the ‘Device category’ and ‘Country’ dimension filter controls.
Step 4: Add the ‘Date range’ next to filter controls, and select ‘Last week’ as the default date range under properties.
Step 5: Add ‘Scorecard’ type chart from the menu bar, select ‘Search Console (Site Impression)’ as a data source, and ‘Clicks’ as a metric. Optionally, you can also select the ‘Previous period’ under the Comparison date range if you want to compare the clicks data with the previous date range. Repeat the same for Impression, Site CTR, and Avg. Position metrics.
Step 6: Similarly, plot the ‘TIme series’ chart from the menu bar, select ‘Search Console (Site Impression)’ as a data source, ‘Date’ as a dimension, and ‘Clicks’ as a metric. If you want to plot the previous period clicks graph on the same chart, then select the ‘Previous period’ under the Comparison date range. Repeat the same for Impression, Site CTR, and Avg. Position metrics.
Step 7: To draft the country based table, select the ‘Table’ type chart from the menu bar, and drag it into the dashboard editor. Select the ‘Country’ as a dimension and ‘Clicks’ & ‘Impressions’ as metric columns. You can also see the change in respective metrics by selecting the ‘Previous period’ as a comparison date range.
Step 8: Repeat step 7 for the ‘Device category’ metric. Additionally, you can plot the pie chart for the device-based clicks distribution.
Branded vs Non-branded Keywords Performance
Data source: Search console site impression table
To get the search performance for branded keywords, you need to follow the ‘Step 5’ as mentioned above. The only addition is you’ve to use the ‘Query’ filter to divide the branded keywords.
Filter name: Query contains <brand-name>
Include > Query > contains > <add-your-brand-name-here>
E.g. Include > Query > contains > google
If you want to include more than one query as a brand name, use the following regular expression filter:
Include > Query > RegExp contains > <your-brand-name-1>|<your-brand-name-2>
E.g. Include > Query > RegExp contains > google|youtube
Plot the time series chart as mentioned in the ‘Step 6’, and use the same ‘Query’ filter explained above.
Additionally, you can also outline the table of branded-keywords performance using ‘Table’ chart from the menu bar, and select Clicks, Impressions, Site CTR & Avg. Position as metrics.
Similarly, to get the search performance of non-branded keywords, you need to exclude all the branded keywords in the filter condition, as follows:
Filter name: Query doesn’t contain <brand-name>
Exclude > Query > contains > <add-your-brand-name-here>
E.g. Exclude > Query > contains > google
If you want to exclude more than one query as a brand name, use the following regular expression filter:
Exclude > Query > RegExp contains > | <your-brand-name-1>|<your-brand-name-2>
E.g. Exclude > Query > RegExp contains > google|youtube
Website Page-level Performance
Data source: Search console URL impression table
To analyze the page-level search performance, add the ‘Table’ chart from the menu bar, select ‘Search console URL impression table’ as a data source, ‘Landing page’ as a dimension, and ‘URL Clicks’, ‘Impressions’ & ‘URL CTR’ as metrics.
Data source: Search console URL impression table
This section is dedicated to tracking the performance of blog posts. Make sure you use the ‘Search Console URL Impression’ table as a data source table for all the charts under this section.
Follow the ‘Step 5’ to get the scorecards of ‘URL Clicks’, ‘Impressions’ & ‘URL CTR’ metrics. Further, you need to create a ‘Landing page’ filter to separate out only blog posts URLs. To do that, create the following filter:
Filter name: Landing page contains <blog-slug>
Include > Landing page > contains > <add-your-blog-subdomain-orsubfolder>
E.g. Include > Landing page > contains > /blog/
Next, plot the ‘Time series’ graph, select ‘Date’ as a dimension, URL ‘Clicks’ as a metric, and ‘Landing page’ as a Breakdown dimension’, so that you can plot the multiple landing pages’ performance on the same chart and apply the same landing page filter to this time series chart.
You can also add ‘Date range’ and ‘Filter control’ to change the reporting dates, and a specific landing page.
In the end, create a ‘Table’ chart using ‘Landing page’ & ‘Query’ as dimensions, and it will give you the cumulative search performance of a specific keyword for a specific blog landing page.
Pro Tip: Make your dashboard interactive using ‘Chart Style’ settings. You can do this by selecting the chart change the styling elements like font family, size, color, graph line color, etc.
How to use this SEO dashboard as a template?
If you want to use my SEO dashboard, just go to this dashboard, and make a copy for yourself. Follow the setup steps mentioned for data sources and filters, and you’re ready to analyze your Google Search Console SEO data! Here are a few use cases on how you can analyze the SEO data using this dashboard template:
Finding out top brand-related keywords
Use case: What are the top 5 brand-related keywords that have the highest clicks in last month?
Just change the date range to last month, and see the branded keywords table. Click on the ‘Clicks’ column, so that it’ll sort the queries in descending order of clicks metric.
Monitoring country-specific website performance
Use case: What’s my website SEO performance except for the traffic from India, US, Canada & UK, and what’s device-based traffic distribution?
Deselect the ‘India’, ‘United States’, ‘Canada’ & ‘United Kingdom’ from country filter control at the top, and check the search metrics like clicks, impression, CTR, etc. To see the device-based traffic distribution, head over to the pie chart, and see the clicks distribution for each device category.
Checking specific blogpost performance & its keywords
Use case: How many clicks came to my X blog post in the last 30 days, and what are the keywords it’s ranking for?
Scroll down to the blog performance section in the dashboard, and select the blog post URL under landing page filter control for which you want to check the clicks. Also, change the date range to the last 30 days. You will see the clicks came to that specific blog post in the ‘Scorecard’ chart.
Now, scroll a little down to the table, and see what all keywords are ranking for that blog post under the ‘Query’ column. You can also see the URL clicks, impressions, and URL CTR of that blog post from each of the keyword.
Verifying keyword cannibalization
Use case 4: Did my blog post rankings get affected by Keyword cannibalization?
Keyword cannibalization happens when you try to rank multiple pages of the same website for the same keyword. It can sometimes harm both of your pages. To avoid such complexity, you can use this dashboard and cross-check if any of your blog posts created a keyword cannibalization situation.
If you found the traffic drop for a blog post from a specific keyword, then add that keyword in the ‘Query’ filter control at the top, and scroll down to the ‘Blog Performance’ section. There you can see more than two URLs in the time-series chart with a change in the ‘URL Clicks’ metric, as well as in the table below with respective keyword performance.
Now it’s your turn! Start creating your first-ever SEO Dashboard in Google Data Studio, or if you know how to use GDS, then copy my dashboard template, and dig deep into your SEO data. Also, if you’ve any recommendations on how to improve this GDS template, feel free to comment below.