On a schedule
Get a monthly channel report with insights
On the 1st you get last month's traffic by channel against the month before, with written takeaways.
- Runs
- On a schedule
- Apps
- Google Analytics
- AI
- Yes, uses the built-in AI allowance
- Access
- analytics.readonly
Send this to your assistant
Create a ClickRuntime automation: on the 1st of each month, email me last month's GA4 traffic by channel compared with the month before, with AI insights on what changed.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
The marketing manager at a regional law firm must send a monthly traffic report to the partners. She exports channel data from Google Analytics, builds a chart, then tries to explain why organic search dipped while paid social grew. By the time the deck is done on the 4th, it is half a day of work for a report the partners skim in two minutes.
On the 1st of each month, ClickRuntime runs a GA4 report on sessions by default channel group for last month and the month before it. Its built-in AI turns the comparison into a few paragraphs of commentary on what grew, what shrank and what deserves attention, and emails both the figures and the writing.
Consultants use it to deliver a first draft to clients, then add their own recommendations on top.
What you get out of it
Report ready on day one
The email is waiting on the first of the month, not after hours of assembly. The marketing team starts the month planning instead of reporting on the last one. Partners receive it before they ask for it, which builds trust in the marketing function.
Partners get a readable story
Commentary explains movement in words that non-marketers follow. Leaders can agree on a response in the meeting itself, rather than asking for a follow-up note. That turns the report from a status update into a basis for decisions about budget and effort.
Channel mix changes stay in view
Comparing each channel against the previous month highlights whether you rely too heavily on one source. Diversifying becomes a visible goal, not a vague intention. A healthy mix protects you if an algorithm change hits one source, and the monthly comparison keeps that risk in front of everyone.
Better use of consultant time
An agency or freelancer starts from a drafted summary and adds expertise on top. The hours you bill go toward recommendations, which clients value more than data transcription. That makes each client engagement more profitable and more useful to the client.
Month-to-month history in the inbox
Because every report follows the same format, the archive becomes a year-long narrative. Answering what happened in April takes a search instead of a new analysis. Annual reviews and budget planning become much easier with a year of consistent reports to read.
How it works
What happens, step by step
On the 1st of every month, ClickRuntime pulls last month's traffic and conversions from Google Analytics for each channel, alongside the month before.
AI compares the two months and writes three takeaways and two suggestions.
You get one email with the written takeaways at the top and the figures for each channel below.
Before it runs live
- Connect Google Analytics
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Run it at a different time, more or less often, or only on weekdays
- Change what the AI looks for, or how it writes the result
- Add another app, for example also send it to Slack
- Combine it with other Google Analytics steps into one automation
Under the hood
The code that runs this automation
from datetime import date, timedelta
from clickruntime import on_trigger, credentials, http, ai, notify
PROPERTY = "123456789"
@on_trigger
def run(event):
end = date.today().replace(day=1) - timedelta(days=1)
start = end.replace(day=1)
prev_end = start - timedelta(days=1)
rows = http.post(f"https://analyticsdata.googleapis.com/v1beta/properties/{PROPERTY}:runReport",
headers={"Authorization": f"Bearer {credentials.connection('google', 'work')}"},
json={"dateRanges": [{"startDate": str(start), "endDate": str(end), "name": "this"},
{"startDate": str(prev_end.replace(day=1)), "endDate": str(prev_end), "name": "previous"}],
"dimensions": [{"name": "sessionDefaultChannelGroup"}],
"metrics": [{"name": "sessions"}, {"name": "conversions"}]},
).json().get("rows", [])
table = "\n".join(f"{r['dimensionValues'][0]['value']} ({r['dimensionValues'][1]['value']}): "
f"{r['metricValues'][0]['value']} sessions, {r['metricValues'][1]['value']} conversions" for r in rows)
takeaways = ai.generate(table, system="Compare this month with the previous one by channel. Give 3 takeaways and 2 suggestions.", max_output_tokens=400).text
notify.email_me(f"Marketing report: {start:%B %Y}", f"{takeaways}\n\n{table}")
return {"rows": len(rows)}FAQ
Common questions
Which channels does the report include?
Can the commentary mention conversions as well as traffic?
Why does it run on the 1st rather than the last day?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Get a weekly traffic report with commentary
Every Monday you see last week's sessions, users, top pages and sources against the week before, with a short explanation of what moved.
See how it worksStart the day with yesterday's numbers
Each morning you get yesterday's key figures by channel and three plain-English lines on what stood out.
See how it worksHear when yesterday's traffic falls short
You get an email only on days when sessions dropped well below the recent average.
See how it worksKeep exploring
Set up “Get a monthly channel report with insights” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.