Automate Basics
Marketing

How to Automate a Weekly Marketing Report with GA4 + AI (n8n)

By

· 3 min read

An n8n workflow runs every week, pulls your traffic and conversion numbers from Google Analytics 4, and asks Claude to write a short plain-English summary (what went up, what went down, what to look at), then emails the finished report. An hour of copy-pasting charts becomes a hands-off Monday email.

A phone on a café table showing an email with a short summary above a blue analytics line chart
Image: AI-generated illustration.

Marketing reports eat a predictable hour every week: open the dashboard, copy the numbers, write the same "here's how we did" note, send. Only the judgment needs you — so let a workflow do the gathering and the first draft.

The four-step robot

Picture a tiny robot that wakes every Monday, reads your analytics, writes a clear summary, and emails it before your coffee cools. That is this whole workflow in four moves: schedule, fetch, summarize, send. You build it once in n8n, a no-code tool that chains apps together, and then it just runs. (If your numbers already live in a spreadsheet, a weekly Google Sheets report to Slack or email is simpler still.) The only clever part is the summary, and Claude handles that.

Your short shopping list

Before you build, line up four pieces. Everything here is mainstream and beginner-friendly:

  • n8n (cloud or self-hosted) — the engine that runs the steps.
  • A Google Analytics 4 property you can log into.
  • A Claude API key — for the writing.
  • A Gmail node to send it (or Google Docs / Notion to publish instead).

With these in hand, the build is just dragging nodes onto a canvas and connecting them.

Set the weekly alarm

Drop a Schedule Trigger as your first node and set it to run weekly. Monday at 7am is the sweet spot, so the report waits for you when the week begins. n8n uses cron syntax for timing — five fields that spell out when to fire:

0 7 * * 1

That reads as "minute 0, hour 7, any day, any month, on weekday 1 (Monday)." Change the 7 to reschedule the hour.

Pull two weeks, not one

Add a Google Analytics node and request your key metrics for the last 7 days: sessions, users, top channels, conversions. Then add a second call for the previous 7 days. That second pull is the secret to a report worth reading. With both weeks in hand, the AI can talk about momentum — "organic up, paid down" rather than reciting totals nobody remembers.

Let Claude write the story

Add the Claude node and feed it both weeks. The prompt sets the tone and forces it to lead with what matters:

You are my marketing analyst. Write a short weekly report from
these numbers. Lead with the 2-3 things that actually matter,
describe changes week-over-week in plain English, and end with
one thing to look into. No jargon, no fluff.

This week: {{ $json.thisWeek }}
Last week: {{ $json.lastWeek }}

You get a crisp narrative, "Organic traffic rose 18% while paid dipped; sign-ups followed organic" — not a wall of figures.

Send it, then forget it

Add a Gmail node to email the summary to yourself or your client, then flip the workflow to Active. That is the moment it stops being a project and becomes infrastructure: the report now writes and sends itself every week, untouched. Prefer a polished page over an email? Swap in a Google Docs or Notion node and share the link instead.

Scale it into a paid service

This pattern grows in two directions. Add more sources like Search Console, Stripe, and ad spend into one combined summary, so clients get a single email instead of five dashboards. Or add a per-client loop that runs across every property and sends each a branded version. That second move is a genuine productized service: clients happily pay for clear reporting they never have to think about.

Schedule one empty test run

In n8n, add just the Schedule Trigger with 0 7 * * 1 and one node after it — even a Gmail node that emails you "hello." Activate it and confirm the test fires on schedule. Once that heartbeat works, you bolt on the GA4 and Claude steps with full confidence the timing is right.

Try this now

Write Friday's report by hand one more time — but save every question you answer as you go. That list of questions is the spec; give it to the workflow in Step 1 and you never write the report again.

Frequently asked questions

Do I need to be technical to connect Google Analytics?

You need to authorize n8n to read your GA4 data once, which is a guided OAuth connection. No code. After that, the workflow pulls the numbers itself every week. If you manage several properties, you can loop the same workflow over each one.

Can it report on sources beyond Google Analytics?

Yes. The same pattern adds Search Console rankings, Stripe revenue, ad spend, or social stats, pull each source, hand the combined numbers to Claude, and get one unified summary instead of five dashboards.

Is the AI summary actually useful, or just filler?

It’s genuinely useful when you give it last week’s numbers too, so it can describe changes ("sign-ups up 18% week-on-week, driven by organic search") rather than just restating figures. That week-over-week context is what clients actually read.

Can I send it to clients as a branded report?

Yes. Format the email with your logo and have Claude write in a client-friendly tone, or push the summary into a Google Doc or Notion page you share. Many freelancers turn this exact workflow into a paid monthly reporting service.

For you

Learn to do this with AI, free

Short courses for people who aren't engineers: ChatGPT, Claude, prompting and automation. Every lesson is free, with no card.

Start a free course

For companies

Make an AI or automation tool?

List it in the directory for $9.99, refunded in full if it isn't approved, or claim its page if it is already here.

Tools in this piece

Get the next one by email

One email a week: what changed in AI for people who use it at work, and what to do about it.

We aim to send it on Mondays. Unsubscribe in one click.