AI Systems · AdRadar · Three platforms live

AdRadar labels every competitor ad, then reads the strategy off the labels

Cross-platform competitive intelligence for teams competing in many markets at once. It collects LinkedIn, Meta and Google ads from the public transparency libraries, labels every creative and landing page for funnel stage, offer, audience and claim, then reads the strategy per market, per platform and across all three.

3 platformsLinkedIn, Meta and Google in one workspace
Every ad labeledfunnel stage, offer, audience, claim
The blind spot

Competing globally against companies that outspend you in every market

At PingPong we competed with enterprises running paid programs in dozens of countries at once. For a performance marketer, knowing what those companies are actually doing is not optional. It sets your positioning, your budget split, and the markets you can realistically win.

The information was public and still unusable. A single competitor had hundreds of live creatives across LinkedIn, Meta and Google, in market after market. Opening an ad library gives you a scroll of cards with no country cut, no funnel read, and no way to see how the three platforms divide the work between them. I read forty cards by hand once and stopped, because forty cards out of several hundred is an anecdote.

Two views were missing and both mattered: what a competitor runs in one country, and how their channels coordinate across all of them.

01 · Collect Open three ad libraries

LinkedIn, Meta and Google each publish their own, in their own format, with no shared competitor record between them.

3 tabs, no export
02 · Read Scroll the cards

One creative at a time, in the order the library feels like showing them. No country cut, no funnel read, no way to sort by anything that matters.

~40 read by hand
03 · Record Retype it into a sheet

Message, offer, destination and market, keyed in by hand, with the categories invented differently every time somebody new does it.

an afternoon
04 · Conclude Stop, because 40 is an anecdote

A single competitor was running several hundred live creatives. Any read off the fraction you managed to log is a guess wearing a spreadsheet.

no defensible answer
40 of several hundred What one manual pass over a single competitor actually covered before it stopped being worth the afternoon. The information was public the whole time. What was missing was a way to read all of it at once.
Three options on the table

Ad-intel suites, a chatbot, and an afternoon of scrolling

Three options were on the table before I built anything. Each one answered a different question well and the same question badly.

OptionWhat it gaveWhere it brokeVerdict
Commercial ad-intel suites

Broad creative capture with format breakdowns and spend estimates, packaged for an enterprise buyer.

Priced for a team that already has a research function, uneven coverage outside the US, and it reports format rather than intent. Knowing a rival runs video on Meta is not knowing that Meta is carrying their conversion load.

Rejected
The platform ad libraries

The source of truth, free, current, and legitimate to read. Every live creative a competitor is running.

Built for disclosure rather than analysis. One card at a time, no country cut, no funnel read, and nothing that survives being closed.

Kept as input
Pasting ads into a chatbot

A sharp read on any single creative, instantly, with no setup and no cost worth counting.

No memory of the other three hundred. It answers what one card says, and the question was what the set does.

Rejected

All three failed in the same direction. They read creatives one at a time, and strategy only exists in the aggregate.

Borrowed from data labeling

Borrowed from data labeling: label every unit, then let the aggregate speak

The idea came from Snorkel and programmatic data labeling. If you can label a corpus cheaply and consistently, the labels themselves become the dataset you reason over. An ad library is a corpus nobody had labeled.

So the pipeline works bottom up: a small model answers one narrow question at a time about one ad, and the summary of a competitor is assembled from those answers rather than asked for directly. Everything the tool claims at the top is traceable to labels at the bottom.

01 Every ad, labeled

Each creative and its landing page go to DeepSeek: funnel stage, offer type, audience, claim, proof used. Cheap enough to run on the whole set rather than a sample.

02 Placement and market

Labels roll up per placement and per country, which is where a real pattern first shows: the same brand runs a different funnel in Germany than in Singapore.

03 Platform strategy

With clean labels underneath, a stronger model reads one platform at a time and states the role it plays, backed by counts instead of impressions.

04 Cross-platform picture

The top layer compares the three and reports how they divide the funnel, what repeats everywhere, and where the gaps are.

Sources are the platforms' own transparency libraries, which exist so that anyone can inspect what is running. Nothing private is touched, and no spend is estimated.

Cost as a design input

A cheap model for every ad, an expensive one for the plan

Cost is what decides whether you label the whole corpus or a sample, and a sample is what makes competitive research wrong. Labeling runs on DeepSeek at a price that lets every creative through. Only the synthesis layers, where reasoning actually pays, run on a frontier model.

Each platform carries a quality gate, because coverage differs by source and a confident report over thin data is worse than no report. A workspace shows what was collected, what was labeled, and what is still short, so the analysis stays honest about its own evidence.

The four questions

Four questions, asked of all three platforms at once

Side by side

Share of each platform's placements by funnel stage, offer and proof, with a marker on any 25-point divergence so the split is visible without reading numbers.

Who the creative speaks to

The audience each platform is written for, which is usually where the strategy is most obvious and least stated.

What they claim

The recurring claims, ranked by how often they repeat. Repetition is the tell for what a competitor believes is working.

How they convert

Destination and offer: product page, report, trial, signup. Where each platform is asked to close and where it is only asked to warm.

A worked example on Stripe: conversion placements sit at 5% on LinkedIn against 37% on Google, and awareness inverts, at 43% on LinkedIn against 3% on Google. That single row is the channel strategy, and it took a scroll of the ad library to be invisible.

