Skip to content

Weekly

List search terms that waste budget

A weekly email shows the search terms that spent money and brought no conversions.

Runs
Weekly
Apps
Google Ads
AI
Not needed
Access
adwords scope, read

Send this to your assistant

Create a ClickRuntime automation: every Monday, email me Google Ads search terms from the last 7 days that spent over $20 with zero conversions.

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 home services business pays for a broad match keyword, and the search terms report shows "how to fix a leaky tap", "plumber salary" and "cheap tap washers" quietly eating $300 a month. Each term spends a few dollars, none converts, and the report has thousands of rows. It is the kind of waste that is obvious once you look and invisible until you do.

Every week, ClickRuntime queries the search term view in Google Ads, keeps terms where cost went above your limit and conversions are still zero, and emails the list sorted by spend. You get the worst offenders first, with cost and clicks beside each phrase.

This is the list to take into your negative keyword review, or to hand to a freelancer who manages the account.

What you get out of it

  • The costliest queries come first

    Sorting by spend puts the few terms causing most of the waste at the top. Fixing five rows can recover more money than hours of scrolling through thousands. You spend your review time where the dollars are.

  • Evidence for tightening match types

    If broad match keeps attracting off-topic queries, the list proves it. You can switch to phrase or exact match with the cost figures in hand to justify the change. That turns a hunch into a measured, defensible adjustment.

  • Recovered budget gets reused

    Money no longer lost on irrelevant searches can fund the queries that convert. The account does more with the same monthly budget, which helps when finance is watching ad costs.

  • Easy handoff to a freelancer

    The email is a concrete worklist: add these phrases as negatives. A contractor can act on it in a few minutes, and you can check afterward whether the same terms reappear.

  • Trends in intent become clear

    Repeating themes like salary, jobs or free show what the wrong audience is looking for. That shapes your ad copy so it filters out the wrong clicks before they cost anything.

How it works

What happens, step by step

  1. Every week, ClickRuntime pulls the search terms that triggered your Google Ads.

  2. It keeps the ones that spent more than your limit and brought no conversions.

  3. You get an email listing each wasted search term with its cost and campaign, most expensive first.

Before it runs live

  • Connect Google Ads

What you get

RunsWeekly
List search terms that waste budgettoday, 9:00Succeeded
Email · 7 search terms spent with no conversions$64.10 acme crm login (Competitors) $38.90 free invoice template (Generic – Search)

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.
search_term_wastage_alert.pyexample
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", [])]


MIN_COST = 20

@on_trigger
def run(event):
    rows = gaql("SELECT search_term_view.search_term, campaign.name, metrics.cost_micros, metrics.conversions "
                "FROM search_term_view WHERE segments.date DURING LAST_7_DAYS")
    waste = sorted(
        ((r["searchTermView"]["searchTerm"], r["campaign"]["name"], int(r["metrics"].get("costMicros", 0)) / 1e6)
         for r in rows if float(r["metrics"].get("conversions", 0)) == 0),
        key=lambda t: -t[2])
    waste = [w for w in waste if w[2] >= MIN_COST]
    if waste:
        notify.email_me(f"{len(waste)} search terms spent with no conversions",
                        "\n".join(f"${cost:,.2f}  {term}  ({camp})" for term, camp, cost in waste))
    return {"terms": len(waste)}

FAQ

Common questions

How much spend should count as waste?
You choose a cost floor, such as $10 or $25 per term over the period. Setting it too low floods you with trivia, so pick a number where fixing a term actually matters. You can lower it later as the account gets cleaner.
Does a zero-conversion term always deserve to be blocked?
No. Some searches are early research that convert later through another click, and low-volume terms may simply not have had time. Treat the list as candidates to review, and check whether the phrase matches your offer before adding it as a negative.
Is this the same as the AI negative keyword suggestions?
They overlap but differ. This one is rule-based: cost over a threshold and zero conversions, so it shows where money was spent. The AI version judges whether a phrase seems irrelevant, which can catch cheap terms before they cost much.
What permissions does it need?
adwords scope, 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 (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 “List search terms that waste budget” from your assistant

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