Weekly
Track visits from AI assistants to your website
Every week you get an email showing how many visitors came from AI assistants such as ChatGPT, Claude, Perplexity and Gemini, and which pages they landed on.
- Runs
- Weekly
- Apps
- Gmail, Google Analytics
- AI
- Optional
- Access
- GA4 Viewer; gmail.send
Send this to your assistant
Create a ClickRuntime automation: every Monday, report how many GA4 sessions came from AI assistants like ChatGPT, Claude, Perplexity and Gemini last week, compared with the week before, with the top landing pages, and email it to me.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A software company noticed sign-ups mentioning they found the product through an AI assistant. In GA4 these visits are scattered across referral sources with odd names, so nobody could say how much traffic they bring or which pages the assistants recommend.
A weekly report on just this traffic shows whether it is growing and which pages AI assistants send people to, which guides what content to improve.
What you get out of it
See a new source of visitors
Visits from AI assistants are grouped together instead of hidden among other referrals.
Know which pages get recommended
The landing pages show what AI assistants link to, so you can keep those pages accurate and current.
Watch the trend
Week-on-week figures show whether this traffic is growing for your site.
No custom reports to build
The filter for assistant sources is built in, so there is nothing to set up in GA4.
How it works
What happens, step by step
Every Monday, ClickRuntime asks Google Analytics for last week's and the previous week's sessions from AI assistant websites.
It groups them by assistant and lists the top landing pages.
If AI is available, it adds a short commentary on the trend.
The report is emailed to you from your Gmail.
Before it runs live
- Connect Google through your own Google app (a one-time, 10-minute setup), so it works with your own Gmail
- 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 Gmail and Google Analytics steps into one automation
Under the hood
The code that runs this automation
import base64
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from clickruntime import on_trigger, http, credentials, ai
def api(name, version):
return build(name, version, credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False)
def send_gmail(to, subject, text):
raw = base64.urlsafe_b64encode(f"To: {to}\r\nSubject: {subject}\r\nContent-Type: text/plain; charset=utf-8\r\n\r\n{text}".encode()).decode()
api("gmail", "v1").users().messages().send(userId="me", body={"raw": raw}).execute()
PROPERTY = "123456789"
def ga(body):
url = f"https://analyticsdata.googleapis.com/v1beta/properties/{PROPERTY}:runReport"
return http.post(url, headers={"Authorization": f"Bearer {credentials.connection('google', 'work')}"}, json=body).json().get("rows", [])
WEEKS = [{"startDate": "7daysAgo", "endDate": "yesterday"}, {"startDate": "14daysAgo", "endDate": "8daysAgo"}]
AI_SOURCES = "chatgpt|openai|claude|anthropic|perplexity|gemini|copilot|you\\.com"
FILTER = {"filter": {"fieldName": "sessionSource", "stringFilter": {"matchType": "FULL_REGEXP", "value": f".*({AI_SOURCES}).*"}}}
@on_trigger
def run(event):
by_source = ga({"dateRanges": WEEKS, "dimensions": [{"name": "sessionSource"}], "metrics": [{"name": "sessions"}], "dimensionFilter": FILTER})
pages = ga({"dateRanges": WEEKS[:1], "dimensions": [{"name": "landingPage"}], "metrics": [{"name": "sessions"}], "dimensionFilter": FILTER,
"orderBys": [{"metric": {"metricName": "sessions"}, "desc": True}], "limit": 10})
lines = [f"{r['dimensionValues'][0]['value']} ({'last week' if r['dimensionValues'][1]['value'] == 'date_range_0' else 'week before'}): "
f"{r['metricValues'][0]['value']} sessions" for r in by_source]
report = "\n".join(lines + ["", "Top landing pages:"] + [f"{p['dimensionValues'][0]['value']}: {p['metricValues'][0]['value']}" for p in pages])
try:
report = ai.generate(report, system="Summarise the trend in AI assistant referrals in 2 sentences.", max_output_tokens=120).text + "\n\n" + report
except ai.AIError:
pass
send_gmail("you@example.com", "Visits from AI assistants last week", report)
return {"sources": len(by_source)}FAQ
Common questions
Which AI assistants does it count?
Are all AI visits counted?
Does it need AI to run?
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 website report from Google Analytics by email
Every Monday you get an email with last week's visitors, engagement and top pages compared with the week before, plus a short explanation.
See how it worksGet an email when your website traffic changes sharply
When yesterday's traffic, conversions or a key source moves sharply from normal, you get an email explaining what changed and what to do.
See how it worksGet alerts about security issues that affect you
When a serious vulnerability is published for software you use, your security channel hears about it the same hour.
See how it worksKeep exploring
Set up “Track visits from AI assistants to your website” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.