Home / Blog / How to Build an SEO Dashboard with n8n
n8n 5 September 2026 13 min read

How to Build an SEO Dashboard with n8n

SaaS SEO dashboards cost £50-200 per month. Building one with n8n costs £10-15 and gives you full control over your data.

LB
Lee Beirne
leebeirne.com

I was paying £150 per month for a SaaS SEO dashboard. It pulled data from Google Search Console and Google Analytics, displayed it in a nice interface, and sent weekly email reports. Then I built the same thing with n8n for £10 per month.

The SaaS dashboard was not bad. It did the job. But I was paying for someone else's servers, someone else's interface, and someone else's reporting templates. With n8n, I own the data pipeline. I control what metrics are tracked, how the dashboard looks, and when reports are sent.

This guide covers how to build a custom SEO dashboard using n8n, Google Sheets, and DataForSEO. It includes a step-by-step workflow and a downloadable JSON file you can import directly into n8n.

For more on n8n, see my guide to how to automate SEO with n8n. For a comparison with Zapier, see n8n vs Zapier for SEO automation.

Why Build an SEO Dashboard with n8n?

SaaS SEO dashboards are expensive. Most charge £50-200 per month depending on the number of projects, keywords, and users. They are also limited in what they can do.

Here is why building with n8n is better:

  • Cost. n8n self-hosted is free (server costs £5-15/month). SaaS dashboards charge £50-200/month. That is a £600-2,400 annual saving.
  • Control. You own the data pipeline. You decide what metrics are tracked, how the dashboard looks, and when reports are sent.
  • Customisation. SaaS dashboards show you what they think you need. A custom dashboard shows you what you actually need.
  • Data ownership. Your data stays in your Google Sheets. It does not pass through a third-party SaaS provider.
  • Integration. n8n connects to DataForSEO, Google Search Console, Google Analytics, and any API you need. SaaS dashboards are limited to their supported integrations.
The main downside is setup time. Building a dashboard with n8n takes 2-4 hours. A SaaS dashboard takes 10 minutes. But the ongoing savings and control are worth the initial investment.

I tracked my costs for a year. The SaaS dashboard was charging me £150 per month, which is £1,800 per year. My n8n self-hosted instance costs £10 per month for the server, plus £20 per month for DataForSEO API calls. That is £360 per year. The saving is £1,440 per year, and I have more control over the data.

What You Need

Before building the dashboard, you need:

  • n8n instance. Self-hosted via Docker (free) or cloud-hosted (from £15/month). For more on n8n pricing, see my guide to n8n vs Zapier.
  • Google Search Console access. You need access to the GSC property for the site you want to track.
  • Google Analytics access. You need access to the GA4 property for the site you want to track.
  • DataForSEO API key. Optional but recommended for rank tracking. DataForSEO offers pay-as-you-go pricing.
  • Google Sheets. The dashboard will live in a Google Sheet. Create a new sheet for each client or project.

Step 1: Connect Data Sources

The first step is connecting n8n to your data sources. n8n has native nodes for Google Search Console, Google Analytics, and DataForSEO.

Google Search Console Node

The GSC node pulls data on how your site performs in Google Search. The key metrics are:

  • Clicks: How many times users clicked on your site in search results
  • Impressions: How many times your site appeared in search results
  • CTR: Click-through rate (clicks divided by impressions)
  • Average position: Your average ranking position
Configure the GSC node to pull data for the last 28 days (or your preferred date range). Group by date to see daily trends.

A practical tip: pull data for the last 28 days each time and overwrite the previous data. GSC has a 2-3 day delay, so you will not get yesterday data. By pulling 28 days, you ensure the dashboard always has the latest available data and you can spot trends over time.

Google Analytics Node

The GA4 node pulls data on what happens after users click through to your site. The key metrics are:

  • Sessions: Total visits to your site
  • Users: Unique visitors
  • Conversions: Goal completions (form submissions, purchases, etc.)
  • Bounce rate: Percentage of single-page sessions
Configure the GA4 node to pull data for the same date range as GSC. Group by date and source/medium to see organic search traffic specifically.

I filter for organic search traffic only because that is what matters for an SEO dashboard. Paid traffic, social traffic, and direct traffic are noise. You want to see how organic search is performing in isolation.

DataForSEO Node

The DataForSEO node pulls keyword ranking data. This is optional but adds valuable context to your dashboard. The key metrics are:

  • Keyword rankings: Current position for target keywords
  • Position changes: How rankings have moved since the last check
  • SERP features: Which features (featured snippets, AI Overviews, etc.) your keywords trigger
Configure the DataForSEO node to pull rankings for your target keywords. Run daily to track changes over time.

