Skip to content

Weekly

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.

Runs
Weekly
Apps
Google Analytics
AI
Yes, uses the built-in AI allowance
Access
read (analytics.readonly, Viewer)

Send this to your assistant

Create a ClickRuntime automation: every Monday at 8am, email me last week's GA4 sessions, users, top 10 pages and top sources compared with the previous week, with a short AI summary.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

A solo consultant checks her site traffic once a week, mostly out of habit. She opens Google Analytics, sees sessions, users and a list of top pages, and then spends a few minutes trying to work out whether the numbers are good. Without the previous week's figures in her head, she cannot tell whether a 12 percent rise is notable, so the check ends without any conclusion. The habit fades.

Every Monday, ClickRuntime runs a GA4 report for two date ranges, computes the changes in sessions, users and top pages, and has its built-in AI write a short explanation of what moved and the likely reason. The commentary and the figures arrive together in one email.

Small teams without an analyst find the written explanation more useful than the table.

What you get out of it

  • Interpretation included, not extra homework

    The email says what changed and which pages drove it. You skip the step of working out what the figures mean and get straight to deciding what to do. That keeps the Monday email useful instead of decorative, and it saves you from rereading raw tables each week.

  • Makes analytics approachable

    Owners who find GA4 intimidating still understand a few clear sentences. That makes it likelier that the report is read every week instead of ignored. Clear wording also helps when you forward the email to a partner or client.

  • Top pages link traffic to content

    Knowing that one article drove most of the increase tells you what to publish more of. Content decisions rest on the last week of reader behavior. One week of data per decision keeps your content plan responsive instead of stuck on last quarter's assumptions.

  • Fast notice of declines

    A written note that sessions fell and which pages lost traffic prompts an early look. Fixing a broken link on Tuesday is cheaper than finding it at the end of the quarter.

  • A paper trail of explanations

    Each week's commentary is stored in your inbox. Months later you can see what you thought explained a spike, which helps when similar patterns return. Patterns you half remember become something you can actually look up.

How it works

What happens, step by step

  1. Every Monday, ClickRuntime pulls last week's and the week before's figures from Google Analytics, including sessions, users, top pages and traffic sources.

  2. It lines the two weeks up side by side.

  3. AI reads the comparison and writes four lines on what moved and why it might have.

  4. You get one email with the commentary at the top and the figures below.

Before it runs live

  • Connect Google Analytics

What you get

RunsWeekly
Get a weekly traffic report with commentarytoday, 9:00Succeeded
Email · Website traffic last weekSessions up 18% to 9,420, mostly from a spike in organic search to /pricing. Referral traffic from acme.dev halved after their newsletter week.

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • 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

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
weekly_traffic_report_with_ai_commentary.pyexample
from clickruntime import on_trigger, credentials, http, ai, notify

PROPERTY = "123456789"
URL = f"https://analyticsdata.googleapis.com/v1beta/properties/{PROPERTY}:runReport"

def report(h, dimension):
    body = {"dateRanges": [{"startDate": "7daysAgo", "endDate": "yesterday"}, {"startDate": "14daysAgo", "endDate": "8daysAgo"}],
            "dimensions": [{"name": dimension}], "metrics": [{"name": "sessions"}, {"name": "totalUsers"}],
            "orderBys": [{"metric": {"metricName": "sessions"}, "desc": True}], "limit": 10}
    rows = http.post(URL, headers=h, json=body).json().get("rows", [])
    return "\n".join(f"{r['dimensionValues'][0]['value']} [{r['dimensionValues'][1]['value']}]: "
                     f"{r['metricValues'][0]['value']} sessions, {r['metricValues'][1]['value']} users" for r in rows)

@on_trigger
def run(event):
    h = {"Authorization": f"Bearer {credentials.connection('google', 'work')}"}
    data = f"Top pages:\n{report(h, 'pagePath')}\n\nSources:\n{report(h, 'sessionSource')}"
    note = ai.generate(data, system="date_range_0 is last week, date_range_1 the week before. In 4 lines, explain what moved and why it might have.", max_output_tokens=300).text
    notify.email_me("Website traffic last week", f"{note}\n\n{data}")
    return {"sent": True}

FAQ

Common questions

Does the AI ever invent reasons for a change?
It describes patterns in the supplied data, such as which pages gained the most traffic, and hedges when the cause is unclear. It does not know about outside events, so use its notes as hypotheses and add what you know about campaigns or news.
What does the weekly comparison cover?
Last week is compared with the week before for sessions, users and the top pages by views. Percentage changes are calculated first, then given to the AI, so the commentary rests on exact numbers rather than the model's own arithmetic.
Can it include goals like form submissions?
Yes. Adding a key event such as generate_lead puts conversions in the report and the commentary. That is helpful when you care more about enquiries than raw traffic, since the explanation can then say whether visitors turned into leads.
What permissions does it need?
read (analytics.readonly, Viewer). Nothing else in your accounts is used.
Does it need AI?
Yes. It uses ClickRuntime's built-in AI, so you don't need an OpenAI or Anthropic key. Every plan includes a monthly AI allowance.
How many runs does it use?
One run each time it runs (weekly). Checks that find nothing to do and stop right away aren't counted.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Get a weekly traffic report with commentary” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.