Use case Leads and enquiries
Find who pays for clicks and loses them
The best prospect for a paid-social, CRO or landing-page agency is a company that is already paying for clicks and losing them. They have a budget, they have proof the channel matters to them, and the fix is visible from the outside. I built this to find them without opening the Ad Library and forty websites by hand.
The question this page answers
How do I find companies that are running Meta ads right now onto a website with no form, no booking link and no pixel?
How the working version is put together
Give it domains, pages or a Maps search
One company domain or Facebook page per line. Or leave that box empty and give me a Google Maps category and a town, with how many results to take. Set the Ad Library country to where the ads are shown. Leave everything empty and you get three demo rows built by the same rubric, which costs nothing.
Turn a domain into 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. A Maps search asks the Google Maps scraper for its contacts add-on, which does the same job from its side. The row says which route found the page, and when none did it is UNRESOLVED rather than a quiet zero.
Count the live ads
The Ad Library read runs on a public Ad Library scraper on your own Apify account, capped by the ads-per-company setting. SCALING is five or more active ads, or one that has run ninety days or longer. TESTING is one to four. 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 whole pitch depends on live spend.
Open the website once
One plain request, no browser. I look for a contact or lead form, a booking link or a click-to-call number, a Meta pixel and a Google tag. I also note plain http, a missing mobile viewport tag, a homepage over three seconds or two megabytes, and a footer copyright three or more years behind. A cart on the homepage means an online shop, which captures the click at its checkout, so no capture points are given.
Score it out of 100
Ad spend stage is worth 40, no way to capture the click 25, no way to measure it 20, and site basics 15. The lines add to exactly 100. HOT is 60 or more, WARM is 35 to 59, the rest is COLD. Every row carries the rubric reasons with their numbers and up to three pitch sentences written from that row alone.
What three real domains scored
The first real run took three UK domains and found every one of them SCALING. Lookfantastic had 58 active Meta ads in the Library, Toolstation 24 and Pimlico Plumbers 6. All three scored 40, WARM, and for three different honest reasons. Lookfantastic and Toolstation are shops, so the cart is their capture and the form check does not apply. Both run a Google Tag Manager container, so the pixel is unknown rather than missing and no measurement points were given. Pimlico Plumbers earned its 40 on ad stage alone: the site has a form with a phone field, a click-to-call link, a Meta pixel and a Google tag, so there was no leak to score.
That run cost nine cents of my fee plus the Ad Library reads on my own account. Three clean sites at 40 is the rubric working. National brands with a paid team are not the target, and a tool that called them HOT would be lying to you.
What ten Bolton dentists showed
The Maps run searched dentist in Bolton and took ten practices. Only three resolved to a Facebook page through the Maps contacts add-on, and seven came back UNRESOLVED. Of the three, one chain practice was SCALING with 29 active ads and scored 55, WARM, and two were NOT_ADVERTISING. 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.
What one plain request cannot see
A pixel or a tag injected by JavaScript after the page loads is invisible to me, which is why a Tag Manager container turns the pixel answer into unknown. 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, and those come back as unreachable with the code in the reason, so you can tell a wall from a dead site.
What it costs to run
Three cents per company checked, whatever the outcome. The Ad Library scraper bills your own Apify account on top at its own per-ad price, bounded by the cap you set, and the Maps search with its contacts add-on bills the same way. Run the same list under the same watch key each week and a company whose ads have stopped comes back as DORMANT.
Read this before you spend anything
When I would tell you not to bother
If your list is national brands, expect WARM at best. They have a paid team, a tag container and a checkout, and the rubric says so.
The Facebook page is found from the homepage footer or the Maps contacts add-on. A company that links to its page only from a contact page, or not at all, comes back UNRESOLVED and is not charged for ads it may well be running.
Active ad counts are capped by the setting and by what the Ad Library shows for the chosen country. The count is a floor, not a census, and none of this is a judgement about the business.
What lands on your desk
- One row per company: leak score out of 100 and a HOT, WARM or COLD band
- Ad stage, active ad count, the longest-running ad in days and a sample landing URL
- What the homepage has and lacks: form, booking or call link, cart, Meta pixel, Google tag, Tag Manager
- Every rubric line that fired, with its numbers
- Up to three pitch sentences written from that row alone
- If you want the HOT rows flowing into a CRM with a first email drafted per company, that is the work I do
Open the proof
Published case studies of systems that are running. Each links to the thing itself.
Other builds in this cluster
Same pattern, each one aimed at a different part of the business and linking to its own page.
Questions this page answers
- Where do the ads come from?
- The Meta Ad Library, read through a public scraper on your own Apify account, filtered to the country you set. Only ads shown in that country count.
- Why is a company UNRESOLVED?
- I could not find its Facebook page from the homepage footer or the Maps contacts add-on, so I could not look it up in the Ad Library. In the Bolton dentist run, seven of ten practices came back that way.
- Does a shop score for having no form?
- It does not. A cart or shop platform on the homepage is its way of capturing the click, so no capture points are given. The form and booking checks are for service businesses.
- Have you run it on real companies?
- Yes, on three UK domains and on ten Bolton dentists from a Maps search, and both runs are on this page. All three domains were SCALING and all three scored WARM, because their sites were clean.
- What does it cost?
- Three cents per company checked. The Ad Library scraper and, when you use it, the Maps search bill your own Apify account on top.
Want this built and handed over working?
One line is enough to start. You get an honest answer on fit, and a number rather than a discovery call.
Start a brief


