Skip to content

Daily

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.

Runs
Daily
Apps
SerpApi
AI
Not needed
Access
API key

Send this to your assistant

Create a ClickRuntime automation: every day, check where example.com ranks in Google for these 10 keywords and post to #seo in Slack if any of them drop 5 or more places.

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

For many small sites, a handful of keywords produce most of the leads. If your page for 'commercial cleaning Denver' drops from position 3 to position 12 after an algorithm update or a competitor's new page, enquiries fall within days, but nothing tells you why. Traffic numbers in analytics lag and are noisy, and ranking tools that track daily are paid products with dashboards you have to remember to open. By the time you notice, you may have lost weeks of leads.

Every day it runs one SerpApi Google search per keyword on your list, finds the position of your domain in the organic results, compares it with the position it stored the day before, and posts the drops to Slack. Days with no drops are silent. Small business owners, SEO freelancers and in-house marketers use it as a quiet watch on the pages that make money.

What you get out of it

  • Lost positions noticed within a day

    A drop reported the next morning gives you time to inspect the page, check what changed and respond. Waiting for a monthly report means the traffic loss is already a month old.

  • Competitor moves become visible

    If a rival's new page overtakes you, the alert is the first sign. You can look at what they published and decide whether to improve your own page while the gap is small.

  • Quiet when nothing is wrong

    Only drops are posted, so a clean day produces no message. That makes the channel meaningful, and a post demands attention rather than being filed under routine updates. On a stable day the channel stays empty, so one post about 'commercial cleaning Denver' gets read at once.

  • Checks tie to your real keywords

    The list contains the exact terms that drive your business. You are not distracted by hundreds of vanity keywords that a general rank tool tracks by default. Twenty money terms get watched daily, instead of two thousand vanity keywords nobody acts on.

  • Evidence when reporting to a client

    Freelancers and agencies can show when a drop began and how large it was. That timestamp helps separate a site change from a Google update and keeps client conversations factual.

How it works

What happens, step by step

  1. Once a day, ClickRuntime searches Google for each keyword you track.

  2. It finds where your site appears in the results and compares that with yesterday's position.

  3. When a keyword has slipped five places or more, it is added to the alert.

  4. A message in your Slack channel lists each drop with the old and new position. Today's positions are saved for tomorrow's check.

Before it runs live

  • Connect SerpApi

What you get

RunsDaily
Get a Slack alert when your Google ranking dropstoday, 9:00Succeeded
Slack · #seoRanking drops for example.com: • simple crm: 4 → 11 • crm pricing: 8 → 15

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
  • 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

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.
keyword_rank_drop_alert.pyexample
from clickruntime import on_trigger, credentials, http, state, notify

DOMAIN = "example.com"
KEYWORDS = ["crm for startups", "simple crm", "sales pipeline tool", "free crm", "crm with email",
            "lead tracking app", "crm for agencies", "contact manager", "deal tracker", "crm pricing"]

@on_trigger
def run(event):
    key = credentials.secret("SERPAPI_KEY")
    last = state.get("positions") or {}
    now, drops = {}, []
    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"]), 101)
        now[kw] = pos
        if kw in last and pos - last[kw] >= 5:
            drops.append(f"• {kw}: {last[kw]} → {pos if pos <= 100 else 'not in top 100'}")
    if drops:
        notify.slack(f"Ranking drops for {DOMAIN}:\n" + "\n".join(drops), channel="#seo")
    state.set("positions", now)
    return {"drops": len(drops)}

FAQ

Common questions

How does it find my site's position?
It reads the organic results for the keyword, counts down the list, and finds the first result from your domain. If your domain does not appear in the results it fetches, the keyword is treated as out of range.
How big a drop triggers an alert?
You choose. Many people alert on any drop of three or more places, or when a keyword falls off page one. Smaller thresholds produce more messages, because positions move naturally by one or two places day to day.
Can it check rankings for a specific country or city?
Yes. SerpApi lets you set a country, city and language, so rankings reflect what local searchers see, which matters most for service businesses. A plumber in Leeds and one in Austin need different locations, so each keyword can carry its own place setting.
What permissions does it need?
API key. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run each time it runs (daily). 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 Slack alert when your Google ranking drops” from your assistant

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