On a schedule
Compare this week with last in one email
A Monday table shows users, sessions and conversions for the last two weeks with the percent change.
- Runs
- On a schedule
- Apps
- Google Analytics
- AI
- Not needed
- Access
- analytics.readonly
Send this to your assistant
Create a ClickRuntime automation: every Monday at 8am, email me GA4 users, sessions and conversions for last week and the week before, with the percentage change.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
The operations lead at an ecommerce shop wants a plain answer every Monday: did the store do better or worse than the week before? Google Analytics can show two date ranges, but it takes several clicks, and the percentage change has to be worked out by hand or in a spreadsheet. So the comparison happens occasionally, usually after something already feels wrong.
Every Monday, ClickRuntime runs one GA4 report with two date ranges, last week and the week before. It works out the percentage change for users, sessions and conversions and emails a tidy table with each figure and its delta. Nothing is interpreted or written by AI, so the table is precise and repeatable.
It is the sort of email that sits at the top of the inbox on Monday and takes thirty seconds to read.
What you get out of it
The direction is clear immediately
Green or red movement in users, sessions and conversions tells you whether the week went well. No calculation is required, so you can react straight away and not wait for a monthly review.
Conversions next to traffic
Seeing conversions beside sessions shows if growth is real or just noise. Traffic up and conversions flat is a sign to check the landing pages rather than celebrate. That prompts a look at landing pages instead of a premature celebration.
Same measurement every week
Because the same query runs each time, the percentages are comparable week to week. Arguments about how a number was calculated disappear, and discussion moves to what to do about it.
Small trends are caught
A few percent decline a week is easy to miss in the dashboard but obvious across four emails. You act before a slow slide becomes a quarterly problem. Trends beat snapshots every time.
No spreadsheet to maintain
Teams that used to paste numbers into a sheet can stop. The percentage maths is done for you, which removes one source of copy-paste errors and one more Monday chore.
How it works
What happens, step by step
Every Monday at 8:00, ClickRuntime pulls users, sessions and conversions from Google Analytics for this week and last week.
It works out the percentage change for each figure.
You get an email with a small table: each figure, this week, last week and the change.
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
- Add an AI step, for example to summarize, sort or draft a reply
- 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 clickruntime import on_trigger, credentials, http, notify
PROPERTY = "123456789"
METRICS = ["totalUsers", "sessions", "conversions"]
@on_trigger
def run(event):
res = http.post(f"https://analyticsdata.googleapis.com/v1beta/properties/{PROPERTY}:runReport",
headers={"Authorization": f"Bearer {credentials.connection('google', 'work')}"},
json={"dateRanges": [{"startDate": "7daysAgo", "endDate": "yesterday", "name": "this"},
{"startDate": "14daysAgo", "endDate": "8daysAgo", "name": "last"}],
"metrics": [{"name": m} for m in METRICS]},
).json()
by_range = {r["dimensionValues"][0]["value"]: [float(v["value"]) for v in r["metricValues"]] for r in res.get("rows", [])}
this, last = by_range.get("this", [0] * 3), by_range.get("last", [0] * 3)
lines = [f"{m:<12} {t:>10,.0f} {l:>10,.0f} {(t / l - 1) if l else 0:>+8.1%}" for m, t, l in zip(METRICS, this, last)]
notify.email_me("Week over week", f"{'':<12} {'This week':>10} {'Last week':>10} {'Change':>8}\n" + "\n".join(lines))
return {"sent": True}FAQ
Common questions
Which metrics are included?
How is the percentage change calculated?
Does it use calendar weeks or the last seven days?
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
Hear when yesterday's traffic falls short
You get an email only on days when sessions dropped well below the recent average.
See how it worksPost live visitor counts during a launch
Your team sees how many people are on the site each hour while the launch runs.
See how it worksGet all your sites' numbers in one post
One daily message lists users and conversions for every GA4 property you manage.
See how it worksKeep exploring
Set up “Compare this week with last in one email” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.