Skip to content

Daily

Get alerted when campaign conversions drop

You hear in Slack when a campaign's conversions drop sharply against its recent average.

Runs
Daily
Apps
Google Ads
AI
Not needed
Access
read

Send this to your assistant

Create a ClickRuntime automation: every morning, post to #ads in Slack any campaign whose conversions yesterday were 40% below its 7-day average.

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

An ecommerce marketer is at a trade show when click-through rate on her best campaign halves because a competitor started outbidding on the main phrase. The account looks fine at a glance: spend is on budget and impressions are steady. Only the conversion count is sliding, and she will not see it until the following week's report, after hundreds of dollars went to clicks that did not turn into orders.

Each day, ClickRuntime pulls eight days of Google Ads data for each campaign and compares the latest day's click-through rate and conversions with the earlier seven. If either has fallen sharply, a message is posted to Slack naming the campaign and the size of the drop.

Teams with a dedicated Slack channel for ads often tag the campaign owner so the right person sees it first.

What you get out of it

  • Drops found on day one

    A sharp decline appears the morning after it starts. Responding within a day, by checking bids, ads or competitor activity, limits the cost of a problem that otherwise runs for a week.

  • Competitor moves become visible

    A fall in click-through rate with steady impressions often points to new competitor ads. Knowing which campaign was hit first helps you decide whether to refresh the copy or adjust bids.

  • Tracking failures are caught

    Conversions falling to zero while clicks hold up usually means a broken tag after a site release. The alert pushes you to check before days of conversion data are lost for good.

  • Fewer reasons to log in daily

    You do not need to open the interface just to be reassured. Silence means normal, and an alert means look now, which frees time for work that improves results. Noticing something wrong is the whole point, and quiet days stay quiet.

  • The team shares the same signal

    Posting to Slack means the marketer, the developer and the owner all see the drop together. That shortens the back-and-forth when a fix involves more than one person. Everyone sees the same numbers at the same moment.

How it works

What happens, step by step

  1. Every day, ClickRuntime pulls the last eight days of conversions for each Google Ads campaign.

  2. It compares yesterday with each campaign's recent daily average.

  3. If any campaign dropped sharply, it posts them to your #marketing Slack channel, such as "Generic – Search: 3 conversions yesterday vs 11.4/day". Otherwise nothing is sent.

Before it runs live

  • Connect Google Ads

What you get

RunsDaily
Get alerted when campaign conversions droptoday, 9:00Succeeded
Slack · #marketingGoogle Ads conversions dropped Generic – Search: 3 conversions yesterday vs 11.4/day

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 Google Ads 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.
performance_drop_alert.pyexample
from collections import defaultdict
from datetime import date, timedelta
from clickruntime import on_trigger, credentials, http, notify

CUSTOMER_ID = "1234567890"

def gaql(query):
    headers = {"Authorization": f"Bearer {credentials.connection('google', 'ads')}",
               "developer-token": credentials.secret("GOOGLE_ADS_DEVELOPER_TOKEN")}
    batches = http.post(f"https://googleads.googleapis.com/v21/customers/{CUSTOMER_ID}/googleAds:searchStream",
                        headers=headers, json={"query": query}).json()
    return [row for b in batches for row in b.get("results", [])]


@on_trigger
def run(event):
    start, end = date.today() - timedelta(days=8), date.today() - timedelta(days=1)
    rows = gaql("SELECT campaign.name, segments.date, metrics.conversions FROM campaign "
                f"WHERE segments.date BETWEEN '{start}' AND '{end}' AND campaign.status = 'ENABLED'")
    conv = defaultdict(dict)
    for r in rows:
        conv[r["campaign"]["name"]][r["segments"]["date"]] = float(r["metrics"].get("conversions", 0))
    alerts = []
    for name, days in conv.items():
        y = days.pop(str(end), 0)
        avg = sum(days.values()) / 7
        if avg >= 2 and y < avg * 0.5:
            alerts.append(f"{name}: {y:.0f} conversions yesterday vs {avg:.1f}/day")
    if alerts:
        notify.slack("Google Ads conversions dropped\n" + "\n".join(alerts), channel="#marketing")
    return {"alerts": len(alerts)}

FAQ

Common questions

How big a fall counts as a sharp drop?
You set the percentage. A reasonable starting point is a drop of 30 percent or more against the seven-day average. Small campaigns with few clicks swing widely, so a minimum click or conversion count helps prevent false alarms on thin data.
Does it compare against the same weekday last week?
The default compares against the average of the previous seven days. If your results vary a lot by weekday, such as a B2B account that dips on weekends, ask for a same-weekday comparison instead to avoid alerts every Sunday.
What does the Slack message include?
It names the campaign, which metric fell, yesterday's value and the average it was compared with. That gives the person on call enough to decide whether to dig in right away or wait, without opening Google Ads first.
What permissions does it need?
read. 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 alerted when campaign conversions drop” from your assistant

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