I track 50 keywords per client. That costs me approximately £5 per month in DataForSEO API calls. For that price, I get daily ranking data that I can use to spot trends, identify opportunities, and report on progress. That is a fraction of what SaaS rank tracking tools charge.

Google Sheets Node

The Google Sheets node is where the data ends up. You will need multiple sheets within a single spreadsheet:

  • Raw Data: Daily metrics from GSC, GA4, and DataForSEO
  • Summary: Aggregated metrics (weekly, monthly)
  • Dashboard: Visual display of key metrics with charts

Step 2: Build the Data Pipeline

The data pipeline pulls data from each source and writes it to Google Sheets.

Pull GSC Data

Create a workflow that:

  • Triggers daily (or on your preferred schedule)
  • Connects to Google Search Console
  • Pulls data for the last 28 days, grouped by date
  • Writes the data to the "Raw Data" sheet
The GSC data should include: date, clicks, impressions, CTR, average position.

Pull GA4 Data

Create a workflow that:

  • Triggers daily
  • Connects to Google Analytics
  • Pulls data for the last 28 days, grouped by date and source/medium
  • Filters for organic search traffic only
  • Writes the data to the "Raw Data" sheet
The GA4 data should include: date, sessions, users, conversions, bounce rate.

Pull DataForSEO Data

Create a workflow that:

  • Triggers daily
  • Connects to DataForSEO
  • Pulls keyword rankings for your target keywords
  • Writes the data to the "Raw Data" sheet
The DataForSEO data should include: keyword, current position, previous position, position change, search volume.

The data pipeline is the core of the dashboard. Once it is set up, it runs automatically every day. You do not need to touch it unless something breaks or you want to add new metrics.

I have been running this pipeline for over a year. It has saved me hours of manual data pulling and spreadsheet updating. The data is always fresh, always accurate, and always ready for review.

Combine the Data

The final step in the pipeline is combining the data. Use n8n's Merge node to join GSC and GA4 data by date. Add DataForSEO data as a separate section.

Step 3: Create the Dashboard

The dashboard lives in a Google Sheet. Here is how to structure it.

Summary Table

Create a summary table that shows key metrics at a glance:

MetricThis WeekLast WeekChange
Organic Clicks1,2341,100+12%
Impressions45,67842,000+9%
CTR2.7%2.6%+0.1%
Avg Position12.313.1-0.8
Sessions1,4561,300+12%
Conversions2318+28%
I update this table daily using n8n. The workflow calculates the week-over-week change automatically. This gives me a quick snapshot of how the site is performing without opening GSC or GA4.

Charts and Visualisations

Google Sheets supports charts natively. You can also connect your Google Sheets data to Looker Studio (formerly Google Data Studio) for more visual, interactive dashboards. Looker Studio pulls data directly from Google Sheets and lets you build professional-looking reports with charts, tables, and filters. It is free and works well for client-facing dashboards.

Create:

  • Line chart: Organic clicks and impressions over time
  • Bar chart: Top 10 keywords by clicks
  • Table: Keyword rankings with position changes
  • Line chart: Sessions and conversions over time
The charts update automatically when the data updates. This means you do not need to manually create new charts every week. The dashboard stays current without any effort.

Conditional Formatting

Add conditional formatting to highlight important changes:

  • Green for positive changes (rankings up, traffic up)
  • Red for negative changes (rankings down, traffic down)
  • Yellow for significant changes that need attention
I also add a trend indicator (arrow up, arrow down, or dash) next to each metric. This makes it easy to scan the dashboard and see what is moving in the right direction.

Step 4: Automate Reporting

The final step is automating the reporting so you do not have to check the dashboard manually.

Schedule Daily Updates

Set n8n to run the data pipeline daily. I run mine at 6am so the data is ready when I start work. The workflow pulls fresh data from GSC, GA4, and DataForSEO and updates the dashboard.

Email Notifications

Set up an email notification for significant changes. For example:

  • Rankings dropped more than 3 positions for a target keyword
  • Organic traffic dropped more than 10% week-over-week
  • A new keyword entered the top 10
Use n8n's IF node to check for these conditions and send an email alert when they occur.

Slack Alerts

If you use Slack, set up alerts for important changes. I have a #seo-alerts channel that receives notifications when:

  • A target keyword moves up or down 5+ positions
  • Organic traffic drops more than 15%
  • A new page starts ranking in the top 10
The Slack alerts have saved me hours of manual checking. Instead of opening GSC every morning to see if anything has changed, I get a notification when something needs my attention.

Weekly Summary Report

