Meta Ads Prospect Finder: Advertisers With Leaky Sites
Pricing
from $30.00 / 1,000 companies
Meta Ads Prospect Finder: Advertisers With Leaky Sites
Pair active Meta ads with an HTTP homepage check for forms, booking links and visible tracking. Get prioritised agency prospects with evidence and review prompts. A screening score, not measured conversion loss.
Pricing
from $30.00 / 1,000 companies
Rating
0.0
(0)
Developer
Jessy Mariau
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
Start an agency prospect list with observable evidence: active Meta ads on one side, a homepage check on the other. Get a score and specific findings to review before offering a landing-page, tracking or website project.
The Actor checks homepage HTML. It does not measure ad spend, conversion rate or lost revenue, and it does not audit every ad landing page. Its value is a shorter research list with an explicit reason to investigate.
See the result first
Leave company domains, Maps search and optional records empty, then run. The three fictional examples use the production scoring rubric without external requests or Actor event charges.
| Fictional company | Active ads | Score | Band |
|---|---|---|---|
| Demo Kitchens Ltd | 14 | 87 | HOT |
| Demo Dental Studio | 2 | 25 | COLD |
| Demo Plumbing | 0 | 35 | COLD |
These are actual outputs from the built-in fictional demo, not customer results. Open the dataset to inspect every reason, then export the rows as JSON, CSV or Excel.
Cost of a real run
$0.03 per company checked, including unresolved companies and rows excluded by minScore. Checking 20 companies costs $0.60 in this Actor's events; the same list weekly for four weeks costs $2.40.
Meta Ad Library reads use curious_coder/facebook-ads-library-scraper and add its charges. An optional Maps search also runs compass/crawler-google-places with its contacts add-on. Both use your Apify account and require a compatible plan. maxAdsPerCompany caps the number of ads requested for each company. Check the Pricing tab and your Apify plan for current platform or standby usage costs.
What I look at
Every company gets a score out of 100. Four things feed it, and they add up to exactly 100.
Observed ad activity, worth 40. SCALING is a rubric label for five or more active ads, or one ad that has been running 90 days or longer. TESTING is a rubric label for one to four active ads. DORMANT means the page had ads on the last run under the same watch key and has none now. NOT_ADVERTISING scores nothing here and is always COLD, because the screening rubric prioritises active ads. UNRESOLVED means I could not find a Facebook page for the company at all, and it is also COLD.
Capture elements not found in HTML, worth 25. The homepage has no contact or lead form (15), or no booking link and no click-to-call phone number (10).
Tracking not found in HTML, worth 20. No Meta pixel (12), no Google tag (8). When a Google Tag Manager container is present and no pixel is visible I do not award the pixel points, because the pixel may be inside the container.
Site basics, worth 15. A dead site, a site that does not resolve, or a social profile where the website should be takes the full 15. A live site can lose points for plain http, no mobile viewport tag, a homepage that takes over three seconds or weighs over two megabytes, and a footer copyright three or more years behind.
HOT is 60 or more. WARM is 35 to 59. Everything else is COLD. Every row carries the rubric reasons with their numbers, and up to three pitch sentences written from that row alone, like this one:
The Ad Library shows 14 active Meta ads. The homepage HTML checked shows no form, no booking link and no pixel; review the actual ad landing page and browser-rendered site before drawing conclusions.
How a domain becomes an advertiser
The Ad Library is indexed by Facebook page, not by website. When you give me a domain I open the homepage and look for the Facebook page it links to, usually in the footer. When you give me a Maps search I ask the Google Maps scraper for the contacts add-on, which does the same job from its side. When you give me a Facebook page URL directly I skip that step. The row says which route found the page in fb_page_source, and when no route found one the row is UNRESOLVED rather than a quiet zero.
How to run it
Put one domain or Facebook page per line in the first box. Or leave it empty and give me a Maps category and a town, plus how many results to take. Set the Ad Library country to where the ads are shown. Run it and sort the Overview table on the score column.
Run the same list under the same watch key each week and a company whose ads have stopped comes back as DORMANT.
Leave everything empty and you get three demo rows built by the same rubric: one HOT, one TESTING with a clean site, and one not advertising.
Honest limits
- The stage labels describe observed ad volume and duration, not actual spend, profitability or campaign strategy.
- The website check is one plain request with no browser. A pixel or a tag injected by JavaScript after the page loads is invisible to me, which is why a Google Tag Manager container turns the pixel answer into "unknown" rather than "missing". Large brands with heavy front ends will look barer than they are.
- Some sites answer a plain request with a 403 from their bot wall. Those come back as unreachable, and the reason says HTTP 403, so you can tell a wall from a dead site.
- The Facebook page is found from the homepage footer. A company that links to its page only from a contact page, or not at all, comes back UNRESOLVED. In my own tests, five of six national brands resolved this way and three of ten Bolton dentists did. Local firms link to Facebook far less often than you would think, so expect most of a Maps run to be UNRESOLVED and read the resolved rows as the product.
- If the Ad Library scraper cannot read a page, the row is UNRESOLVED. Read
ads_errorfor the reason. - An online shop captures the click at its checkout, so when I see a cart or a shop platform on the homepage I give no capture points. The form and booking checks are for service businesses.
- Active ad counts are capped by the ads-per-company setting and by what the Ad Library shows for the chosen country. The count is a floor, not a census.
- None of this is a judgement about the business. It describes what the Ad Library and the homepage showed on the day I read them.
Use it from an AI agent
Hand the search to an AI agent by adding this Actor as an MCP server. The endpoint is https://fractionalhqforyou--advertisers-with-leaky-sites.apify.actor/mcp and the single tool, find_leaky_advertisers, takes the same Ad Library query and returns the advertisers and their site findings. Agent runs are billed at the same per-event price. Where a raw endpoint is not supported, apify/actors-mcp-server with fractionalhqforyou/advertisers-with-leaky-sites in its Actor list gives the same tool.
Help with your first run
Open an issue on this Actor with the run ID and the result you expected. Remove API keys and private records before sharing. Built by Fractional HQ, independent design and automation.