Automate Your GA4 and Search Console Reporting with n8n
Ready to automate?
Browse 5,000+ copy-paste n8n workflow templates.
Want a weekly search-and-traffic report without exporting spreadsheets by hand? In n8n, a Schedule Trigger kicks off a workflow that pulls sessions and conversions from GA4, clicks and rankings from Search Console, merges them, and posts a clean summary to Slack or a Google Sheet. Once it is built, the report writes itself every Monday morning. Here is the full node-by-node setup.
Marketers and business owners lose hours every month rebuilding the same analytics rollup. The data already lives in Google's tools, so the work is not analysis, it is copying and pasting. This workflow removes that step entirely.
What You Will Build
A scheduled n8n workflow that:
- Fires every Monday morning
- Pulls last week's GA4 metrics (sessions, users, conversions by channel)
- Pulls last week's Search Console data (clicks, impressions, CTR, average position)
- Combines both into one summary
- Posts the summary to Slack and appends a row to a Google Sheet for history
Prerequisites
- An n8n instance (self-hosted or n8n Cloud)
- A Google account with access to the GA4 property and the Search Console site
- A Google OAuth2 credential in n8n with the Analytics and Webmasters (Search Console) scopes enabled
- A Slack API credential, or a Google Sheets credential, for delivery
The Workflow, Step by Step
Step 1: Schedule the report
Add a Schedule Trigger node. Set it to run weekly, Monday at 08:00 in your timezone. This defines the report cadence and needs no other configuration.
Step 2: Pull GA4 metrics
Add a Google Analytics node set to the Get Report operation against your GA4 property. Request the dimensions sessionDefaultChannelGroup and metrics sessions, totalUsers, and conversions, with a date range of the last 7 days. This returns traffic and conversions broken down by channel, which is the core of any weekly rollup.
Step 3: Pull Search Console data
The Search Console API is not a dedicated n8n node, so use an HTTP Request node with your Google OAuth2 credential. POST to https://searchconsole.googleapis.com/webmasters/v3/sites/{SITE_URL}/searchAnalytics/query with a JSON body requesting startDate, endDate, dimensions of query and page, and a row limit. This returns clicks, impressions, CTR, and average position for the same window.
Step 4: Combine the two sources
Add a Merge node (mode: Combine) to bring the GA4 and Search Console branches together. Then use a Set node to shape a single summary object: total sessions, total conversions, total clicks, average position, and the top three queries by clicks. Keeping the shape flat here makes the delivery step trivial.
Step 5: Compute week-over-week change (optional)
If you want trend context, add a Code node that compares this week's totals to the prior week. Store last week's numbers in a Google Sheet or n8n static data, then output a simple up or down delta for each metric. This is the single most useful addition, because a number without a trend is hard to act on.
Step 6: Deliver the report
Add a Slack node (Send Message) that formats the summary into a readable block:
Weekly Search + Traffic Report
Sessions: 1,240 (up 8%)
Conversions: 37 (up 4%)
GSC clicks: 512 | Avg position: 12.3
Top queries: n8n templates, gmail slack automation, webhook guide
Chain a Google Sheets node (Append Row) after it so every week's numbers are stored for a running history. Activate the workflow, and the report arrives on its own every Monday.
Where a Reporting Workflow Stops
This workflow is excellent at one thing: getting the raw numbers in front of you on a schedule. What it does not do is interpret them. A weekly rollup tells you sessions went up 8 percent, but not whether the rankings you gained actually convert, whether your GTM tags are firing correctly, or whether the traffic arriving from ChatGPT and Perplexity is worth anything.
That cross-source interpretation is where a dedicated copilot earns its place. ClimbPast connects GA4, Search Console, and GTM once and answers the questions a raw export cannot: what you rank for, what converts, and whether AI traffic pays off. It also runs a free check on whether AI assistants can even find your site. If this reporting workflow is the plumbing, ClimbPast is the analyst reading the output. You can run the free AI visibility audit to see the difference on your own site.
Frequently Asked Questions
Can n8n pull data from GA4 and Google Search Console? Yes. Use the Google Analytics node for GA4 and an HTTP Request node with Google OAuth2 for the Search Console Search Analytics API. Both run on a schedule, so no manual exports.
How often should the reporting workflow run? Weekly is standard for a search-and-traffic rollup. Set the Schedule Trigger to Monday morning. Daily suits high-traffic sites that need faster signal.
Do I need to write code? Almost none. Only the optional week-over-week delta step benefits from a small Code node, and even that can be handled with Set nodes and expressions.
How is this different from a tool like ClimbPast? n8n moves and schedules the raw data. ClimbPast connects GA4, Search Console, and GTM together to interpret it, answering which rankings convert and whether AI traffic pays off.
Ready to build? Browse the n8n Resources template library for reporting and analytics workflow templates, see the analytics automation use cases, or subscribe to unlock unlimited copying of workflow JSON into your n8n instance.
Enjoyed this article?
Share it with others who might find it useful