Weekly
Get a weekly report of your Google rankings
Each Monday an email shows your position for every tracked keyword and how it moved since last week.
- Runs
- Weekly
- Apps
- SerpApi
- AI
- Not needed
- Access
- API key
Send this to your assistant
Create a ClickRuntime automation: every Monday at 9am, email me where example.com ranks in Google for these keywords, with the change since last week.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A website owner who tracks twenty keywords usually checks rankings sporadically, by searching and counting results, or by opening a rank tracker only when worried. The result is no view of direction. A page might have crept from position 14 to 8 over six weeks, or slipped from 3 to 6, and nobody noticed either trend. Without a regular record, you cannot tell whether last month's content work paid off or whether a competitor has been gaining ground.
Once a week it looks up each keyword in Google results via SerpApi, finds the position of your domain, compares it with the positions stored last week, and emails a table of keywords with current rank and change. It shows the direction of each page at a glance. Marketers, small business owners and agencies use it as a regular scoreboard for SEO.
What you get out of it
Progress is visible week to week
A table with arrows shows which pages are climbing and which are falling. Content investments are judged by their results, so effort goes to what works. A page that moved from position 14 to 8 over six weeks finally shows up as a trend.
Weekly rhythm filters noise
Daily rank positions bounce around. A weekly snapshot is steadier, which makes trends clearer and prevents overreacting to a one-day dip that reverses itself. One-day swings of two places disappear in a weekly view, so only real movement shapes decisions.
Client reporting is ready
Agencies can attach the weekly table to client updates with no manual work. A client who sees movement documented each week trusts the service more than one who gets vague assurances.
Wins are recognized
When a keyword reaches page one, the table shows it. A team that sees results from its work stays motivated and can plan the next improvement with confidence. A keyword reaching page one for the first time is marked in the table, so the team can celebrate.
Losses prompt a closer look
A page that fell by several places gets investigated, whether for content freshness, a technical error or stronger competitors. Catching the decline within weeks is much cheaper than finding it in a quarterly review.
How it works
What happens, step by step
Every Monday, ClickRuntime searches Google for each keyword you track.
It notes where your site ranks and compares it with the position saved last week.
You get an email with a table of every keyword, its current position and how many places it moved up or down.
This week's positions are saved so next Monday's report can show the change.
Before it runs live
- Connect SerpApi
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 SerpApi steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, credentials, http, state, notify
DOMAIN = "example.com"
KEYWORDS = ["crm for startups", "simple crm", "free crm", "crm pricing", "deal tracker"]
@on_trigger
def run(event):
key = credentials.secret("SERPAPI_KEY")
last = state.get("positions") or {}
now, rows = {}, []
for kw in KEYWORDS:
data = http.get("https://serpapi.com/search.json",
params={"engine": "google", "q": kw, "num": 100, "api_key": key}).json()
pos = next((r["position"] for r in data.get("organic_results", []) if DOMAIN in r["link"]), None)
now[kw] = pos
prev = last.get(kw)
change = f"{prev - pos:+d}" if pos and prev else "new" if pos else "-"
rows.append(f"{kw:<22} {pos or '>100':>5} {change}")
notify.email_me(f"Weekly rankings for {DOMAIN}", "Keyword Pos Change\n" + "\n".join(rows))
state.set("positions", now)
return {"keywords": len(rows)}FAQ
Common questions
How many keywords can I track?
What does a change of 'no result' mean?
Does it track rankings for mobile and desktop?
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 Slack alert when your Google ranking drops
If your site slips five or more places for a keyword you track, you hear about it that day.
See how it worksGet an email when your brand is in the news
New Google News articles that mention your brand reach you once a day, each one only once.
See how it worksGet this week's promo codes for your shops
Every Monday you get the promo codes that look current for the stores you buy from, without repeats.
See how it worksKeep exploring
Set up “Get a weekly report of your Google rankings” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