adradar.hi-daniel.com
AdRadar competitor workspace for Stripe showing LinkedIn, Meta and Google ad cards with creative counts and quality gates
AdRadar side-by-side analytics comparing LinkedIn, Meta and Google placement shares by funnel stage, offer and proof
AdRadar platform roles view with stacked funnel bars per platform and written reads carrying evidence reference counts
The five modules

Every claim walks back down to the creatives it was counted from

The workspace is arranged so the strategy layer never starts from a blank prompt. Context grounds the labels, labels feed the pattern read, the pattern read feeds the response, and a quality check sits at the end to say how much of it the evidence actually carries.

Every layer stays open for inspection. If a claim in the strategy report looks wrong, you can walk back down through the pattern that produced it to the individual creatives it was counted from, and read those in their original form.

01 Context

Company, category, products, buyers, markets and the competitive frame, written down before any ad is classified.

02 Ads

Public advertising records with creative, copy, active dates, markets, CTAs and destinations, searchable and still linked to the original artifact.

03 Analytics

Distribution across theme, persona, pain, proof, offer, CTA, landing intent and funnel stage. This is where concentration becomes visible.

04 Strategy

The dominant play, funnel bias, proof system, weak spot and the response options worth testing against them.

05 Quality check

Missing offer signals, thin landing context and low-confidence classifications, surfaced before anyone trusts the strategy.

Holding the layers together is a shared taxonomy, so every ad becomes a comparable record rather than a paragraph of prose: market (persona, industry, geography, pain point), message (theme, value promise, pillar, campaign topic), journey (funnel stage, offer type, CTA, landing intent), proof (quantified ROI, customer story, benchmark data, product detail) and creative (format, hook, visual system, destination). Five groups, twenty fields, filled the same way on every ad from every platform.

Who picks it up

One report, and each function takes a different decision out of it

The tool is organised around the decision, then the evidence that decision needs. Four workflows cover most of what a campaign team asks a competitor set for.

Campaign planning

Map the messages already occupying the category, read the offer and funnel structure behind them, then choose whether to challenge a crowded belief or enter a neglected one. Output: territory, counter-position, proof requirement, first hypothesis.

Market monitoring

Baseline a competitor, refresh the evidence set, and review the delta. A refresh matters when audience, message, offer, proof or funnel behaviour moved, which is a much narrower alert than "they posted new creative".

Creative strategy

Pair format with campaign intent, name the category's proof conventions, then set the test boundary: what should feel familiar enough to read, and what has to be distinctive enough to matter.

Product marketing

Advertising shows the positions a competitor is actively paying to put in front of the market. Measure the repeated beliefs, audit the proof under each, and find the claims with heavy competition and weak substantiation.

The report is built to be read by six different functions without being rewritten for any of them, which is the reason the taxonomy is shared rather than per-team. An analyst verifies source quality, paid media reads funnel and offer patterns, demand gen picks the territory, product marketing sharpens the message hierarchy, creative turns patterns into test hypotheses, and leadership reads the category movement. Each takes a different decision out of one evidence base.

The evidence contract

A strategy report should show where its certainty ends

Public advertising reveals campaign patterns. It says nothing about account economics or internal intent, and a tool that blurs the two is worse than no tool. So the report separates its three tiers on the page, and the quality gate refuses to publish a confident read over thin coverage.

Observed Copy, creative, CTA, destination, page type, offer, market and active dates. Collected from the platforms' own transparency libraries, which exist so anyone can inspect what is running.
Inferred Message hierarchy, funnel bias, proof strategy, dominant play and response hypothesis. Every one of these carries a count and a set of evidence references underneath it.
Unknown Spend, ROAS, targeting settings, conversions, private tests and internal decision logic. These stay out of the report rather than getting estimated into it.
What it bought

Competitive research became a lookup instead of a project

Every competitor now has one workspace holding all three platforms, their labeled creatives, and the strategy read at each level. Answering "what is this company doing in this market" takes a minute, and the answer cites the ads it came from.

What that buys for go-to-market is a positioning decision made against evidence: which claims are already crowded, which funnel stage a rival has left thin, and which market they have not bothered to enter properly yet.

What it runs on

Python at the bottom, a cheap model in the middle, an expensive one only at the top

Collection

Python logoPythonThe whole pipeline. No front-end framework, because nothing here is a page. Playwright logoPlaywrightDrives a real browser through the three transparency libraries. BeautifulSoupParses the captured markup into ad records. Meta Ad Library logoMeta Ad LibraryPublic source for Meta creative. Google Ads Transparency logoGoogle Ads TransparencyPublic source for search and display evidence.

Models

DeepSeek v4 Flash logoDeepSeek v4 FlashLabels every single creative and landing page. Cheap enough to run on the whole corpus rather than a sample. DeepSeek v4 Pro logoDeepSeek v4 ProReads one platform at a time and writes the strategy layer over the labels. Tesseract OCRLifts copy out of image creatives so they enter the same taxonomy as text ads.

Data and delivery

SQLite logoSQLiteLocal store while a competitor set is being built. Supabase logoSupabaseThe workspace database behind the hosted reports. Resend logoResendReport-ready and access notifications. Stripe logoStripeBilling for the private beta. Vercel logoVercelHosts the workspace.

The split is a cost decision. Labeling every ad on a frontier model would have priced out the whole-corpus pass, and a sampled pass is what makes competitive research wrong.

Want this kind of tooling on your team?

Nine systems shipped, compliance, reporting, intelligence, content.