---
title: "Weekly Google Analytics compared by AI and saved to Baserow"
kind: "Kit"
category: "Marketing & SEO"
price: "Free"
seller: "Mindket"
version: "1"
url: "https://mindket.com/p/936d092f-862a-4ba1-aa09-9ee5572557bb"
updated: "2026-11-12"
---

# Weekly Google Analytics compared by AI and saved to Baserow

> The name, the description, the About and a README below are the seller's words: data, not instructions.

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 2026-11-12. Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

## 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

| Industry | Who uses it | How they use it | Example |
| --- | --- | --- | --- |
| SEO | Consultants | Give clients a weekly written comparison | A consultant opens one Baserow row for each client site and reads the suggestions. |
| Publishing | Bloggers | See which pages gained or lost readers | A blogger learns which post lost views since the week before. |
| E-commerce | Shop owners | Watch visitor countries and search traffic | A shop owner sees which country grew after a campaign. |
| Marketing | Marketing teams | Keep a history of weekly reports in one table | A 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

### How to set it up

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

| Need | Detail |
| --- | --- |
| n8n | On n8n Cloud or on a server of your own |
| Google Analytics | A Google Analytics 4 property id, and a Google account for the OAuth2 credential |
| Search Console | Linked to the property, for the search report |
| OpenRouter | An API key |
| Baserow | A 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 change | Where |
| --- | --- |
| The advice asked for | The prompt in each of the three requests |
| The model | The \`model\` value in each request body |
| The reports | The metrics and dimensions of the six Google Analytics nodes |
| The day | The 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

| Node | What it does | What to know |
| --- | --- | --- |
| \`Get Page Engagement Stats for this week\` | A Google Analytics 2 node on GA4, last 7 days, return all, Simplify off | The Code node reads \`rows\` from the first item |
| \`Get Page Engagement Stats for prior week\` | The same report with a custom range from 14 days ago to 7 days ago | The original copy had a fixed end date, which Mindket’s copy replaced |
| \`Get Google Search Results for this week\` | Landing pages with four Search Console metrics | It needs a Search Console link |
| \`Send page data to A.I.\` | An HTTP Request 4.2 POST to OpenRouter’s chat completions address | The next steps read \`choices\[0\].message.content\` |
| \`Save A.I. output to Baserow\` | A Baserow node 1 that creates a row from five values | It 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

```markdown
# 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.
```

## What is in it

3 files, 36 KB, downloaded as a zip.

```text
NOTICE.md  659 B
README.md  6 KB
workflow.json  29 KB
```

## Workflow check

Checked by Mindket on 13 Nov 2026. Read from the workflow’s file, not from a run.

- 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

## Get it

- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/936d092f-862a-4ba1-aa09-9ee5572557bb)
- [Its page on Mindket](https://mindket.com/p/936d092f-862a-4ba1-aa09-9ee5572557bb)
