Mindket

Weekly Google Analytics compared by AI and saved to Baserow

Newversion 1 · updated

Overview

An n8n workflow that reads your Google Analytics every week, asks an AI model to compare the last 7 days with the 7 before, and saves three written reports in one Baserow row.

Weekly Google Analytics compared by AI and saved to Baserow is an n8n workflow in the Marketing & SEO category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

At a glance

Runs in
  • n8n Cloud: import the file into a new workflow there
  • Your own n8n server: the same file and steps
  • Another model: change the model value in the three requests to another OpenRouter model
  • Another store: swap Save A.I. output to Baserow for a spreadsheet, a database or an email

Platform

Connects 3 apps

How it works

Trigger

Weekly schedule

It starts by itself every Sunday at midnight, or by hand, with no form to fill:

  • No input from you: it reads the Google Analytics property you set in each report

Actions

  1. Google Analytics returns page engagement for the last 7 days and for the 7 days before
  2. It returns Google search results by landing page for both periods
  3. It returns views by country for both periods
  4. A Code step turns each report into text
  5. An AI model on OpenRouter compares each pair and answers with a markdown table and five suggestions
  6. One Baserow row holds the three answers, the run time and the blog name

Result

A Baserow row with three AI comparisons: page engagement, search results and country views

Integrations

What you need before you start.

Google Analytics

Site statistics

Returns page, search and country reports for two periods.

NeedsA Google account and a GA4 property id

OpenRouter

Model access

Runs the AI model that compares the periods.

NeedsOpenRouter API key

Baserow

Database

Stores one row with the three written reports.

NeedsA Baserow account and a table with five fields

Workflow check

Checked by Mindket on 13 Nov 2026

Steps
18 steps, starting on a schedule or by hand
AI
No step calls an AI model
Sign-ins
Signs in to: Google Analytics, openrouter.ai and Baserow
API keys
No API key is left in the file
Step types
Mindket’s checker reads all 6 of its step types

Read from the workflow’s file, not from a run.

About

What it is

This n8n workflow checks your site’s Google Analytics every week and asks an AI model what changed. It reads three reports: page engagement, Google search results and views by country. Each report covers the last 7 days and the 7 days before. Three AI answers, each with a markdown table and five suggestions, are saved in one Baserow row. Eighteen nodes do the work, beside four sticky notes.

Who it suits

Site owners, bloggers and SEO people who read their analytics too rarely. It also suits anyone who wants a weekly written comparison in a table of their own. Skip it if your site is still on Universal Analytics, since the workflow uses Google Analytics 4.

Who uses it, and how
IndustryWho uses itHow they use itExample
SEOConsultantsGive clients a weekly written comparisonA consultant opens one Baserow row for each client site and reads the suggestions.
PublishingBloggersSee which pages gained or lost readersA blogger learns which post lost views since the week before.
E-commerceShop ownersWatch visitor countries and search trafficA shop owner sees which country grew after a campaign.
MarketingMarketing teamsKeep a history of weekly reports in one tableA team scrolls the rows to see how the numbers moved over a quarter.

You need some n8n and a Google Analytics 4 property: import a file, add three credentials and fill in the property and table ids. Nothing in the file states a setup time.

Where to use it

Any n8n that can reach Google Analytics, OpenRouter and Baserow will run it.

  • n8n Cloud: import the file into a new workflow there
  • Your own n8n server: the same file and steps
  • Another model: change the model value in the three requests to another OpenRouter model
  • Another store: swap Save A.I. output to Baserow for a spreadsheet, a database or an email

Setup

Download saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Four accounts cover every step.

What you need first
NeedDetail
n8nOn n8n Cloud or on a server of your own
Google AnalyticsA Google Analytics 4 property id, and a Google account for the OAuth2 credential
Search ConsoleLinked to the property, for the search report
OpenRouterAn API key
BaserowA table with the fields Name, Country Views, Page Views, Search Report and Blog
  1. In n8n, create a workflow, open its menu, choose Import from File and pick workflow.json.
  2. Add a Google Analytics OAuth2 credential and select it in the six Google Analytics nodes. Replace <YOUR_GA4_PROPERTY_ID> in each of them with your property id.
  3. Add a Header Auth credential for OpenRouter with the name Authorization and the value Bearer, a space and your key. Select it in the three AI requests.
  4. Add a Baserow credential. In Save A.I. output to Baserow, pick your database, your table and a field for each of the five values.
  5. Put the name of your website in the Blog value.
  6. Run the workflow once with the manual trigger, check the new row, and then publish it.

