DEV Community

Yusuf Ege Usta
Yusuf Ege Usta

Posted on AI-assisted

How to track a competitor's Google Ads every week (without clicking through the Transparency Center)

Google publishes every ad a company runs in the Ads Transparency Center. It's a great resource with one big gap: it has no history and no alerts. You can see what a competitor is running today, but not what they launched this week or what they quietly switched off.

This post shows a simple weekly routine that fills that gap, and the tool I built to automate it.

What the Transparency Center gives you (and what it doesn't)

For every advertiser you get:

  • every text, image and video ad they've run, with a preview
  • the first and last date each ad was shown
  • filters for country, platform (Search, YouTube, Shopping, Maps, Play) and format

What you don't get for commercial ads: spend, impressions, clicks or targeting. Google doesn't publish those, so be suspicious of any tool that claims to show them.

The manual way

  1. Open adstransparency.google.com.
  2. Search the competitor's name or domain.
  3. Pick a country and scroll.
  4. Next week, do it again and try to remember what was there last time.

Step 4 is where it falls apart. With three competitors in two countries it's an hour of scrolling, and you still miss things.

The one signal worth tracking: what changed

Two changes tell you the most:

  • New ads show you what they're testing right now: new offers, new landing pages, new angles.
  • Stopped ads are usually tests that lost.

There's also a quieter signal. Ads that keep running for months are rarely losers. Nobody pays for a bad ad for 200 days. That's an observation, not proof of performance, but it's a useful shortlist when you're looking for angles to learn from.

Automating it

I built an Apify Actor that does the weekly diff for you:
Google Ads Transparency Scraper & Competitor Ad Monitor

Step 1: tell it who to watch

Type a domain (tesla.com), a brand name (Nike), or a Transparency Center advertiser URL. Pick a country if you only care about one market.

Step 2: run it once

The first run saves a baseline. You get one row per ad, with:

  • a preview image of the ad right in the results table
  • first shown, last shown and days active
  • for video ads: the YouTube link, its length, and the landing page the ad sends people to
  • a link to verify each ad on Google's own page

Step 3: schedule it weekly

From the second run on, every ad is labelled new, stopped or continuing compared to last time. Turn on Only push changes and each run becomes a short changelog: "3 new video ads pointing to /solarpanels, 2 image ads stopped."

Export it as CSV/Excel, or send it to Google Sheets or Slack with Apify's built-in integrations.

Bonus: who else advertises your domain?

The landingDomains option returns ads from every advertiser whose ads point to a domain, not just the brand itself. When I tried nike.com (US), it found 7 advertisers: Nike's own accounts, two media agencies, and a trading company I'd never heard of. If you manage a brand, that's a cheap way to spot resellers or impostors bidding on your traffic.

Cost

It's pay-per-result: $1 per 1,000 ads, plus $2 per 1,000 detected changes. A weekly check on a handful of competitors costs cents. Blocked or empty answers are never charged.

Limits, stated plainly

  • No spend, impressions or targeting. Google doesn't publish them.
  • "Days active" means Google showed the ad over that period. It doesn't tell you budget.
  • Text and image ads come as rendered images, so the ad copy is in the picture, not in a text column.

If you run competitive research for clients, I'd love to hear which signals you'd want added next.

Top comments (0)