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.
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
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
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
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
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
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 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:
| Metric | This Week | Last Week | Change |
|---|---|---|---|
| Organic Clicks | 1,234 | 1,100 | +12% |
| Impressions | 45,678 | 42,000 | +9% |
| CTR | 2.7% | 2.6% | +0.1% |
| Avg Position | 12.3 | 13.1 | -0.8 |
| Sessions | 1,456 | 1,300 | +12% |
| Conversions | 23 | 18 | +28% |
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
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
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
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
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
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
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)
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.