How to use it

Publish the workflow and leave it running. Every Sunday at midnight it adds a row to your table. Run it by hand first and read the row.

What to change for a different result
To changeWhere
The advice asked forThe prompt in each of the three requests
The modelThe model value in each request body
The reportsThe metrics and dimensions of the six Google Analytics nodes
The dayThe options of Schedule Trigger

Example

Your blog gained readers in one country and lost clicks from Google search.

The page report shows two posts with fewer views than the week before. The search report shows fewer clicks. The country report shows more readers from one country. Each answer comes as a markdown table with five suggestions, and all three sit in one Baserow row.

For newcomers and experts

If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. A property is the place in Google Analytics where your site’s numbers live. The workflow asks Google for them, turns them into text and sends that text to a language model.

For experts. Each report is fetched twice with a date range, turned into URL-encoded JSON by a Code node and pasted into an HTTP request body.

Where to look closer
NodeWhat it doesWhat to know
Get Page Engagement Stats for this weekA Google Analytics 2 node on GA4, last 7 days, return all, Simplify offThe Code node reads rows from the first item
Get Page Engagement Stats for prior weekThe same report with a custom range from 14 days ago to 7 days agoThe original copy had a fixed end date, which Mindket’s copy replaced
Get Google Search Results for this weekLanding pages with four Search Console metricsIt needs a Search Console link
Send page data to A.I.An HTTP Request 4.2 POST to OpenRouter’s chat completions addressThe next steps read choices[0].message.content
Save A.I. output to BaserowA Baserow node 1 that creates a row from five valuesIt signs in with a username and password unless you change it

Good to know

Three repairs, and a model swap.

  • Repairs: the prior week node ended on 23 October 2024, so the node stopped with an error from early November 2024 on. Both country nodes asked for a metric with no name. The first AI request took the wrong data as the earlier week. Mindket’s copy fixes all three
  • Models: the original copy named meta-llama/llama-3.1-70b-instruct:free. OpenRouter’s model list, read on 12 November 2026, no longer has that free variant, so Mindket’s copy names meta-llama/llama-3.1-70b-instruct, listed at 0.72 US dollars for each million tokens
  • The two periods share one day: the last 7 days start 7 days ago, and the week before ends on that day
  • Google Analytics 4 only: the four search metrics need an active Search Console link
  • Your data: your page paths, titles and countries go to OpenRouter and to the model it routes to. A site with many pages sends a long prompt
  • Billing: OpenRouter bills each request, and free models come and go on its list
  • Credentials: the JSON holds none, and the ids in it are placeholders

README and files

README

Weekly Google Analytics compared by AI and saved to Baserow

An n8n workflow that reads your Google Analytics every week and asks an AI model what changed. It pulls three reports: page engagement, Google search results and views by country. For each report it takes the last 7 days and the 7 days before. Three AI answers, each a markdown table and five suggestions, go into one Baserow row.

What is inside

  • workflow.json: the workflow as n8n exports it, 18 nodes beside 4 sticky notes. It holds no credential.
  • README.md: these notes.

What we changed from the original copy

Mindket repaired the copy so it runs today:

  • The node for the prior week had a fixed end date, 23 October 2024, and a start date of 14 days ago. The Google Analytics node in n8n stops with an error when the start is after the end. That made every run from early November 2024 on fail. Mindket's copy ends on the date 7 days ago, as the two other prior-week nodes do.
  • Both country nodes asked for a metric with no name. The code that reads the answer expects totalUsers in that place, so Mindket's copy names it.
  • The first AI request filled "2 weeks ago" with the country data of the prior week, not its page data. It now reads the page data from Parse GA data.
  • The three requests named meta-llama/llama-3.1-70b-instruct:free. OpenRouter's model list, read on 12 November 2026, no longer has that free variant. Mindket's copy names meta-llama/llama-3.1-70b-instruct, which the list shows at 0.72 US dollars for each million tokens, in and out.
  • The Google Analytics property id and the Baserow database, table and field ids were the previous owner's. They are now placeholders such as <YOUR_GA4_PROPERTY_ID>, <YOUR_BASEROW_DATABASE_ID> and <YOUR_BASEROW_FIELD_PAGE_VIEWS>.
  • Four sticky notes were reworded, and a link to the previous owner's own blog is gone.
  • No credential is inside.

