← Use cases

Use case

How Long Has That Ad Been Running? Creative Longevity from the Transparency Center

Google publishes no impressions or spend — but it does publish first-shown and last-shown per creative, and the gap between them is the signal most people are really after.

The question everyone asks about a competitor’s advertising is “what’s working?” — and the honest answer is that Google will not tell you. There are no impressions in the Ads Transparency Center, no spend, no clicks and no reach, for any ordinary commercial advertiser. Tools that offer you those numbers for a Google ad are not getting them from here.

What Google does publish, per creative, is the date it was first shown and the date it was last shown. That is a weaker signal than spend, and it is a far better one than nothing, because it is behavioural: an advertiser who has kept a creative live for two years has voted with their budget, repeatedly, in a way no engagement metric can fake.

The idea

Run length — last_shown minus first_shown — separates three populations inside a competitor’s library:

  • Evergreen. Running for a year or more and still live. These are the creatives the advertiser has decided work. If you are looking for what to imitate, look here.
  • Tests. A few days or weeks, and stopped. Interesting in aggregate — a burst of short-lived creatives around one date is a campaign launch — and misleading individually.
  • Retired. Ran a long time, then stopped. Worth a second look: something changed, and the date it stopped often lines up with a product or pricing change you can find elsewhere.

None of that needs a metric Google withholds. It needs two dates and a subtraction.

The input

{
  "queries": ["nike.com", "geico.com"],
  "region": "US",
  "maxResults": 200
}

Use a domain rather than a company name where you know it. A name goes through Google’s own advertiser search and takes the best match — searching “Nike” on 7 September 2026 returned NIKE SRL in Italy and several unrelated advertisers alongside Nike, Inc. Every row records the route in matched_by, so a name-resolved row is visible as such.

Pick the region deliberately. Google keeps a separate library per country and the same advertiser’s volume differs wildly between them — on 7 September 2026, one advertiser was stated at 8,000–9,000 creatives in the US, 20,000–30,000 in Germany and 400–500 in Japan. “Their ads” is not a country-independent question.

What comes back

{
  "advertiser_name": "Nike, Inc.",
  "advertiser_domain": "nike.com",
  "creative_id": "CR06973324123149697025",
  "creative_type": "image",
  "creative_image_url": "https://tpc.googlesyndication.com/archive/simgad/...",
  "first_shown": "2024-04-05T19:52:49Z",
  "last_shown": "2026-09-07T06:20:18Z",
  "region": "US",
  "advertiser_creatives_low": 8000,
  "advertiser_creatives_high": 9000,
  "matched_by": "domain"
}

That creative has been running since April 2024 and was live the morning this was written — nearly two and a half years. Sorted by run length, rows like that come to the top and the week-long tests fall to the bottom, which is the whole analysis.

Two things to be careful about

last_shown moves. For a currently-running creative it is close to now, so it is a snapshot rather than a fixed fact. If you want a real history, run this on a schedule and keep the results; creative_id is Google’s own and stable, so appending runs and de-duplicating on it gives you a genuine longitudinal record rather than a series of unrelated pulls.

You are almost certainly sampling. advertiser_creatives_low and _high state what Google says the whole library holds in that region — a range, because Google refuses to publish an exact count. With maxResults: 200 against a stated 8,000–9,000, you have roughly 2% of it, and “the longest- running creative in my sample” is a different claim from “their longest-running creative”. Raise the cap when the claim matters; at $0.0015 per creative a full 9,000-creative library is about $13.50, so it is a decision rather than an accident.

What you cannot conclude

Run length is a proxy and it has limits worth stating. A long-running creative is evidence of commitment, not of performance — some are evergreen brand assets that were never optimised against anything. A short run may be a test, or it may be a seasonal campaign that ended exactly as planned. And a creative that is absent entirely is not evidence of anything: you may simply have sampled the first 200 of nine thousand.

The Transparency Center also holds only what ran through Google’s ad systems. A competitor’s spend on other platforms is invisible here, so “how much are they advertising” is not a question this answers — only “what have they run, and for how long”, which is the part Google actually publishes.

The full how-to guide covers the rest of the input, including why the proxy is on by default and how a throttled run tells you so instead of returning an empty result.

The actor itself — Google Ads Transparency Center & Competitor Ad Scraper — lists its live health, its nightly canary record and its current price.

If the advertisers you are tracking sell online, Shopify Store Intel covers what they actually sell — useful next to what they say in their ads.

Last updated 2026-09-07