Journal · Playbook
Your Meta ad reports show zero. The data is still there
On August 6, 2026 Meta stopped returning device, hourly, and frequency breakdowns in Ads Manager unless the account opts in. The data still exists. One toggle per ad account brings it back.
Open Ads Manager. Add the frequency breakdown to any campaign report and set the date range to August 1 through August 20. You will get numbers through the 5th and empty rows after that.
Nothing broke. On August 6, Meta made three reporting breakdowns opt-in, one ad account at a time. If nobody on your account clicked the toggle, those reports now come back blank. The numbers are still on Meta's servers. You have to ask for them a second way, and Meta never sent a notice saying the asking had changed.
Three toggles, four minutes. That is the entire fix, and the exact clicks are at the bottom of this post.
Which three reports went dark
Meta's own developer documentation now carries the same line under all three, worded almost identically:
This breakdown may be unavailable for some ad accounts. If a synchronous request returns no results, the account administrator can opt in to this breakdown via Ads Manager, or you can retrieve the data through an asynchronous report job.
Here is what each one does for you.
| Ads Manager name | API field | What you lose without it |
|---|---|---|
| Device | impression_device |
Whether your ad landed on a phone, a desktop, or inside the Instagram app |
| Time of day | hourly_stats_aggregated_by_audience_time_zone |
What hours your clicks and purchases actually happen |
| Frequency | frequency_value |
How many times the same person saw the same ad |
Read that documentation line again, because it contains good news most of the coverage skipped. The data was not deleted. A synchronous request returns nothing, but an asynchronous report job still returns the full history. Meta made you ask twice.
Why did nothing warn you?
Because a request for the device breakdown still succeeds.
Your dashboard asks Meta for the numbers. Meta answers with a success code and an empty list. No error message. No email. Every reporting tool that pulls from Meta, from a $9 a month spreadsheet connector up to whatever your agency built, receives that empty list and renders it as a row of zeros.
A report that returns zero and a report that returns nothing look identical on a dashboard. Only one of them is true.
This is the third time in three months Meta has changed a number without changing the label around it. In June, your Facebook reach figure changed what it counted. In July, Meta added a location fee and kept it out of Ads Manager. Same pattern each time. The label stays put and the number under it starts meaning something else.
Frequency is the one that will cost you money
The device and hour reports are useful. Frequency is the one that decides whether you waste a month of budget.
A pizza shop in Irvington runs one ad set at $25 a day inside a five mile radius. Over 28 days that is $700. At an $8.50 CPM, $700 buys roughly 82,000 impressions. Meta reaches about 11,800 people in that radius who fit the targeting.
82,000 impressions divided by 11,800 people is a frequency of 7.
The same 11,800 neighbors saw the same photo of the same pepperoni slice seven times in four weeks. Cost per click starts climbing in week three, the owner assumes the ad is bad, and he swaps the creative when the real problem is that his audience is small and he ran out of new faces.
A new photo will not fix that. I wrote about the impatient version of this mistake in stop killing your ads on day seven. The patient version is the opposite failure: leaving one creative running against a small radius until frequency hits 7 and everyone in the zip code is sick of you.
You cannot diagnose either one with the frequency column empty.
Anything above 3 in a 30 day window inside a tight radius means you need either a wider radius, a second creative, or a smaller daily budget. Under 2, you can spend more.
The other two are worth four minutes as well
A brewery taproom in Noblesville looked at its hourly breakdown last spring and found 61 percent of link clicks happening between 3 p.m. and 7 p.m., Thursday through Saturday. They set an ad schedule around those hours and stopped paying for Tuesday morning impressions nobody acted on.
A dental office in Carmel found 94 percent of its impressions on phones, and its booking form required pinch and zoom to fill out. That single number explained a year of bad conversion rates.
Neither shop would have found the problem this month. Both reports come back empty now.
Does your missing history come back?
Nobody outside Meta seems to know yet, and the people covering the change disagree.
Two of the trackers watching the change say history backfills within about a day of opting in. A third says it never backfills, and whatever range you cared about before you flipped the switch stays empty on that account forever.
Meta's documentation takes no position on it.
So treat the optimistic version as a maybe and act on the pessimistic one. Every day you leave the toggle off is a day you may never get back. If you flip it today, you lose at most two weeks of August. If you find this post in November, you may have lost the quarter.
Turn all three back on in four minutes
- Open Ads Manager and go to the reporting view, the one where you build a custom report rather than the campaign list.
- Find Additional Breakdowns in the breakdown menu.
- Switch on Device, Time of day, and Frequency.
- Repeat for every ad account you own. There is no bulk toggle in the standard interface, so an owner with a shop account and a second account for a location has to do both.
- Pull a report for August 1 through today and note whether the pre-August 6 rows filled back in. That answers the backfill question for your account, which is the only account you care about.
If someone manages ads for you, forward them this post and ask which of your accounts they have opted in. An agency running 40 accounts by hand has not finished, and the ones with the smallest budgets get done last. That is worth an email today rather than a surprise in October.
If your reporting runs through a connector into a spreadsheet or a dashboard, opting in through Ads Manager fixes that too. Same account, same permission.
The audience inside a five mile radius does not grow just because you spend more against it. Frequency is the number that tells you when you have met everybody, and for two weeks this month it has been telling a lot of Indianapolis shops nothing at all. If you want a second pair of eyes on what your ad account is actually reporting, that is a conversation we are happy to have.
Sources
| # | Source | What it backed up |
|---|---|---|
| 1 | Insights API Breakdowns, Meta for Developers | The opt-in language carried under all three breakdowns, the August 6, 2026 effective date, and the asynchronous report job still returning data. |
| 2 | Meta Device Report Might Have Quietly Gone to Zero, AdBeacon | The HTTP 200 with an empty data array, the per-account opt-in with no bulk toggle, and smaller advertisers being hit hardest. |
| 3 | Meta Ads Breakdown Deprecation, Elevarus | The claim that data does not backfill and pre-opt-in ranges stay empty. |
| 4 | Meta Ads Updates: August 2026 Changelog, AdMake AI | The August 6 date, the Additional Breakdowns location, the feature-settings endpoint, and the competing claim that history does backfill. |
| 5 | Your Facebook reach number changed this month, Luminest | The June 2026 reach redefinition, the first of the three silent label changes counted here. |