The rules we write under
Written down so you can hold us to them, and so we cannot quietly drift.
A company enters the set if all four hold:
- It currently trades, with a live site, verified on the review date.
- It runs Meta spend as a managed service, evidenced by a Facebook, Instagram or Meta ads service page of its own. A page listing "social media" among other services does not qualify.
- It serves HVAC or adjacent home service trades, named on its own site.
- It is a real identifiable business rather than a listicle brand or a broker reselling shared leads.
Full-service agencies whose paid social sits behind search work are held in reserve and enter only if they publish a Meta-specific service page with named objectives. That is an editorial choice about what this directory is for, and it is why several well-known home services agencies are absent.
- No number is attached to a named company unless it was read off a source we name, on a date we state.
- A figure an agency publishes about itself is recorded as their claim, in their words, with what it omits. It is never restated as fact.
- No conversion figure is published without its attribution window, because a cost per acquisition without its window is not a number.
- Meta-attributed conversions are never described as customers or revenue.
- Any illustrative figure is marked illustrative in the same paragraph and written so it cannot be mistaken for something measured.
- An absence is never published from a single lookup. Before concluding something is not there, we confirm the method can find something we know is.
- Criteria and weights are published in full before scores are, and were written before any company was scored.
- Weights are not adjusted to produce a position. Where a rule changed during scoring, the change and the direction it moved are recorded.
- Scores carry the date they were read and are restated quarterly. An undated score on a live company goes stale and becomes wrong.
- Where two companies finish within two points, the published tie-break decides it rather than the margin.
No affiliate links, no sponsored entries, no paid placement, no advertising. Outbound links go to primary sources: an agency's own page, Meta's own documentation, a regulator. See corrections for how to challenge any of it.