Meta Ads reported 260,849 "leads" for an account that had 2,003. The column name says leads
Meta's Marketing API returns a family of action types whose names end in _add_meta_leads. For one consumer goods account, the member called offsite_content_view_add_meta_leads reported 260,849 over the account's lifetime. The account's lead event, over the same window, recorded 2,003. That is a 130x overstatement, in a column whose name ends in the word leads.
We pulled lifetime action counts for 23 Australian Meta Ads accounts, $783,518 of pooled spend (AUD), from the Marketing API v23.0 on 8 and 9 September 2026. Nineteen of the 23 returned at least one action type from this family. In thirteen of them the column matched the lead count, to the unit or close to it. In three it overstated leads by 3x, 54x and 130x. In two more it reported tens of thousands of "leads" for accounts that do not have a lead event at all.
This is the opening post of the series because it is the cleanest example of the pattern that runs through the other 26: Meta's numbers are rarely wrong, but the names on them do a lot of work, and the interface does not explain what they add up.
What the column actually is
Meta defines the offsite_<event>_add_meta_leads action types as a composite: the named offsite pixel event, plus leads captured through Meta-hosted instant forms. Four members of the family appear in this set of accounts.
Action type | What it sums |
|---|---|
| Pixel ViewContent events + instant form leads |
| Pixel Search events + instant form leads |
| Pixel CompleteRegistration events + instant form leads |
| Pixel AddToCart events + instant form leads |
The _add_meta_leads suffix is the only signal that the first half of the name is not the whole story. Read the name left to right and it says "offsite content view, add Meta leads". Read it the way most people read a column header, from the last word backwards, and it says leads.
Whether the column is honest depends entirely on how often the offsite event fires. CompleteRegistration is rare on most sites, so that member of the family usually equals the instant form lead count. ViewContent fires on every product page load on a shop, so that member is dominated by pageviews, and the word leads at the end of the name becomes decoration.
The 19 accounts
Here is every account where at least one member of the family exists, set against the account's own lead event. Overstatement is the largest family column divided by leads.
Acct | Band | Leads | content_view + leads | search + leads | complete_reg + leads | add_to_cart + leads | Worst overstatement |
|---|---|---|---|---|---|---|---|
A | Consumer goods & food | 2,003 | 260,849 | 25,452 | 1,446 | 0 | 130x |
F | Manufacturing & equipment | 2,404 | 129,689 | 3,472 | 2,254 | 0 | 54x |
L | Consumer goods & food | 268 | 806 | 268 | 268 | 0 | 3x |
B | Manufacturing & equipment | 123 | 123 | 123 | 123 | 0 | 1x |
C | Manufacturing & equipment | 1,304 | 1,310 | 1,279 | 1,280 | 0 | 1x |
D | Professional & B2B services | 400 | 400 | 400 | 400 | 0 | 1x |
E | Home improvement & trades | 178 | 166 | 166 | 166 | 0 | 1x |
H | Health & care services | 254 | 254 | 254 | 254 | 0 | 1x |
J | Home improvement & trades | 179 | 200 | 179 | 179 | 0 | 1x |
K | Professional & B2B services | 29 | 30 | 28 | 28 | 0 | 1x |
M | Home improvement & trades | 7,419 | 6,805 | 6,805 | 6,805 | 0 | 1x |
N | Professional & B2B services | 456 | 503 | 456 | 456 | 0 | 1x |
P | Home improvement & trades | 2,135 | 2,790 | 1,711 | 1,711 | 0 | 1x |
Q | Health & care services | 32 | 32 | 32 | 32 | 0 | 1x |
V | Home improvement & trades | 32 | 29 | 29 | 29 | 0 | 1x |
W | Health & care services | 193 | 193 | 193 | 193 | 0 | 1x |
G | Home improvement & trades | 4,990 | 2,204 | 631 | 631 | 0 | 0x |
S | Consumer goods & food | no lead event | 35,435 | 70 | 0 | 0 | n/a |
T | Consumer goods & food | no lead event | 1,681 | 0 | 0 | 0 | n/a |
Read down the last column and the pattern is plain. Thirteen accounts have a lead event and a family column that agree, give or take. Three do not, and the gap is not a rounding error.
Account A, consumer goods, is the 130x case. Its content view composite holds 260,849. Its search composite holds 25,452. Its complete registration composite holds 1,446. Its lead event holds 2,003. Three columns with the same suffix, three numbers spanning two orders of magnitude, and only one of them anywhere near the leads.
Account F, a manufacturer, is the 54x case: 129,689 in the content view composite against 2,404 leads. Its complete registration composite, 2,254, sits close to the lead count, which is what you would expect on a site where nobody registers for anything.
Account L, also consumer goods, is milder at 3x: 806 against 268. Two of its three populated composites equal the lead count exactly. The content view member is the only one that drifts, because it is the only one whose offsite event actually fires on that site.
Then there are accounts S and T. Neither has a lead event. Neither shows any instant form activity in the data: their complete registration composites are zero. Account S still reports 35,435 in offsite_content_view_add_meta_leads. Account T reports 1,681. Both are consumer goods accounts with product pages, and both numbers are pixel ViewContent counts wearing a leads suffix. Build a dashboard by searching action type names for the string "leads" and both accounts come back with a lead count. Account S would rank above every account in the set except A and F.
Why it happens
The mechanism is arithmetic, not a bug. Meta built these composites so that an advertiser running instant forms alongside a pixel could see one number covering both. That is useful when the pixel event in the composite is itself a lead-like action. It is misleading when the pixel event is a pageview.
Offsite event in the composite | Typical volume | Column behaviour |
|---|---|---|
CompleteRegistration | Rare (most sites have no registration) | Equals instant form leads |
Search | Rare on service sites, common on shops | Equals leads, or drifts upward on shops |
ViewContent | Every product page load | Dominated by pageviews |
AddToCart | Shops only | Zero in every account in this set |
The AddToCart member returned zero in all 19 accounts, including the shops. Whatever Meta populates it from, it is not the same thing the shops in this set fire when a product goes in a basket. That is its own small lesson: the presence of a column does not mean it is being maintained.
What makes the pattern hard to spot is that in most accounts the columns look right. Look at B, D, H, Q and W. Every populated composite equals the lead event to the unit. An analyst who has worked in ten service accounts has seen this column agree with leads ten times out of ten and has no reason to distrust it in the eleventh. The eleventh is the shop.
What it does to decisions
Nobody bids on offsite_content_view_add_meta_leads directly. The damage is downstream, in three places.
Exported reports. The API returns an actions array containing every action type the account has ever recorded. A reporting pipeline that filters on the substring "lead", or that picks the largest lead-like value, pulls the composite. The number then flows into a spreadsheet, a client deck or a dashboard under the header "Leads", and nobody upstream sees the full action type string again.
Cost per lead. Divide spend by 260,849 instead of 2,003 and cost per lead falls by 130x. A cost-per-result figure that low does not get questioned. It gets celebrated.
Comparison across accounts. Pool the composite across a portfolio and the shops swamp the service businesses. Account A alone would contribute more "leads" than the other 18 accounts combined, and a ranking by lead volume would put the two accounts with no lead event at all above most of the ones that have one.
There is a related trap that the next post covers: these composites are not the only place the same event appears under several names. Summing every action type in an account can double-count by up to 47%. The Google Ads sister series found the same shape of problem, three conversion actions firing on one lead, but there the duplication was configured by people. Here it is built into the naming.
Where it varies
The overstatement sits entirely in accounts with product pages. Every 1x account is a service business (trades, professional services, health and care) or a manufacturer whose site does not fire ViewContent in volume.
Band | Accounts in table | At 1x or below | Overstated | No lead event |
|---|---|---|---|---|
Consumer goods & food | 4 | 0 | 2 (A at 130x, L at 3x) | 2 (S, T) |
Manufacturing & equipment | 3 | 2 | 1 (F at 54x) | 0 |
Home improvement & trades | 6 | 6 | 0 | 0 |
Professional & B2B services | 3 | 3 | 0 | 0 |
Health & care services | 3 | 3 | 0 | 0 |
Consumer goods is the band to watch: none of its four accounts produce an honest lead column from this family. Account F is the one manufacturer with a catalogue heavy enough to behave like a shop.
Account G, a trades account, is the odd one out in the other direction. Its composites (2,204, 631, 631) sit well below its lead count of 4,990. That is the signature of an account whose leads come mostly through a website form tracked by the pixel rather than through instant forms, so the instant form half of the composite is small. It is not an overstatement, and it matters for part 3, where account G is also the one lead account with meaningful attribution inflation.
A few other accounts (E, M, P, V) show composites a little below the lead count. That is the same mechanism as G in miniature: the lead event counts website form leads tracked by the pixel as well as instant forms, while the instant-form half of the composite does not, so an account with a handful of website leads shows composites slightly under its lead count.
Volume floor: account K has 29 leads, below the 30-conversion floor we use throughout this series. Q and V sit just above it at 32. Their ratios are reported as 1x and the direction is clear, but do not read anything into the second decimal.
What to check in your account
In Ads Manager, open Columns, then Customise columns, and search for "leads". Note every column that appears. There will be more than one.
For each, read Meta's column description. The composite columns describe two sources joined by "plus" or "and". If the description names a pixel event and instant forms together, it is a composite.
Compare each composite against the plain Leads column (action type
lead) and against On-Facebook Leads (onsite_conversion.lead_grouped) over the same date range.If your site fires ViewContent (any shop does, and many service sites do on service or blog pages), expect the content view composite to exceed leads. The ratio is your overstatement factor.
If you export through the API, filter the
actionsarray on the exact action type stringleadoronsite_conversion.lead_grouped. Never match on a substring.If you already have a pipeline or a dashboard, find the column labelled Leads, trace it to the action type it reads from, and confirm it is one of those two.
In our own Facebook Ads management reporting we read lead and onsite_conversion.lead_grouped by exact name and treat every _add_meta_leads member as a diagnostic, never as a result.
The principle
A column name is a label somebody chose, and the label is not the definition. Meta named these action types precisely, and the precision is in the middle of the string, where nobody looks. When a column agrees with the number you expect in nine accounts, that is not evidence it will agree in the tenth. It is evidence that the tenth is where the definition finally matters. Trace every reported number back to the exact action type it came from, and read the whole name.



