Every number on the census comes from one place and one set of rules. Here they are, so you can check any number yourself.
Meta's public ad library. It shows every ad running on Facebook and Instagram in the United States. It shows the text, the button, the picture, and the day the ad started. It does not show spend, clicks or results.
We ask each advertiser page for its ads by the page's own id. We never count what a keyword search returns. A keyword search finds a page. It does not count the page. In the 2026-W36 bath edition, one page returned 53 live ads by keyword. The same page returned 260 by direct query, the same day.
Each week we run 57 keyword searches for the bath trade. They turn up pages. A person reads each page's ads and marks it in the trade or out. A proposal from the code is not a verdict. Nothing counts until a person has said so. The rule is in legacy/data/record/roster.py.
In the 2026-W36 bath edition the roster held 215 verified pages. This run queried 127 of them. Pages verified after a run count from the next edition. Pages nobody has verified never count.
A creative is one ad. A page is what Meta returns. A company is what you would call one business. One company can run several pages. Every table says which unit it counted.
Two franchise systems run in this trade. A location page under a brand counts as its own company unless something on the page says otherwise.
Live: the library reported the ad as active on the day we captured it. Age: days since the start date the library reports. Age describes what was live on one day. It is not a survival rate, because a long-running ad is live on more days. Survival prints only when the same pages appear in two consecutive weeks.
Promises a free estimate: the ad text has the word "free" close to "consultation", "estimate", "quote" or "design". Close means within 25 characters. We count it once per company, however many ads say it.
Lets you book one: the ad's button is "Book now". We count it once per company. Whether the page behind the button can take a time is a separate read. We do that by hand, and it is not in the census.
Every other promise on the census is a written rule of the same kind. The rule text sits next to each number in the data file.
Pages the keyword sweep returned that nobody has verified. Any ad the library did not return. Advertisers outside the United States. Everything off Meta. Spend, clicks and results, because the library never shows them. We name no company anywhere on the census.
We publish the full data behind every edition beside it, under CC BY 4.0. From week 38 on, we save every ad's picture the day we capture it. The library's picture links stop working within days. Two ads that share one picture share one file. A link that fails counts as dead. We do not retry it.
We change it and say so. The corrections page lists every number we published and later changed. Each entry carries the date, the cause and the size of the change. Since the first correction, every run re-reads every verified page against the country and trade rules. Then we publish.
Two things are a person's judgment and not yet a written rule. What counts as "in the trade" for a page that sells several things. And whether a landing page can take a time, which the hand-read teardowns check and the census does not. Both sit as Open in business/CONTENT-SYSTEM-2026-09-14.md.
The 2026-W36 bath edition, counted on 4 September 2026: 118 companies, 125 pages, 3,225 live creatives. Read the edition.