September 20, 2026 · 9 min read

Google Ads Transparency Center Scraper: 3 Practical Use Cases

By Crawlerbros Engineering Team

Direct answer

The Google Ads Transparency Center Scraper extracts real-time and recent ad creatives served across Google surfaces by querying landing-page domains or exact advertiser IDs. It captures critical fields including advertiserId, advertiserName, creativeId, creativeUrl, format, previewImageUrl, previewContentUrl, firstShownAt, and lastShownAt directly from Google's public index without requiring API keys or user logins. To use this data effectively, PPC managers, brand safety auditors, and competitive intelligence analysts must pair explicit target criteria with validation rules. Setting initial caps, matching domains over raw names, and isolating stable advertiser IDs ensures extracted records immediately drive strategic ad audits and creative teardowns.

Choose the right input strategy

Google Ads Transparency Center Scraper offers two distinct lookup paths via the mode parameter. Understanding how upstream search endpoints behave prevents empty datasets and failed workflows.

  • Domain search (mode="byQuery"): The upstream Google endpoint reliably matches landing-page domains such as nike.com. Free-text brand names like Nike frequently return zero results. Passing a verified root domain is the recommended starting strategy for discovering an entity's ad portfolio.
  • Exact ID lookup (mode="byAdvertiserId"): For automated or recurring workflows, pass exact advertiser identifiers like AR16735076323512287233 into advertiserIds. You can extract this ID from the results of an initial byQuery run or directly from an adstransparency.google.com/advertiser/... URL.

Filter controls refine your extraction scope before data reaches downstream databases. Use region to pass ISO market codes like US or GB. Filter formatting using adFormat set to TEXT, IMAGE, or VIDEO. Narrow distribution surfaces with platform configured for SEARCH, MAPS, SHOPPING, PLAY, or YOUTUBE. Date boundaries dateFrom and dateTo evaluate ads using YYYY-MM-DD strings based on when creatives were last active.

Practical use cases

These use cases come from Google Ads Transparency Center Scraper's published documentation. Each is expanded into an operating pattern so the Google Ads Transparency Center Scraper output has a purpose beyond collection.

Use case 1: Competitive intelligence

Outcome: see what ad creatives a competitor is running right now.

Question to answer: Once records are grouped fairly, which comparisons actually hold up and which were an artifact of the grouping?

