How to Automate a Weekly Marketing Report with GA4 + AI (n8n)
By Automate Basics
Loading guide…
By Automate Basics
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.
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.
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. The only clever part is the summary, and Claude handles that.
Before you build, line up four pieces. Everything here is mainstream and beginner-friendly:
With these in hand, the build is just dragging nodes onto a canvas and connecting them.
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.
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.
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.
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.
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.
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.
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.
That’s the whole lesson. Try it on a real task while it is fresh, then come back for the next one.
Use n8n with a Claude summary step if you report across many sources or many clients and want it fully automated.
The same corner of the library, one job further on.