Businesses Running Ads - Meta, TikTok & Google Pixel Check avatar

Businesses Running Ads - Meta, TikTok & Google Pixel Check

Pricing

from $2.00 / 1,000 site checkeds

Go to Apify Store
Businesses Running Ads - Meta, TikTok & Google Pixel Check

Businesses Running Ads - Meta, TikTok & Google Pixel Check

Check any list of websites (or a Google Maps dataset) for Meta, TikTok, Google Ads, Pinterest and Snap pixels, including ones loaded through Google Tag Manager. Leads for ad agencies.

Pricing

from $2.00 / 1,000 site checkeds

Rating

0.0

(0)

Developer

mohamed alaya

mohamed alaya

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a month ago

Last modified

Security

Limited permissions

Share

Give it a list of websites, or the website column of a Google Maps scraper dataset, and it tells you which sites have Meta, TikTok, Google Ads, LinkedIn, Pinterest, Snap, Reddit, Microsoft or X ad pixels installed, including pixels hidden inside Google Tag Manager. Made for ad agencies and freelancers who want a list of businesses that already spend money on advertising.

It does not scrape Google Maps or any social network. It only reads the public homepage of each website you give it (plus the public Google Tag Manager script when the page loads one).

What a pixel does and does not prove

A Meta, TikTok or Google Ads pixel proves that tracking code for that ad platform is installed on the site. Businesses install it to measure ads and to retarget visitors, so it is a strong hint that they advertise or did. It does not prove that ads are running today or how much is spent. The output flag is called adsLikelyRunning for that reason: it is true when at least one ad-platform pixel was found with confidence 70 or more. Check the Meta Ad Library or the Google Ads Transparency Center before you pitch.

Quick start (3 copy-paste examples)

1. See it work (empty input): run with {}. You get three labelled synthetic demo pages checked offline (free).

2. A list of websites:

{ "urls": ["https://www.allbirds.com", "https://example-dentist.com"], "readTagManager": true }

3. A Google Maps dataset (pick the dataset in the "Lead dataset" field, or give its id):

{ "datasetId": "YOUR_DATASET_ID", "onlyAdSites": true, "maxSites": 500 }

Use it with (pipelines)

  • compass/crawler-google-places (Google Maps scraper) -> this Actor. It reads each row's website (and title, placeId for the label). Result: every local business in the area that has ad pixels, ready for outreach.
  • Any lead list or CSV with a column named website, websiteUrl, companyWebsite, domain or site. Use "Website column name" for other names.

Field names: website, title and placeId are taken from the Google Maps scraper's documented output (from documentation, not checked against a fresh export). The Tag Manager reading was checked against a real public container on 2026-10-10 (see limits).

Input guide

FieldWhat it does
WebsitesOne address per line.
Lead datasetDataset picker (read-only access). Each website is checked once.
Or paste rowsJSON, JSON lines or CSV with a website column.
Website column nameOnly if your column is not one of the usual names.
Read Google Tag Manager containersReads the public gtm.js container of up to 3 GTM ids per page. On by default.
Only output sites with an ad pixelHide sites without ad pixels.
Maximum sites / Parallel requestsSafety cap (default 100) and politeness (default 5).

Output

One row per website (type: "site"), errors as type: "error" rows.

FieldMeaning
site, business, titleThe address, the business name from your data (or the page title).
adsLikelyRunningTrue when an ad-platform pixel was found with confidence 70+. Tracking installed, not proof of spend.
adStackOne lead-ready line, e.g. Ads: Meta Pixel 123456789012345, TikTok Pixel (via GTM) | Analytics: Google Analytics 4.
platformsNames of the ad platforms found.
pixelsPer tag: platform, kind (ads / analytics / heatmap), ids (pixel or measurement ids found), confidence 0-99, confidenceLabel, foundIn (homepage or gtm:GTM-XXXX).
gtmContainersGoogle Tag Manager ids on the page.
noteThe plain statement above.

Sample row:

{ "type": "site", "site": "https://demo-shop.example", "business": "Demo Online Shop (synthetic)", "adsLikelyRunning": true,
"adStack": "Ads: Meta Pixel 1234567890123456 (via GTM), TikTok Pixel CABCDEFGHIJ1234567 (via GTM), Google Ads AW-987654321 (via GTM)",
"platforms": ["Meta Pixel (Facebook / Instagram ads)", "TikTok Pixel", "Google Ads (conversion / remarketing)"],
"gtmContainers": ["GTM-DEMO123"] }

Detected: Meta, TikTok, Google Ads (AW- ids and conversion scripts), LinkedIn Insight, Pinterest, Snap, Reddit, Microsoft/Bing UET, X (Twitter), Criteo; analytics Google Analytics 4, Universal Analytics; Hotjar and Microsoft Clarity. Confidence combines independent hits (a script URL plus an init call with an id is stronger than a bare function name).

Price

Pay per event: $0.002 per website checked and $0.003 more for each site where an ad pixel was found. Unreachable sites and the free demo are never charged. Example: 500 websites, 180 with ad pixels = 500 x $0.002 + 180 x $0.003 = $1.54.

FAQ

Does it tell me who is paying for ads right now? No. It shows which ad platforms a site is wired up for. Use it to build a shortlist, then confirm in the platforms' public ad libraries.

Why did a known advertiser show nothing? Pixels can be loaded only after a cookie banner is accepted, from a server-side container, or on pages other than the homepage. This Actor reads the homepage HTML and the public GTM script only.

Does it use a browser? No, plain HTTP requests, with an automatic retry through Apify proxy when a site blocks the first attempt.

Honest limits

  • No JavaScript is executed. Tags injected after consent, by server-side tagging, or only on inner pages are missed.
  • A found pixel is not proof of active spend. A missing pixel is not proof of no advertising.
  • Pixel ids are what the page or container text contains; a container can hold ids for several brands.
  • Weak signals (a bare fbq( call) get low confidence and do not set adsLikelyRunning alone.
  • Tested here on synthetic pages and one live public Tag Manager container (Allbirds), not on a large real lead list.