Meta ads benchmarks by industry: what the connector returns
Meta's connector has a tool named for industry benchmarks. It returns no data, it takes no industry parameter, and the classification it is assumed to use lives in a different tool.
Meta's ads connector includes a tool called ads_insights_industry_benchmark,
and called against live ad accounts it returns a single sentence: No industry benchmark data
available for the given criteria. There is no industry parameter to correct — the
peer group is set by spend tier and optimisation goal. The tool that does return an industry
classification is a different one, ads_insights_advertiser_context, and the category it
names is not shown anywhere in Ads Manager.
A tab of Facebook ads benchmarks by industry, copied off a vendor blog, is standard kit. When cost per thousand impressions sits above the row for the category, the obvious next move is to ask Claude to check the account against Meta's own figures — and the connector has a tool named for exactly that.
The tool exists. What it returns and what the published setup guides say it returns are two different things, and the gap matters because the reply is easy to misread as a verdict on the account.
What the tool is specified to do
Its own description is the only technical documentation of it available. Verbatim, it says it “compares ad set performance against aggregated benchmarks from similar advertisers, optionally filtered by spend tier and optimization goal”, and then instructs the model to “focus on business outcome metrics (like cost per result) rather than surface metrics (like CPM)”.
The parameters are the substance of that sentence. The call accepts an ad account, optional campaign or ad-set IDs, a date range, a metric, an optimisation goal override, and a spend tier — the tiers it names are PREMIUM_TOP, HIGH_MID, LOW_TAIL, Basic, CAR Red, GSI and Meta. There is no industry parameter. The category the account trades in is never stated in the call. “Similar advertisers” means advertisers of a comparable size chasing a comparable optimisation event, and whatever industry logic sits behind that is applied server-side.
What the setup guides claim it returns
Two vendor guides that rank for this tool describe an interface that does not match the schema above. Adlibrary's Meta Ads MCP setup guide, published 5 May 2026, states:
This returns category-level CPC, CPM, and CTR benchmarks from Meta's aggregate data.
The same page recommends the call as a sanity check that the account has proper read access. Soku's Meta Ads MCP guide, published 8 June 2026, offers a sample prompt in the same spirit:
Compare my CTR, CPM, and CPA to Meta's industry benchmark for [vertical].
There is no vertical argument to fill that bracket. The tool's own instruction also points away from CPM and CTR toward cost per result, which is the opposite of the metric set both guides promise. Neither page cites a populated response, and no published example of one turned up in search on 29 August 2026.
What the call returns
Run against live ad accounts on 29 August 2026 — with a spend tier and without, with an optimisation goal pinned to conversions and without, scoped to ad sets with months of delivery behind them and scoped to nothing, over the last 28 days, the last 30 days and lifetime — the reply was identical every time:
No industry benchmark data available for the given criteria.
Input validation is uneven, which is what makes the message hard to act on. A spend tier outside the tool's own list of valid values produces that same sentence: no error, no note that the filter was discarded. A malformed ad-set ID produces a proper validation error instead, naming the ID and stating it is not a valid campaign, ad set or ad. So the wording gives no signal about whether the criteria were understood.
That also disposes of the read-access advice above. A tool that answers identically whether the filter was valid or nonsense cannot confirm anything about account access. The entity and account tools do that job properly and return data when access is working.
A sibling tool in the same insights family, ads_insights_advertiser_context, returns
two lines: a vertical and a sub-vertical. Observed pairs include Business to Business / Software As
A Service and Publishing / Online Only Publications. That classification does not appear in the Ads
Manager interface, and a search of Meta's help corpus on 29 August 2026 surfaced only Special Ad
Categories and the business-category picker, which are separate systems. The
Meta for
Business announcement for these connectors does not describe it either, so treat it as observed
behaviour rather than documented behaviour.
Unclassified accounts return Vertical: \N with no sub-vertical line — a database
null rendered as a literal string. Where that appears, no comparison keyed on industry could have
included the account in the first place.
| Dimension | What the guides describe | What the interface actually has |
|---|---|---|
| Peer group | Advertisers in your industry | Advertisers at a similar spend tier chasing a similar optimisation goal |
| Category input | A vertical you supply | No industry parameter; the classification is read from a separate tool |
| Headline metric | CPC, CPM and CTR by category | Cost per result, explicitly preferred over CPM in the tool's own instructions |
An answer this thin still has to be handled somewhere in the weekly routine. See how the weekly review is structured →
How to get a usable comparison instead
-
Read the account's classification first START HERE
Request the advertiser context for the account and record both lines. If the connector files the account as business software and the comparison row in use is direct-to-consumer apparel, the gap being investigated is a category mismatch, not a performance problem. The trade: the label is coarse and arrives with no explanation of how or when it was assigned.
-
Benchmark the account against its own history
The previous quarter at ad-set level, measured on cost per result rather than surface metrics, is a closer comparison than any published average: same product, same audience, same landing page. The tool's own instruction to prefer outcome metrics is the same argument as sorting by the wrong column. The trade: a single account is a small, seasonal sample and cannot show that a whole category got more expensive.
-
Re-run the benchmark call periodically
It costs one call. Meta does not document the tool's coverage, so re-running is the only way to establish whether that changes. Request the raw reply rather than a summary: a model handed that sentence will otherwise report that the account is performing in line with its industry, which is not what the sentence says. The trade: the same sentence is the likely result, and there is no way to distinguish an empty peer group from a feature not yet enabled for the account.
A benchmark with an undisclosed peer group cannot establish whether a cost is high.
- Reading the empty reply as a verdict on cost. Nothing about the account was weighed. The sentence describes the tool's coverage, not its performance.
- Hunting for the setting that was got wrong. There is no industry argument to fix, and an invalid spend tier produces the identical message.
- Using the call to confirm read access. It returns the same sentence regardless, so it proves nothing either way.
- Letting the model paraphrase the reply. “No benchmark issues found” is a summary of silence, and it passes straight into a weekly report as reassurance.
Try this tonight Request the advertiser context for the main ad account and write the two lines down. Then open whichever benchmarks-by-industry page is currently in use and find the row being compared against. If the categories do not match, retire that number tonight — replace it with the account's own cost per result from the same period last quarter, and put that figure at the top of the weekly review.
Every diagnostic on this connector rewards the same habit: make the call, read the exact words returned, then establish what was never in scope. The counted manifest lists the rest of them, the opportunity score is the other tool that scores an account against Meta's recommendations rather than against results, and the connection walkthrough covers setup.
Frequently asked questions
Does the Meta ads connector give industry benchmarks?
It exposes a tool named for it. Called on 29 August 2026 against live accounts, under every combination of date range, spend tier, optimisation goal and ad-set scope tested, that tool returned no data. Setup guides describing category-level CPC, CPM and CTR output do not cite a populated response.
What does "No industry benchmark data available for the given criteria" mean?
That the tool produced no comparison. It does not mean the criteria were wrong: an invalid spend tier returns the same sentence, while a malformed entity ID returns a real validation error. The message cannot indicate whether the filter passed was understood.
Where can an ad account's industry classification be seen?
Through the connector, by requesting the advertiser context for the account. It returns a vertical and a sub-vertical. The same classification does not appear in the Ads Manager interface and is not covered in Meta's connector announcement.
Are published Facebook ads benchmarks by industry worth using?
As rough orientation, yes. As a target, no — the category is self-selected, the sample is somebody else's, and averaging hides the spend tier and optimisation goal that drive the cost. Use them for order of magnitude, then compare the account with its own history.
Compare the account to something real
The course is the weekly routine I run on live accounts through Claude and Meta's official connector — which answers to act on, which to verify by hand, and what to measure when there is no benchmark to lean on.
See what's inside — $67 founding pricePre-sale: the modules are still being recorded and founding members get the checkout link first. No charge today. Public price $97.