# Weekly alert on who is bidding on your brand name in Google

> Every Monday at 8am, see which competitors, resellers, and brand new hijackers are buying Google ads against your brand name, city by city.

- Workflow type: agent
- Services: SerpApi, Google Sheets, Slack Bot
- Categories: Marketing
- Published: 2026-08-09

## What it does

- Checks each of your brand terms in each of your target cities and reads the ads that show up above and below the regular search results.
- Sorts every advertiser into direct competitors bidding on your name, resellers or affiliates using it legitimately, and brand new arrivals since the last run.
- Logs every sighting to a history tab in your spreadsheet with the date, brand term, city, advertiser, and ad headline, so you build a record of who targets your name and where.
- Posts a Slack alert that leads with new hijackers, explains the angle each competitor is running in their ad copy, and flags any city where someone consistently outranks you on your own name.

## What you'll need

- A SerpApi account, which is what pulls live Google results for each city
- A Google Sheet with your brand terms, your target cities, and a history tab for the running log
- A Slack workspace and a channel where the weekly alert should land
- A short list of your own ad names or display URLs, so your own ads get left out of the report

## Prompt

Every Monday at 8am, show me who is bidding on our brand name in Google.

Start by reading our brand terms and our target cities from our Google Sheets tracker. The brand terms are the exact queries to watch, which includes our company name, common misspellings of it, and our product names. The cities are the markets we care about. Also read the history tab from the same spreadsheet, so you know every advertiser we have already recorded in previous runs.

For every combination of brand term and city, first resolve the city with a SerpApi Location Lookup so you have the canonical location name, then run a SerpApi Google Search for that brand term from that location. Read the ads that appear above the organic results and the ads that appear below them. For each ad, capture the advertiser name, the displayed URL, and the ad headline, along with whether it sat above or below the organic results and where our own listing ranked in comparison.

Then work out what each advertiser actually is. Sort every one into a direct competitor bidding on our brand, a reseller, affiliate, or partner using our name legitimately, or a marketplace or directory listing. Ignore our own ads completely, they are never a finding. Compare what you found against the history tab to identify which advertisers are brand new since the last run, meaning they have never appeared for that brand term before.

Append every advertiser sighting to the history tab in Google Sheets, one row per sighting, with the date, brand term, city, advertiser, and ad headline. Always append below the existing rows, never overwrite the history.

Finally, post a Slack alert to our marketing channel using the Slack bot. Lead with the brand new hijackers, naming the advertiser, which brand term and city they showed up on, and their headline, because those are the ones we have not seen before and need to react to. Then summarize the angle each competitor is using in their ad copy, for example undercutting us on price, positioning as an alternative to us, pushing a head to head comparison, or offering a free migration. Then flag any city where a competitor is consistently outranking us on our own brand name across multiple terms or multiple weeks, since that is where we likely need to raise our brand defense bids.

If nothing changed since last week, meaning no new advertisers appeared and nobody moved above us who was not already there, just say so in one line instead of repeating the full list.

## How to customize

- Change the timing: Monday at 8am is the default, but any day or frequency works, and you can run it daily during a competitive push.
- Edit the brand terms and cities directly in the spreadsheet. Add misspellings of your name, product names, or new markets and the next run picks them up.
- Adjust what counts as a competitor versus a legitimate reseller or affiliate, and change which Slack channel or team gets the alert.

## Example output

Brand bidding watch - Monday 8am

NEW THIS WEEK (2 advertisers never seen before)
1. Northwind Systems - term "acme crm", Chicago and Denver. Headline: "Switching from Acme? Migrate free in 24h". Direct competitor, running a switching angle with a migration offer.
2. crmdealfinder.net - term "acme crm pricing", Phoenix. Headline: "Acme CRM Coupon Codes 2026". Affiliate, coupon bait on our pricing term.

ANGLES COMPETITORS ARE RUNNING
- Northwind Systems: switching cost removal (free migration, 24h setup).
- Vertex Suite: head to head comparison, "Acme vs Vertex, see the numbers".
- Brightline: price undercut, "Half the cost of Acme, same features".

CITIES WHERE WE ARE BEING OUTRANKED ON OUR OWN NAME
- Denver: Northwind ranked above us on 3 of 4 brand terms. Worth raising brand defense bids.
- Chicago: Vertex Suite above us on "acme crm" two weeks running.

LEGITIMATE, NO ACTION NEEDED
- Acme Partner Group and TechResell both ran reseller ads consistent with their agreements.

18 sightings appended to the history tab.

## FAQ

### Why does this check each city separately?

Ads on brand terms vary a lot by location. A competitor might outbid you heavily in one metro and be completely absent in another. Checking city by city shows you exactly where the problem is, so you can respond in the markets that matter instead of guessing from a single national view.

### Will it flag my own ads as a problem?

No. You tell it which advertiser names and display URLs are yours, and those are ignored completely. The report only covers other advertisers appearing on your brand terms.

### What happens if nothing changed since last week?

You get a single line saying nothing changed, rather than the same full list again. That keeps the weekly alert worth reading and means anything you do see is genuinely new.

### Do I need a Google Ads account for this to work?

No. It reads the ads that appear on public Google search results pages, the same ones any searcher would see. It does not need access to anyone's ad account, including your own.

### How many brand terms and cities can I track?

Every combination of a brand term and a city is one search, so ten terms across five cities is fifty searches per run. Most teams start with their core brand name plus a couple of variants in their top markets, then expand once they see what comes back.

### What do I actually do with the results?

Two common responses. If a direct competitor is consistently beating you on your own name in a market, that is usually a case for raising your brand defense bids there. If someone is using your trademark in their ad copy without permission, the log gives you the dated evidence to file a complaint.

Use this prompt in General Input: https://www.generalinput.com/prompts/weekly-alert-on-who-is-bidding-on-your-brand-name-in-google