Before you start

  • An n8n instance, on n8n Cloud or your own server.
  • A Google Analytics 4 property and its property id. The Google search report also needs a Search Console property linked to it, since Google's API says those metrics require an active link.
  • A Baserow table with five fields: Name, Country Views, Page Views, Search Report and Blog, ideally long text for the three reports.
  • An OpenRouter API key.

Set it up

  1. In n8n, create a workflow, open its menu and choose Import from File. Pick workflow.json.
  2. Add a Google Analytics OAuth2 credential. Select it in the six Google Analytics nodes, and replace <YOUR_GA4_PROPERTY_ID> in each of them with your property id.
  3. Add a Header Auth credential for OpenRouter: the name Authorization, and the value Bearer followed by a space and your API key. Select it in Send page data to A.I., Send page Search data to A.I. and Send country view data to A.I..
  4. Add a Baserow credential. In Save A.I. output to Baserow, pick your database and table in place of the placeholders, then pick a field for each of the five values and put the name of your website in the Blog value.
  5. Run the workflow once with the manual trigger and check the new row. Then publish it.

The five values written to Baserow are:

| Field | Value |
|---|---|
| Name | The date and time of the run |
| Blog | The text Name of your blog, which you replace |
| Page Views | The answer to the first AI request |
| Search Report | The answer to the second AI request |
| Country Views | The answer to the third AI request |

How a run goes

  1. Schedule Trigger starts a run every week, on Sunday at midnight in the time zone of your n8n. When clicking ‘Test workflow’ starts the same run by hand.
  2. Get Page Engagement Stats for this week reads the last 7 days of page views, active users, views for each user and event count for each page title, and Parse data from Google Analytics turns the rows into one URL-encoded text.
  3. Get Page Engagement Stats for prior week reads the 7 days before, from 14 days ago to 7 days ago, and Parse GA data turns them into text.
  4. The two search steps do the same with landing pages, and with the Search Console figures: average position, click through rate, clicks and impressions, beside the active users, engaged sessions, engagement rate and event count.
  5. The two country steps do it by country, with active users, new users, total users, sessions, engaged sessions, engagement rate and event count.
  6. Send page data to A.I., Send page Search data to A.I. and Send country view data to A.I. each post the two texts to OpenRouter with the same prompt. It asks for a markdown comparison table and five suggestions to improve SEO.
  7. Save A.I. output to Baserow creates one row.

Change the look

  • The prompt in each of the three requests: a different kind of advice, or a different table.
  • The model: the model value in the body of each request.
  • The metrics and the dimensions: the options of the six Google Analytics nodes. If you change the order of the metrics, change the matching Parse code too, since it reads them by position.
  • The day and time: the options of Schedule Trigger.

Good to know

  • The two periods share one day. The last 7 days run from 7 days ago to today, and the week before ends 7 days ago.
  • Google Analytics 4 only. The report needs the Search Console link for the four search metrics.
  • Your page paths, titles and countries go to OpenRouter and to the model it routes to. A site with many pages sends a long prompt, and the model's context window is 131,072 tokens.
  • OpenRouter bills each request. Free models come and go on its list, so check the list before you choose one. google/gemma-4-31b-it:free was listed on 12 November 2026.
  • The Baserow node signs in with a Baserow username and password by default. You can switch it to a database token in the node.
  • The JSON holds no credential.
Files
NOTICE.md  659 B
README.md  6 KB
workflow.json  29 KB

3 files, 36 KB, downloaded as a zip.

What’s new

  • Version 1 · 2026-11-12

Reviews

No ratings yet

Write a review

No reviews yet.

More from Mindket

See all from Mindket

Huashu Design

alchaincyf · Skill

Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…

New29.4k

Guizang PPT Skill

op7418 · Skill

Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…

New29.8k

Claude Code Skills & Plugins

alirezarezvani · Skill

Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…

New29.8k

Similar in Marketing & SEO

See all in Marketing & SEO

Pixel Art XL

nerijs · Kit

A pixel art style add-on for Stable Diffusion XL that turns text prompts into pixel-style images, with an optional LCM LoRA for faster runs. For game makers, d…

New

Licon MSR for LTX-2.5

LiconStudio · Kit

Keeps characters, clothing, objects and backgrounds consistent in generated video by feeding the model up to five reference images. A LoRA for LTX-2.5 in Comfy…

New

Flux.2-Klein-9B-MatchingPose

nhathoangfoto · Kit

A LoRA for FLUX.2 Klein 9B that puts a character into the pose shown by a mannequin reference while keeping the character's face and style. For artists and des…

New