Configure: Start with query (A landing-page domain, e.g. nike.com. The upstream endpoint reliably matches domains; free-text brand names (e.g. Nike) frequently return zero results, so a domain is strongly recommended. For a name-independent lookup, find the advertiserId from a first byQuery run and reuse it with mode=byAdvertiserId.), adFormat (Restrict to a single ad format. Leave unset for all formats.), proxyConfiguration (The Ads Transparency RPC endpoint occasionally bot-checks (302) requests from a given datacenter IP, especially for mode=byAdvertiserId. This actor retries failed requests through Apify's free AUTO datacenter proxy group (a fresh IP per retry) - no paid/residential proxy is required.). Use the narrowest Google Ads Transparency Center Scraper values that represent the real task, keep the first result set small, and record why each selected input matters to the Google Ads Transparency Center Scraper outcome.

Working method: Decide the comparison axis first, then place every record into a cohort before looking at outcomes. Keep raw and normalized values side by side, and review the records that do not fit any cohort instead of dropping them.

Deliverable: Create a comparison worksheet showing cohort membership, the compared fields side by side, and any record that did not fit. Include the Google Ads Transparency Center Scraper source identifier and the collected fields behind every Google Ads Transparency Center Scraper decision.

Stop condition: Pause when the cohorts are structurally different, coverage is uneven, or the ranking depends mainly on missing values. Fix the Google Ads Transparency Center Scraper question, comparison rule, or configuration before expanding the Google Ads Transparency Center Scraper run.

Use case 2: Ad compliance monitoring

Outcome: audit an advertiser's messaging and formats.

Question to answer: Which of today's differences are real signal, and which are just noise from how the source renders data?

Configure: Start with adFormat (Restrict to a single ad format. Leave unset for all formats.), query (A landing-page domain, e.g. nike.com. The upstream endpoint reliably matches domains; free-text brand names (e.g. Nike) frequently return zero results, so a domain is strongly recommended. For a name-independent lookup, find the advertiserId from a first byQuery run and reuse it with mode=byAdvertiserId.), advertiserIds (Exact Google Ads Transparency Center advertiser IDs, e.g. AR16735076323512287233. Find one via mode=byQuery first, or from a adstransparency.google.com/advertiser/... URL.). Use the narrowest Google Ads Transparency Center Scraper values that represent the real task, keep the first result set small, and record why each selected input matters to the Google Ads Transparency Center Scraper outcome.

Working method: Keep a snapshot from every run and diff it against the previous one using a stable identifier. Bucket the differences into new, removed, and changed, then attach a plain-language reason to any change that crosses your action threshold.

Deliverable: Create a monitoring log that pairs every flagged change with the two runs it was confirmed across. Include the Google Ads Transparency Center Scraper source identifier and the collected fields behind every Google Ads Transparency Center Scraper decision.

Stop condition: Pause when records cannot be matched reliably over time, collection scope changed between runs, or missing data looks like a real-world change. Fix the Google Ads Transparency Center Scraper question, comparison rule, or configuration before expanding the Google Ads Transparency Center Scraper run.

Use case 3: Brand safety

Outcome: verify what ads are (and aren't) associated with a domain.

Question to answer: Setting reach aside for a moment, which candidates actually match the brief on content and audience fit?

Configure: Start with query (A landing-page domain, e.g. nike.com. The upstream endpoint reliably matches domains; free-text brand names (e.g. Nike) frequently return zero results, so a domain is strongly recommended. For a name-independent lookup, find the advertiserId from a first byQuery run and reuse it with mode=byAdvertiserId.), advertiserIds (Exact Google Ads Transparency Center advertiser IDs, e.g. AR16735076323512287233. Find one via mode=byQuery first, or from a adstransparency.google.com/advertiser/... URL.), platform (Restrict to ads shown on a single Google surface. Leave unset for all platforms.). Use the narrowest Google Ads Transparency Center Scraper values that represent the real task, keep the first result set small, and record why each selected input matters to the Google Ads Transparency Center Scraper outcome.

Working method: Turn the brief into a short checklist of observable signals, then score reach and brand fit as two separate numbers instead of one blended score. Look at several recent posts per candidate rather than a single profile snapshot.

Deliverable: Create a shortlist with reach and fit reported separately, plus a documented reason for every candidate that was passed over. Include the Google Ads Transparency Center Scraper source identifier and the collected fields behind every Google Ads Transparency Center Scraper decision.

Stop condition: Pause when the brief cannot be expressed as observable criteria, recent content is unavailable, or a score hides a material brand-suitability concern. Fix the Google Ads Transparency Center Scraper question, comparison rule, or configuration before expanding the Google Ads Transparency Center Scraper run.

Execution workflow for ad extraction

  1. Establish query parameters: Determine whether your target is a landing domain or a known advertiser ID. Choose byQuery for broad discovery or byAdvertiserId for focused tracking.
  2. Configure extraction rules: Set filtering parameters including region, adFormat, and platform. Define date limits using dateFrom and dateTo to isolate relevant operational windows.
  3. Execute test extraction: Run the Actor with a low maxItems limit (such as 10 to 20) to inspect returned records. Confirm that fields like creativeId, advertiserName, and previewImageUrl populate properly.
  4. Normalize and validate output: Parse timestamp strings (firstShownAt, lastShownAt) into standardized dates. Check for missing optional preview fields and assign fallback handles where applicable.
  5. Store and distribute results: Push validated ad records into downstream analytics databases, compliance dashboards, or creative swipe files for team review.

Technical limitations and operational constraints

  • Upstream single-page limit: The Google Ads Transparency Center backend serves a maximum of 100 ads per lookup and does not expose a public pagination cursor. Setting maxItems above 100 will still yield at most 100 records per run.
  • Date filter behavior: Because upstream requests return only the single most recent batch of up to 100 ads, setting dateTo to an older date range may return zero results for highly active advertisers. Active brands continuously refresh their top 100 slots with recent items whose lastShownAt date is today or yesterday.
  • Preview asset variations: Text-format ads return static archived screenshots in previewImageUrl. Rich-media, interactive, or video ads return script pointers in previewContentUrl instead. Data pipelines must handle both asset structures gracefully.
  • Proxy rotation requirement: Upstream RPC endpoints occasionally issue HTTP 302 challenges when processing byAdvertiserId requests from fixed datacenter IPs. Rely on Apify's free default proxy group to rotate IP addresses automatically on retry.

Data verification checklist

  • Confirm that mode="byQuery" uses clean domain strings like nike.com rather than free-text brand names.
  • Verify that advertiserId values captured during initial discovery runs are stored for future direct lookups.
  • Check that both previewImageUrl and previewContentUrl are handled by downstream media ingest pipelines.
  • Validate that ISO-8601 strings (firstShownAt) and Unix epoch timestamps (firstShownTimestamp) map to identical date values.
  • Ensure automated workflows alert team members when total returned items fall to zero unexpectedly.

Frequently asked questions

Why does searching a brand name return zero ads?

Google's upstream search endpoint reliably indexes domain names rather than free-text strings. Querying nike.com yields consistent records, whereas searching Nike often returns an empty array.

How do I locate an exact advertiser ID?

Run an initial search using mode="byQuery" with the target domain. Extract the advertiserId field from the output dataset, or copy the string directly from an adstransparency.google.com/advertiser/... URL.

What causes dateTo filtering to yield zero results?

The upstream service returns only the most recent 100 ads without pagination. For continuous advertisers, all 100 returned items have very recent lastShownAt dates. Setting dateTo in the past excludes these recent items, resulting in zero matches.

Why do preview fields differ across extracted ads?

Text ads are rendered as archived screenshot images, populating previewImageUrl. Dynamic, interactive, or video creatives rely on web scripts to render properly, which populates previewContentUrl instead.

Do I need residential proxies or paid add-ons to run this Actor?

No. Apify's default free datacenter proxy configuration automatically resolves occasional HTTP 302 bot checks issued by Google's backend.

Resources

● Featured actors

Google Ads Transparency Center Scraper

Scrape live and recent ads shown through Google - search by advertiser name, domain, or exact advertiser ID. Get ad format, preview image/creative, advertiser identity, and first/last shown dates from the public Ads Transparency Center.

Run on Apify ↗