Where every number comes from
Some numbers Meta publishes. The rest we estimate, as a range with a confidence label. What we can’t know, we say.
Data sources
We only read public ad data. Today that is the Meta Ad Library: every ad running on Facebook and Instagram, and for ads shown in the EU, the reach the Digital Services Act requires Meta to publish. We re-check active ads about once a day. On Free, you see them 7 days late.
- We never re-host a creative. Thumbnails link to the original ad in the Meta Ad Library.
- We open the page an ad sends to at most once a day, take one screenshot, and read the offer and price it states. Then we stop.
- Our crawler clicks nothing and submits nothing, so your forms never get a fake lead or order from us. It calls itself WhosprintingBot, follows robots.txt, and waits at least a second between two pages on your site.
- Video transcripts are made from the public creative and kept as text.
- Nothing behind a login, nothing private, no personal data. Advertisers can opt out from any page.
Measured or estimated
Every figure in the product is one of two kinds. A measured one is Meta’s own number, shown as it is. An estimate is always a low to high range, never one number, with a confidence label on hover.
| Figure | Kind | Where it comes from |
|---|---|---|
| Ads, creatives, dates, copies | Measured | Meta Ad Library |
| Reach in the EU | Measured | Meta’s published figure, added up over a creator’s ads |
| Reach outside the EU | Estimated, marked ≈ | Comparable creators in the same niche whose reach Meta publishes |
| Spend | Estimated range | Reach, turned into impressions and priced at market rates for the niche |
| Funnel visits | Estimated range | The same reach, with market click-through rates |
| Offer and price | Read off the page | The landing page as our crawler saw it |
Reach covers every ad an advertiser has ever run, because Meta publishes it for an ad’s whole life. Spend and visits cover the last 30 days of live ads. A creator with nothing running shows their most recent 30 days, labelled “last 30d”, so it never reads as this month.
The UK is outside the EU disclosure too, which surprises people. A campaign that runs only in the US or the UK publishes no reach, so its figures are estimated and read with ≈. We don’t buy media, so we never see what anyone actually paid.
Confidence labels
Every range has a confidence label that tells you how tight it is. It depends on how much we actually saw, not on how big the number is. A low one starts with ≈ and reads a shade lighter.
| Label | Tolerance | When it applies |
|---|---|---|
| High | ±20% | Ad older than 14 days, reach published, niche known |
| Medium | ±40% | Ad between 7 and 14 days old, or niche not yet known |
| Low | ±70% | Ad younger than 7 days, reach not published, or too few ads with published reach |
Hover any range in the product to see its label and tolerance. See it on the creators ranking.
Signals and trends
The winner score rates a running ad from 0 to 100 on how long it has run, how many times the same creative is copied, how many people it reached and whether that reach is still growing. Longevity counts most, because nobody keeps paying for an ad that doesn’t work. The line under a score says which signal earned most of it.
Signals compare an advertiser’s active ads today with 7 days ago. Offline: no active ad. Winner: an active ad has run 30 days or more. Live: ads are running, but there is no count from a week ago yet. Scaling: active ads up 15% or more. Cutting: down 15% or more. Stable: moved less than that. The trend percentage is the same comparison.
Angles
An angle is the promise an ad leads with, written as one short English sentence whatever the ad’s language: “Escape your job without sacrificing security”, “Lose weight without deprivation”. Each creative is read once, and promises that mean the same thing are grouped into one angle. Copy that promises nothing, like a bare product name or a job ad, gets no angle rather than a guess.
Angle counts are counts of ads started inside the chosen window, and of the distinct creators behind them. The trend compares that window with the one before. Disagree with a grouping? Report it from the angle’s panel.
What we don’t know
- Revenue. We show the price a page states, never how many people paid it.
- Measured spend anywhere. Meta publishes no spend for commercial ads, so every spend figure is an estimate.
- Reach outside the EU. UK and US campaigns are estimated from comparable creators, not from their own delivery.
- Anything behind a login, a paywall or a private group.
- Anything after the landing page. We capture the page an ad sends to and stop, and we never fill in a form.
Questions about a specific number: hello@whosprinting.com. A person reads every email.