LW IT Solutions
« Blog Overview /Digital Marketing / Meta Insights API: Breakdowns Only After the...
Read this article in other languages:

Meta Insights API: Breakdowns Only After the Ad Account Is Enabled

Meta Insights API: Breakdowns Only After the Ad Account Is Enabled
Contents
  1. Why absence beats an error at causing damage
  2. The reconciliation check
  3. Why it varies between accounts
  4. What to put in place
  5. Questions and answers
  6. Sources

Since 6 August 2026 certain Insights API breakdowns require enabling at the level of the individual ad account. Accounts without that enablement can still make the request. It succeeds. The values are simply not in the response.

An error would have been better. An error stops a job, writes a line in a log and produces someone to look at it. A successful response with a hole in it flows onward and gets charted.

A grid of five ad accounts against five breakdown dimensions where two cells of one account are hatched as withheld, above a reconciliation panel comparing the requested total against the sum of the breakdown rows with the gap marked
Every cell in the grid returned a successful response. The two hatched ones returned it without the numbers.

Why absence beats an error at causing damage

Reporting pipelines are built to notice failure, and they are good at it. A non-200 status, a malformed payload, a timeout: all of these have handling, alerting and usually a retry. What almost no pipeline checks is whether a valid response contained everything it was supposed to contain.

The result is a report that renders correctly, sums correctly, and describes a smaller world than the real one. Regional spend looks lower for one market. A demographic split shows a skew that reflects which accounts answered rather than who saw the advertising. Nothing anywhere says so.

It is worth separating this from the other well-known way an API can lie. A tracking endpoint that returns 200 to everything is failing on the way in: data was sent and never stored. This is the opposite direction. The data exists, the request succeeded, and the answer is incomplete on the way out. The first loses records; the second produces a wrong number from records that are all still there.

The reconciliation check

There is one property a breakdown cannot escape: its parts have to add up to the whole. That gives a test which needs no knowledge of which accounts are enabled and no maintenance when the rules change again.

for every breakdown request, also request the same
metric for the same period with no breakdown at all

  total_without_breakdown      184,300
  sum(rows of the breakdown)   121,940
  difference                    62,360   -> 33.8 percent

tolerance     a small gap is normal. Rows below a privacy
              threshold are withheld by design, and rounding
              differs between aggregate and detail

              a gap of a third is not that

what to do    fail the load, or load it with a flag on the
              row. Never silently store the smaller number
              as if it were the total

The extra request costs one call per breakdown and it is the only check that keeps working when Meta changes the rules again, because it tests the arithmetic rather than the policy.

Why it varies between accounts

The enablement is attached to the ad account, not to the application or the credentials. A pipeline pulling twelve accounts through one integration will therefore see the same code path succeed fully for ten of them and come back short for two, with no difference in the request.

Which rules out the diagnostic instinct that usually works here. There is nothing wrong with the token, nothing wrong with the permissions on the app, nothing wrong with the API version. The account is the unit, and it has to be handled one by one.

What to put in place

Three things, in order of what they cost. The reconciliation check goes in first, because it is a few lines and it covers cases nobody has thought of yet. A per-account status column comes second, so that a report can say which accounts contributed complete data for a period rather than leaving a reader to assume all of them did.

Third, and least urgent, is the enablement itself for the accounts that need it. It is the real fix, but it takes as long as it takes, and until it lands the first two are what stop a number from being presented as though nothing were missing.

Questions and answers

How can the tolerance for the reconciliation check be set without missing genuine gaps?

From measured data rather than a fixed number, and only for metrics that can be added up at all. Three rules help:

  1. Additive metrics only. Spend, impressions and clicks add up to the whole. Reach, by contrast, counts each person once; in breakdowns where one person can appear in several rows, by placement or device for example, the rows sum to more than the whole, and a genuine gap disappears in the excess.
  2. The usual gap as the yardstick. For accounts and periods where nothing is known to be missing, such as after enablement, the deviation per breakdown shows what the privacy threshold and rounding normally cost. The tolerance belongs just above that, not at a round number that feels right.
  3. Fine breakdowns and small accounts separately. The finer the breakdown and the smaller the account, the more rows fall below the privacy threshold and the larger the gap that is nonetheless correct. A single tolerance for everything is therefore either too lax for the large accounts or too strict for the small ones.

For totals of the size in the article’s example, the threshold and rounding do not explain a gap of a third.

What happens to periods that were loaded short before the account was enabled?

They can be requested again after the enablement, and the reconciliation check then decides, without any further knowledge, whether that was enough. If the new request passes the check, it replaces the flagged rows and the status column switches to “complete”; if it still fails, the flag stays.

Lukas Wojcik

Lukas Wojcik

Systems architect and technology enthusiast specializing in scalable tracking solutions, GMP Stack (GA4 & GTM), and robust backend architectures. Advocate for clean code and privacy-first design.

Get in Touch

Briefly describe your project or inquiry for a tailored response. This site is protected by reCAPTCHA.

Write a comment

Practical experience and questions about the implementation are welcome here.

The email address is not published. Required fields are marked with an asterisk.

Articles & categories

CCTV

Follow this category by RSS

Cloud & AI

All 17 articles in this category Follow this category by RSS

Data Privacy

All 19 articles in this category Follow this category by RSS

Digital Analytics

All 58 articles in this category Follow this category by RSS

Digital Marketing

All 37 articles in this category Follow this category by RSS

IT & Networks

All 18 articles in this category Follow this category by RSS

Music Production

All 17 articles in this category Follow this category by RSS

Raspberry PI

Follow this category by RSS

SaaS & Internet Earning

Follow this category by RSS

Smart Home

All 18 articles in this category Follow this category by RSS

Web Development

All 11 articles in this category Follow this category by RSS

WordPress Plugins & Tricks

All 14 articles in this category Follow this category by RSS