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.
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.
Example output
What does this prompt do?
- 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 do I need to use this?
- 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
How can I customize it?
- 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.
FAQs
Why does this check each city separately?
Will it flag my own ads as a problem?
What happens if nothing changed since last week?
Do I need a Google Ads account for this to work?
How many brand terms and cities can I track?
What do I actually do with the results?
Related templates
When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.
Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.
Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.
Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.
Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.
Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.
Find out who is buying ads on your own brand name.
Set this up once and every Monday you will know which competitors are targeting your name, in which cities, and who showed up this week.