Create a weekly summary report that pulls the key metrics from the dashboard and sends them via email. This is useful for client reporting or for sharing with your team.

The weekly report should include:

I send this report every Monday morning. Clients love it because they get a clear picture of what happened last week without having to log into anything. It is a simple email with the key metrics and a brief summary of any significant changes.

  • Key metrics summary (clicks, impressions, CTR, position)
  • Top performing pages
  • Keyword ranking changes
  • Conversions and conversion rate
  • Week-over-week and month-over-month comparisons

Downloadable Workflow

I have built an n8n workflow that implements this dashboard. It pulls data from Google Search Console, Google Analytics, and DataForSEO, and writes it to Google Sheets.

The workflow includes:

  • Daily data pull from GSC (clicks, impressions, CTR, position)
  • Daily data pull from GA4 (sessions, users, conversions)
  • Daily keyword ranking pull from DataForSEO
  • Data written to Google Sheets
  • Weekly summary email
Download the workflow: seo-dashboard-workflow.json

To use the workflow:

  • Download the JSON file
  • Import it into n8n
  • Connect your Google Search Console, Google Analytics, and DataForSEO credentials
  • Configure the Google Sheet ID
  • Set the schedule (daily at 6am by default)
  • Activate the workflow
The workflow is customisable. You can add more data sources, change the metrics, or modify the reporting schedule.

Common Issues and Solutions

GSC Data Delay

Google Search Console data has a 2-3 day delay. This means your dashboard will not show yesterday's data. To handle this, pull data for the last 28 days each time and overwrite the previous data. This ensures you always have the latest available data.

API Rate Limits

DataForSEO and Google APIs have rate limits. If you are pulling data for multiple sites or keywords, you may hit these limits. To avoid this:

  • Stagger your workflows (do not run all at the same time)
  • Use caching where possible
  • Pull only the data you need (do not pull all keywords if you only need 50)
I hit this issue once when I was tracking 500 keywords daily for a large client. The solution was to aggregate the data weekly instead of daily and archive data older than 90 days. This reduced the sheet size by 80% without losing any useful information.

Google Sheets Limits

Google Sheets has a limit of 10 million cells per spreadsheet. For most SEO dashboards, this is not an issue. But if you are tracking thousands of keywords daily, you may need to:

  • Use multiple spreadsheets
  • Archive old data
  • Aggregate data before writing (weekly instead of daily)

FAQ

How much does it cost to build an SEO dashboard with n8n?

n8n self-hosted is free (server costs £5-15/month). DataForSEO costs depend on usage (typically £10-50/month for API calls). Google Search Console and Google Analytics are free. Total cost: £15-65/month compared to £50-200/month for SaaS dashboards.

Can I add Ahrefs or Semrush data to the dashboard?

Yes. Both Ahrefs and Semrush offer APIs that you can connect via n8n's HTTP Request node. You will need API credentials from each tool. The setup is more complex than native integrations but works well for pulling keyword and backlink data.

How often should the dashboard update?

Daily updates work for most SEO dashboards. Google Search Console data has a 2-3 day delay, so daily pulls capture the latest available data. DataForSEO rank tracking can update daily. Google Analytics data can update in real-time but daily snapshots are sufficient for most reporting needs.

Can I share the dashboard with clients?

Yes. Google Sheets dashboards can be shared with anyone via link or email. You can set permissions (view only, comment, or edit). For client reporting, create a separate sheet for each client and share view-only access. You can also automate weekly email reports with a summary of key metrics.

What metrics should an SEO dashboard track?

Core metrics include: organic clicks, impressions, click-through rate (CTR), average position from Google Search Console; sessions, users, conversions from Google Analytics; keyword rankings, position changes, SERP features from DataForSEO. Add backlink metrics if relevant to your strategy.

Final Thoughts

Building an SEO dashboard with n8n is not as hard as it sounds. The initial setup takes 2-4 hours, but the ongoing cost savings and control are worth it. You own the data pipeline, you control the metrics, and you decide how the dashboard looks.

For agencies, this is a competitive advantage. You can offer clients a custom dashboard at a fraction of the cost of SaaS tools. You can also white-label the dashboard with your branding.

If you need help building an SEO dashboard for your business, get in touch for a free consultation. For more on n8n, see my analytics services.

Get SEO insights in your inbox

Weekly insights on AI SEO, LLMO, technical SEO, and what actually moves rankings. No fluff.

No spam. Unsubscribe anytime.

LB
Lee Beirne
AI SEO Consultant · 30 Years Experience

Blending battle-tested SEO expertise with cutting-edge AI to deliver measurable growth.

Work With Lee
Topic Cluster
n8n
Back to all posts