Google Ads Transparency Monitor — Competitor Ad Tracking avatar

Google Ads Transparency Monitor — Competitor Ad Tracking

Pricing

from $3.00 / 1,000 ad creatives

Go to Apify Store
Google Ads Transparency Monitor — Competitor Ad Tracking

Google Ads Transparency Monitor — Competitor Ad Tracking

Track which ads your competitors are running on Google. Returns every creative in the Ads Transparency Center for a domain, with first/last shown dates, creative previews and region — built for daily monitoring.

Pricing

from $3.00 / 1,000 ad creatives

Rating

0.0

(0)

Developer

Shota Tatara

Shota Tatara

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Share

Google Ads Transparency Monitor tells you which ads your competitors are running on Google right now. Give it a domain and it returns every ad creative that domain has in the Google Ads Transparency Center — with the first and last date each ad was shown, how many days it has been running, the creative preview, and the region. Press Start with the defaults and you will see real ad data in about fifteen seconds.

The Transparency Center is Google's own public disclosure database, but its interface is built for looking at one advertiser at a time in a browser. This Actor turns it into a structured feed you can schedule, diff and pipe into a spreadsheet, a warehouse or an AI agent. On Apify you also get a REST API, webhooks, and integrations with Zapier, Make, Slack and n8n — so a daily "what did my competitors launch yesterday?" report becomes a five-minute setup.

Why use Google Ads Transparency Monitor?

  • Track competitor campaigns continuously. Ads appear and disappear. A daily run tells you what launched, what is still running after 90 days (usually a winner), and what quietly stopped.
  • Find the creatives worth copying. daysRunning is the cheapest proxy for ad performance available anywhere: advertisers do not keep paying for ads that lose money.
  • Ad intelligence without a subscription. Competitive ad tools charge hundreds a month for a view of this same public data.
  • Market entry and regional research. Query the same advertiser across US, GB, DE, JP and see how the creative strategy changes by market.
  • Agencies and pitch prep. Pull a prospect's entire ad footprint before the call.
  • AI agents and MCP. Every Apify Actor is callable as an MCP tool, so an agent can answer "is this company advertising, and since when?" against the primary source.

How to use Google Ads Transparency Monitor

  1. Click Try for free / Start — the defaults track nike.com in the US so you can see the shape of the data immediately.
  2. Put your own competitors in Advertiser domains, one per line. nike.com, www.nike.com and https://nike.com/ all work.
  3. Pick a Region — an ISO country code such as US, GB, DE, JP, or ALL for every region at once.
  4. Set Max ads in total. This is the only thing that determines the cost of the run.
  5. Run it, then download the dataset as JSON, CSV, Excel or XML — or send it to a webhook.
  6. For continuous monitoring, open the Schedule tab, run it daily, and set Only ads first shown on or after to yesterday's date. You then receive only newly launched creatives.

Input

FieldTypeDescription
domainsarrayAdvertiser websites to track, one per line. Default: nike.com.
regionstringISO 3166-1 alpha-2 country code (US, GB, DE, JP, …) or ALL. Default US.
maxItemsintegerHard cap on ads returned across all advertisers. Default 1000.
maxItemsPerAdvertiserintegerPer-advertiser cap so one large advertiser cannot consume the whole budget. Default 100.
firstShownAfterstringYYYY-MM-DD. Keep only ads first shown on or after this date — this is the daily-monitoring filter.
lastShownAfterstringYYYY-MM-DD. Keep only ads still shown recently.
maxPagesPerAdvertiserintegerSearch-depth safety limit, 40 creatives per page. Default 25.
requestDelayMsintegerMinimum pause between requests. Floored at 1000 ms.
{
"domains": ["nike.com", "adidas.com"],
"region": "US",
"firstShownAfter": "2026-08-01",
"maxItems": 500
}

Output

{
"creativeId": "CR01627280765341401089",
"advertiserId": "AR18378488041124659201",
"advertiserName": "Nike Retail BV",
"advertiserDomain": "nike.com",
"regionCode": "US",
"creativeType": "image",
"previewImageUrl": "https://tpc.googlesyndication.com/archive/simgad/1647651078873472722",
"previewRenderUrl": null,
"firstShownAt": "2025-10-27",
"lastShownAt": "2026-08-14",
"daysRunning": 291,
"transparencyUrl": "https://adstransparency.google.com/advertiser/AR18378488041124659201/creative/CR01627280765341401089?region=US",
"scrapedAt": "2026-08-14T09:13:32.342Z"
}

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Data fields

FieldDescription
creativeId, advertiserIdGoogle's identifiers. creativeId is stable, so you can diff runs to find new ads.
advertiserNameThe verified advertiser name Google displays — often a legal entity, which is useful on its own.
advertiserDomainThe advertiser's website.
regionCodeThe region the search was run for.
creativeTypeimage when Google exposes a static creative, rendered when the ad is an HTML/video unit shown through a preview renderer.
previewImageUrlDirect URL of the creative image, when there is one. Images are linked, never re-hosted.
previewRenderUrlGoogle's rendered-preview URL for non-static creatives.
firstShownAt, lastShownAtISO dates. The pair is the campaign's visible lifespan.
daysRunningDays between first and last shown — the closest thing to a performance signal in public data.
formatCodeGoogle's internal format number. Included raw and deliberately not relabelled: Google does not publish what the codes mean, and guessing would be worse than saying so.
matchedTotalLowerBound, matchedTotalUpperBoundGoogle's own coarse estimate of how many creatives match the query. These are heavily bucketed (100/200, 9,000/10,000, 3,200,000/3,300,000) — treat them as an order of magnitude, not a count.
transparencyUrlDeep link to the ad on Google's site, so any row can be verified in one click.

How much does it cost to track competitor ads?

Cost scales with Max ads in total, not with runtime. One request returns 40 creatives, so a typical competitor pull is a handful of requests. Measured on real runs: 100 ads in about 12 seconds; 5 advertisers at 100 ads each in roughly a minute.

A daily monitor over ten competitors with firstShownAfter set to yesterday usually returns a few dozen rows a day.

The Apify free tier is enough to try the Actor and to run a small daily monitor.

Tips

  • For daily monitoring, set firstShownAfter to yesterday. You pay only for genuinely new creatives instead of re-collecting the whole history.
  • daysRunning is your ranking column. Sort descending and the top of the list is your competitor's proven creative.
  • Compare regions by running the same domain with US, then GB, then DE.
  • Date filters are applied to results in the order Google returns them, so a very narrow date range on a very large advertiser may hit the page limit before filling your item budget. The run warns you when that happens — raise maxPagesPerAdvertiser to search deeper.
  • A proxy is available in Advanced settings but is normally unnecessary. The Transparency Center is public and has no anti-bot challenge. It does rate-limit, and the Actor already backs off and retries automatically.

FAQ

Where does the data come from? Google's own Ads Transparency Center, which Google publishes for advertising-transparency compliance. No login is involved, and the site publishes no robots.txt restricting automated access.

Is this legal? The Actor reads a public disclosure database and collects no personal data — advertisers here are companies, and the fields are advertiser name, domain, dates and creative previews. Creative images stay on Google's servers and are only linked, never copied.

Why is there no ad spend or impression data? Google only publishes spend and impression figures for political ads and for ads shown in the EEA. This Actor returns what the Transparency Center exposes for all advertisers. If you specifically need EEA spend data, Google's public BigQuery dataset is the right source for that.

Does an ad disappearing mean the campaign stopped? Not necessarily. Coverage and retention are Google's choice. Treat disappearance as a signal, not proof.

Why does matchedTotalLowerBound look strange? Because Google reports it in coarse buckets. It is passed through unmodified rather than dressed up as an exact number.

Something broke, or you need a different ad source? Open the Issues tab on this Actor. Google changes its interfaces from time to time, and issues reported there get fixed. Custom variants can be built on request.


Disclaimer: this Actor reproduces publicly disclosed advertising data for research and competitive-analysis purposes. Not affiliated with, or endorsed by, Google.